OverviewFilesCommitsIssuesDocsReleasesPeers

P2P-Hiverelay / test / fixtures / relaykernel-profile / relaykernel-meta-profile-v1-opt-in-directory.json

194 lines · json ref:
{
  "name": "relaykernel-meta-profile-v1-opt-in-directory",
  "description": "Pins rk-meta separation of kernel channels, layer-2 capabilities, and opt-in public directory records.",
  "input": {
    "capabilityDoc": {
      "schemaVersion": 1,
      "pubkey": "abababababababababababababababababababababababababababababababab",
      "signature": {
        "v": 1,
        "sig": "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
      },
      "gatewayUrl": "https://relay.example",
      "region": "eu-west",
      "features": [
        "capability-doc",
        "seed-revocability",
        "seeding-registry",
        "circuit-relay",
        "custody"
      ]
    },
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "patch": 0
    },
    "capLimits": {
      "maxConcurrentLeases": 128,
      "maxStorageCap": 2147483648,
      "maxRetainHorizonSeconds": 2592000,
      "heartbeatIntervalSeconds": 180
    },
    "directoryOptIn": true,
    "directoryRateLimitSeconds": 600,
    "appCapabilities": [
      {
        "name": "custody-v1",
        "channel": "custody-v1",
        "version": 1,
        "owner": "custody-app",
        "discovery": "per-app"
      },
      {
        "name": "publish-v1",
        "channel": "publish-v1",
        "version": 1,
        "owner": "publish-app",
        "discovery": "per-app"
      }
    ],
    "directoryRecord": {
      "endpoint": "relay.example:49737",
      "feeSchedule": {
        "perGiBPerDay": 1200
      },
      "uptime": 12345
    }
  },
  "profile": {
    "kind": "relaykernel-meta-profile",
    "version": 1,
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "patch": 0
    },
    "relayPubkey": "abababababababababababababababababababababababababababababababab",
    "source": {
      "capabilityDocSigned": true,
      "capabilitySchemaVersion": 1
    },
    "meta": {
      "kernelChannels": [
        "rk-seed",
        "rk-proof",
        "rk-circuit",
        "rk-meta",
        "rk-accounting"
      ],
      "appCapabilities": [
        {
          "name": "custody-v1",
          "channel": "custody-v1",
          "version": 1,
          "owner": "custody-app",
          "discovery": "per-app"
        },
        {
          "name": "publish-v1",
          "channel": "publish-v1",
          "version": 1,
          "owner": "publish-app",
          "discovery": "per-app"
        }
      ],
      "advertisedCapabilities": [
        "rk-seed",
        "rk-proof",
        "rk-circuit",
        "rk-meta",
        "rk-accounting",
        "custody-v1",
        "publish-v1"
      ],
      "reservedAppCapabilityPrefixes": [
        "rk",
        "rk1",
        "rk2",
        "rk3",
        "rkp",
        "rkv",
        "rkc",
        "t1",
        "t2",
        "t3",
        "hiverelay",
        "relaykernel"
      ],
      "reservedAppCapabilities": [
        "rk-seed",
        "rk-proof",
        "rk-circuit",
        "rk-meta",
        "rk-accounting",
        "seed-request-v1",
        "relay-circuit-v1",
        "hiverelay-proof",
        "hiverelay-forward",
        "hiverelay-publish",
        "hiverelay-custody",
        "hiverelay-accounting",
        "circuit-relay",
        "proof-of-retrievability",
        "capability-meta",
        "os-accounting"
      ],
      "layer2CapabilitiesSeparated": true,
      "capLimits": {
        "maxConcurrentLeases": 128,
        "maxStorageCap": 2147483648,
        "maxRetainHorizonSeconds": 2592000,
        "heartbeatIntervalSeconds": 180,
        "nonceWindowSeconds": 3600
      }
    },
    "directory": {
      "optIn": true,
      "topic": "rk-directory-v1",
      "publicEnumerable": true,
      "rateLimitSeconds": 600,
      "record": {
        "relayPubkey": "abababababababababababababababababababababababababababababababab",
        "endpoint": "relay.example:49737",
        "capabilities": [
          "rk-seed",
          "rk-proof",
          "rk-circuit",
          "rk-meta",
          "rk-accounting",
          "custody-v1",
          "publish-v1"
        ],
        "capLimits": {
          "maxConcurrentLeases": 128,
          "maxStorageCap": 2147483648,
          "maxRetainHorizonSeconds": 2592000,
          "heartbeatIntervalSeconds": 180,
          "nonceWindowSeconds": 3600
        },
        "feeSchedule": {
          "perGiBPerDay": 1200
        },
        "region": "eu-west",
        "uptime": 12345,
        "payloadHash": "281ddd71b13cdcfcc543289d2334ce23c673281558b7a84271ceb92bdade899e",
        "domain": {
          "protocol": "relaykernel",
          "rolePrefix": "rk1",
          "channel": "rk-meta",
          "messageType": "directory-record",
          "messageVersion": 1,
          "signableHex": "5b226869766572656c61792d726f6c652d646f6d61696e2d7369676e61747572652d7631222c2272656c61796b65726e656c222c22726b31222c22726b2d6d657461222c226469726563746f72792d7265636f7264222c312c2232383164646437316231336364636663633534333238396432333334636532336336373332383135353862376138343237316365623932626461646538393965225d"
        }
      },
      "providedRecordIgnored": false
    }
  },
  "verdict": {
    "valid": true,
    "errors": [],
    "warnings": []
  }
}