OverviewFilesCommitsIssuesDocsReleasesPeers

P2P-Hiverelay / test / fixtures / relaykernel-profile / seed-protocol-binary-v1.json

116 lines · json ref:
{
  "name": "seed-protocol-binary-v1",
  "description": "Pins HiveRelay seed protocol compact-encoding frames, decoded objects, and reject codes as the first binary conformance fixture.",
  "kind": "protocol-binary-conformance",
  "protocol": "hiverelay-seed",
  "version": 1,
  "messages": [
    {
      "id": "seed-request-v2-tail",
      "type": "seed-request",
      "value": {
        "appKey": "1111111111111111111111111111111111111111111111111111111111111111",
        "discoveryKeys": [
          "2222222222222222222222222222222222222222222222222222222222222222",
          "3333333333333333333333333333333333333333333333333333333333333333"
        ],
        "replicationFactor": 5,
        "geoPreference": [
          "NA",
          "EU"
        ],
        "maxStorageBytes": 123456789,
        "bountyRate": 7,
        "ttlSeconds": 86400,
        "publisherPubkey": "4444444444444444444444444444444444444444444444444444444444444444",
        "publisherSignature": "55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555",
        "revocable": false,
        "unseedFreezeMs": 60000,
        "durability": 1
      },
      "frameHex": "11111111111111111111111111111111111111111111111111111111111111110222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333050b5b224e41222c224555225dfe15cd5b0707fe8051010044444444444444444444444444444444444444444444444444444444444444445555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555500fd60ea01"
    },
    {
      "id": "seed-accept",
      "type": "seed-accept",
      "value": {
        "appKey": "1111111111111111111111111111111111111111111111111111111111111111",
        "relayPubkey": "6666666666666666666666666666666666666666666666666666666666666666",
        "region": "EU",
        "availableStorageBytes": 987654321,
        "relaySignature": "77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777"
      },
      "frameHex": "11111111111111111111111111111111111111111111111111111111111111116666666666666666666666666666666666666666666666666666666666666666024555feb168de3a77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777"
    },
    {
      "id": "seed-deny",
      "type": "seed-deny",
      "value": {
        "appKey": "1111111111111111111111111111111111111111111111111111111111111111",
        "relayPubkey": "6666666666666666666666666666666666666666666666666666666666666666",
        "reasonCode": "queued-for-review",
        "detail": "pending operator review",
        "relaySignature": "88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888"
      },
      "frameHex": "11111111111111111111111111111111111111111111111111111111111111116666666666666666666666666666666666666666666666666666666666666666117175657565642d666f722d7265766965771770656e64696e67206f70657261746f722072657669657788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888"
    },
    {
      "id": "unseed-request",
      "type": "unseed-request",
      "value": {
        "appKey": "1111111111111111111111111111111111111111111111111111111111111111",
        "timestamp": 1700000000000,
        "publisherPubkey": "4444444444444444444444444444444444444444444444444444444444444444",
        "publisherSignature": "99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999"
      },
      "frameHex": "1111111111111111111111111111111111111111111111111111111111111111ff0068e5cf8b010000444444444444444444444444444444444444444444444444444444444444444499999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999"
    }
  ],
  "malformed": [
    {
      "id": "seed-request-too-many-discovery-keys",
      "type": "seed-request",
      "frameHex": "111111111111111111111111111111111111111111111111111111111111111141",
      "expectedError": "too many discovery keys"
    },
    {
      "id": "seed-request-geo-too-large",
      "type": "seed-request",
      "frameHex": "11111111111111111111111111111111111111111111111111111111111111110003fd0108",
      "expectedError": "geoPreference too large"
    },
    {
      "id": "seed-accept-region-too-large",
      "type": "seed-accept",
      "frameHex": "1111111111111111111111111111111111111111111111111111111111111111666666666666666666666666666666666666666666666666666666666666666641",
      "expectedError": "region too large"
    },
    {
      "id": "seed-deny-detail-too-large",
      "type": "seed-deny",
      "frameHex": "1111111111111111111111111111111111111111111111111111111111111111666666666666666666666666666666666666666666666666666666666666666603626164fd0102",
      "expectedError": "detail too large"
    },
    {
      "id": "unseed-request-truncated",
      "type": "unseed-request",
      "frameHex": "1111111111111111111111111111111111111111111111111111111111111111ff0068e5cf8b010000",
      "expectedError": "malformed unseed request"
    }
  ],
  "encodeFailures": [
    {
      "id": "seed-deny-detail-too-large-outbound",
      "type": "seed-deny",
      "value": {
        "appKey": "1111111111111111111111111111111111111111111111111111111111111111",
        "relayPubkey": "6666666666666666666666666666666666666666666666666666666666666666",
        "reasonCode": "queued-for-review",
        "detail": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "relaySignature": "88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888"
      },
      "expectedError": "detail too large"
    }
  ]
}