/* eslint-disable */
// Generated by scripts/generate-blind-protocol-draft.mjs. Do not edit.
function deepFreeze (value) {
if (!value || typeof value !== 'object' || Object.isFrozen(value)) return value
for (const child of Object.values(value)) deepFreeze(child)
return Object.freeze(value)
}
export const PROTOCOL = deepFreeze({
"family": "hiverelay-blind",
"major": 1,
"minor": 0,
"mediaType": "application/vnd.hiverelay.blind-v1"
})
export const FRAME_KIND = deepFreeze({
"REQUEST": 1,
"RESPONSE": 2,
"ERROR": 3,
"STREAM": 4
})
export const FAMILY = deepFreeze({
"DESCRIBE": 1,
"CELL": 2,
"INBOX": 3,
"CORE": 4,
"FORWARD": 5
})
export const FAMILY_ROUTES = deepFreeze({
"1": "/api/blind/v1/describe",
"2": "/api/blind/v1/cell",
"3": "/api/blind/v1/inbox",
"4": "/api/blind/v1/core",
"5": "/api/blind/v1/forward"
})
export const OPERATION = deepFreeze({
"DESCRIBE": {
"GET": 1,
"CHALLENGE": 2,
"ADMISSION_PARAMETERS": 3
},
"CELL": {
"PUT": 1,
"GET": 2,
"RENEW": 3,
"DROP": 4,
"PROVE": 5,
"BATCH_GET": 6
},
"INBOX": {
"CREATE": 1,
"RENEW": 2,
"CLOSE": 3,
"APPEND": 4,
"READ": 5,
"WATCH": 6
},
"CORE": {
"MIRROR": 1,
"PROVE": 2,
"OPEN_REPLICATION": 3
},
"FORWARD": {
"OPEN": 1,
"DATA": 2,
"WINDOW": 3,
"CLOSE": 4
}
})
export const TRANSPORT_ID = deepFreeze({
"HTTPS_DIRECT": 1,
"DIRECT_PROTOMUX_NOISE": 2,
"OHTTP_INGRESS": 3,
"OHTTP_GATEWAY": 4,
"SPLIT_PROTOMUX_NOISE": 5,
"HTTP3_MASQUE": 6,
"TOR_V3_ONION": 7,
"WEBTRANSPORT_WEBSOCKET_TUNNEL": 8,
"MIX_PACKET_INGRESS": 9
})
export const TRANSPORT_SUPPORT = deepFreeze({
"DIRECT_HTTP": 1,
"DIRECT_NATIVE": 2,
"OHTTP": 4,
"TOR_HTTP": 8,
"TOR_NATIVE": 16,
"MASQUE_NATIVE": 32
})
export const ENDPOINT_LIMITS = deepFreeze({
"ROLE_BITS_MASK": 127,
"PRIVACY_PROFILE_BITS_MASK": 255,
"ENVELOPE_CLASS_BITS_MASK": 126,
"WIRE_CLASS_BITS_MASK": 14
})
export const PUBLIC_PROFILE_LIMITS = deepFreeze({
"CELL_SIZE_CLASS_BITS_MASK": 62,
"LEASE_CLASS_BITS_MASK": 30,
"ENABLED_OPERATION_BITS_MASK": 4194303,
"TRANSPORT_BITS_MASK": 1022,
"MAX_DESCRIPTOR_BYTES": 16384,
"MAX_DHT_POINTER_BYTES": 1000,
"MAX_RESPONSE_BYTES": 4194304,
"MAX_BATCH_COUNT": 64,
"MAX_ADMISSION_TOKEN_BYTES": 4096,
"MAX_ADMISSION_RESOURCE_COST_ROWS": 512,
"MAX_OHTTP_CONFIG_EPOCHS": 120
})
export const ADMISSION_CONFORMANCE_CLASS = deepFreeze({
"OPEN": 1,
"PRIVATE": 2
})
export const CELL_RECEIPT_RESULT = deepFreeze({
"STORED": 1,
"SERVED": 2,
"RENEWED": 3,
"DROPPED": 4
})
export const INBOX_MANAGE_OPERATION = deepFreeze({
"RENEW": 1,
"CLOSE": 2
})
export const INBOX_APPEND_AUTH_MODE = deepFreeze({
"OPEN_CAPABILITY": 0,
"SIGNATURE_REQUIRED": 1
})
export const INBOX_RECEIPT_RESULT = deepFreeze({
"CREATED": 1,
"RENEWED": 2,
"CLOSED": 3
})
export const INBOX_APPEND_RESULT = deepFreeze({
"STORED": 1
})
export const CORE_ACK_RESULT = deepFreeze({
"MIRROR_ACCEPTED": 1,
"RECENTLY_SERVED": 2
})
export const FORWARD_CLOSE_KIND = deepFreeze({
"FIN": 1,
"ABORT": 2
})
export const STORE_LIFECYCLE_STATE = deepFreeze({
"ACTIVE": 1,
"DRAINING": 2,
"RETIRED": 3
})
export const HEALTH_CLOCK_STATE = deepFreeze({
"READY": 1,
"UNSAFE": 2,
"VERIFYING": 3
})
export const HEALTH_INTEGRITY_STATE = deepFreeze({
"VERIFIED": 1,
"DEGRADED": 2,
"FAILED": 3
})
export const HEALTH_REBALANCE_STATE = deepFreeze({
"STABLE": 0,
"COPYING": 1,
"CATCHING_UP": 2,
"FENCED": 3
})
export const STREAM_TRANSITION = deepFreeze({
"UNARY": 0,
"CORE_CHILD": 1,
"FORWARD_OPEN": 2,
"FORWARD_ACTIVE": 3
})
export const DOMAIN_PURPOSE = deepFreeze({
"REQUEST_COMMITMENT": 1,
"RESULT_SIGNATURE": 2,
"AUXILIARY_SIGNATURE": 3
})
export const DOMAIN_RECIPE = deepFreeze({
"OPERATION_DEFINED_COMMITMENT_PREIMAGE": 1,
"ED25519_DOMAIN_LEN64_PAYLOAD": 2
})
export const REQUEST_COMMITMENT_DOMAIN_ID = deepFreeze({
"CELL_PUT": 1,
"CELL_GET": 2,
"CELL_RENEW": 3,
"CELL_DROP": 4,
"CELL_PROVE": 5,
"CELL_BATCH_GET": 6,
"INBOX_CREATE": 7,
"INBOX_RENEW": 8,
"INBOX_CLOSE": 9,
"INBOX_APPEND": 10,
"INBOX_READ": 11,
"INBOX_WATCH": 12,
"CORE_MIRROR": 13,
"CORE_SERVE": 14,
"CORE_OPEN_REPLICATION": 15,
"FORWARD_OPEN": 16
})
export const RESULT_SIGNATURE_DOMAIN_ID = deepFreeze({
"DESCRIPTOR": 101,
"HEALTH_RESULT": 102,
"ADMISSION_PARAMETERS": 103,
"CELL_RECEIPT": 104,
"BATCH_GET_RESULT": 105,
"INBOX_RECEIPT": 106,
"INBOX_APPEND_ACK": 107,
"INBOX_READ_RESULT": 108,
"CORE_ACK": 109,
"CORE_OPEN_RESULT": 110,
"FORWARD_OPEN_RESULT": 111
})
export const AUXILIARY_SIGNATURE_DOMAIN_ID = deepFreeze({
"OHTTP_KEY_CONFIG": 201,
"IDENTITY_TRANSITION": 202,
"DHT_POINTER": 203,
"TRANSPORT_ROUTE": 204,
"FORWARD_HOP_OPEN": 205,
"FORWARD_HOP_ACCEPT": 206,
"EXTERNAL_JOURNAL_TOPOLOGY": 207,
"EXTERNAL_COMMIT_WITNESS": 208,
"RESTORE_EVIDENCE_HEAD": 209,
"BACKUP_MANIFEST": 210,
"CLEAN_RESTORE_EVIDENCE": 211,
"BACKUP_RETENTION_TRANSITION": 212,
"FORWARD_ROUTE_SCOPE": 213
})
export const ERROR_PROFILE_ID = deepFreeze({
"CANONICAL_V1": 1
})
export const ERROR_RETRY_AFTER_MODE = deepFreeze({
"MUST_BE_ABSENT": 0,
"MUST_BE_PRESENT": 1
})
export const DOMAIN_REGISTRY = deepFreeze([
{
"domainId": 1,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1cell-put"
},
{
"domainId": 2,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1cell-get"
},
{
"domainId": 3,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1cell-renew"
},
{
"domainId": 4,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1cell-drop"
},
{
"domainId": 5,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1cell-prove"
},
{
"domainId": 6,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1cell-batch-get"
},
{
"domainId": 7,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1inbox-create"
},
{
"domainId": 8,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1inbox-renew"
},
{
"domainId": 9,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1inbox-close"
},
{
"domainId": 10,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1inbox-append"
},
{
"domainId": 11,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1inbox-read"
},
{
"domainId": 12,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1inbox-watch"
},
{
"domainId": 13,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1core-mirror"
},
{
"domainId": 14,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1core-serve"
},
{
"domainId": 15,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.request.v1core-open-replication"
},
{
"domainId": 16,
"purpose": 1,
"recipeId": 1,
"exactAsciiBytes": "hiverelay.blind.forward-open.v1"
},
{
"domainId": 101,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.descriptor.v1"
},
{
"domainId": 102,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.health-result.v1"
},
{
"domainId": 103,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.admission-parameters.v1"
},
{
"domainId": 104,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.cell-receipt.v1"
},
{
"domainId": 105,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.batch-get-result.v1"
},
{
"domainId": 106,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.inbox-receipt.v1"
},
{
"domainId": 107,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.inbox-append-ack.v1"
},
{
"domainId": 108,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.inbox-read-result.v1"
},
{
"domainId": 109,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.core-ack.v1"
},
{
"domainId": 110,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.core-open-result.v1"
},
{
"domainId": 111,
"purpose": 2,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.forward-open-result.v1"
},
{
"domainId": 201,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.ohttp-key-config.v1"
},
{
"domainId": 202,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.identity-transition.v1"
},
{
"domainId": 203,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.dht-pointer.v1"
},
{
"domainId": 204,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.transport-route.v1"
},
{
"domainId": 205,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.forward-hop-open.v1"
},
{
"domainId": 206,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.forward-hop-accept.v1"
},
{
"domainId": 207,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.external-journal-topology.v1"
},
{
"domainId": 208,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.external-commit-witness.v1"
},
{
"domainId": 209,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.restore-evidence-head.v1"
},
{
"domainId": 210,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.backup-manifest.v1"
},
{
"domainId": 211,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.clean-restore-evidence.v1"
},
{
"domainId": 212,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.backup-retention-transition.v1"
},
{
"domainId": 213,
"purpose": 3,
"recipeId": 2,
"exactAsciiBytes": "hiverelay.blind.forward-route-scope.v1"
}
])
export const ADMISSION_COST_RULES = deepFreeze([
{
"costClassRuleId": 1,
"ruleKind": 1
},
{
"costClassRuleId": 2,
"ruleKind": 2
},
{
"costClassRuleId": 3,
"ruleKind": 3
},
{
"costClassRuleId": 4,
"ruleKind": 4
},
{
"costClassRuleId": 5,
"ruleKind": 5
},
{
"costClassRuleId": 6,
"ruleKind": 6
},
{
"costClassRuleId": 7,
"ruleKind": 7
},
{
"costClassRuleId": 8,
"ruleKind": 8
},
{
"costClassRuleId": 9,
"ruleKind": 9
},
{
"costClassRuleId": 10,
"ruleKind": 10
},
{
"costClassRuleId": 11,
"ruleKind": 11
}
])
export const ERROR_PROFILE_ROWS = deepFreeze([
{
"errorProfileId": 1,
"code": 1,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 2,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 3,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 4,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 5,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 6,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 7,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 8,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 9,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 1,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 10,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 11,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 12,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 13,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 14,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 15,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 16,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 1,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 17,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 1,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 18,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 1,
"retryAfterMode": 1
},
{
"errorProfileId": 1,
"code": 19,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
},
{
"errorProfileId": 1,
"code": 20,
"directCorrelatedStatus": 200,
"protectedInnerStatus": 200,
"retryable": 0,
"retryAfterMode": 0
}
])
export const CELL_SIZE_CLASS = deepFreeze({
"1": 4096,
"2": 16384,
"3": 65536,
"4": 262144,
"5": 1048576
})
export const INBOX_FRAME_CLASS = deepFreeze({
"1": 4096,
"2": 16384,
"3": 65536
})
export const OUTER_CLASS = deepFreeze({
"1": 4096,
"2": 16384,
"3": 65536,
"4": 262144,
"5": 1048576,
"6": 8388608
})
export const STREAM_WIRE_CLASS = deepFreeze({
"1": 4096,
"2": 16384,
"3": 65535
})
export const FORWARD_CIRCUIT_CLASS = deepFreeze({
"1": {
"grantedInitialWindow": 65536,
"maxCircuitBytes": 16777216,
"idleMillis": 30000,
"lifetimeMillis": 600000
},
"2": {
"grantedInitialWindow": 262144,
"maxCircuitBytes": 67108864,
"idleMillis": 60000,
"lifetimeMillis": 1800000
},
"3": {
"grantedInitialWindow": 1048576,
"maxCircuitBytes": 268435456,
"idleMillis": 120000,
"lifetimeMillis": 3600000
}
})
export const CORE_SESSION_CLASS = deepFreeze({
"1": {
"maxSessionBytes": 16777216,
"idleMillis": 30000,
"lifetimeMillis": 600000
},
"2": {
"maxSessionBytes": 67108864,
"idleMillis": 60000,
"lifetimeMillis": 1800000
},
"3": {
"maxSessionBytes": 268435456,
"idleMillis": 120000,
"lifetimeMillis": 3600000
}
})
export const DISPATCH_LIMITS = deepFreeze({
"PREFIX_BYTES": 4,
"HEADER_BYTES": 41,
"REQUEST_ID_BYTES": 16,
"MAX_BODY_BYTES": 4194304,
"MAX_FRAME_AFTER_PREFIX_BYTES": 4194368,
"MAX_WIRE_BYTES": 4194372,
"MAX_FORWARD_DATA_BYTES": 65535,
"MAX_FORWARD_WINDOW_BYTES": 1048576
})
export const OPERATION_PROFILE_ROWS = deepFreeze([
{
"familyId": 1,
"operationId": 1,
"requestSchemaId": 16,
"resultSchemaId": 39,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 0,
"resultSignatureDomainId": 101,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 1,
"operationId": 2,
"requestSchemaId": 31,
"resultSchemaId": 32,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 0,
"resultSignatureDomainId": 102,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 1,
"operationId": 3,
"requestSchemaId": 9,
"resultSchemaId": 2,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 0,
"resultSignatureDomainId": 103,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 1,
"requestSchemaId": 68,
"resultSchemaId": 36,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 1056768,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 1,
"requestCommitmentDomainId": 1,
"resultSignatureDomainId": 104,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 2,
"requestSchemaId": 54,
"resultSchemaId": 53,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 1048832,
"admissionMode": 1,
"costClassRuleId": 2,
"requestCommitmentDomainId": 2,
"resultSignatureDomainId": 0,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 3,
"requestSchemaId": 71,
"resultSchemaId": 36,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 3,
"requestCommitmentDomainId": 3,
"resultSignatureDomainId": 104,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 4,
"requestSchemaId": 49,
"resultSchemaId": 36,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 4,
"resultSignatureDomainId": 104,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 5,
"requestSchemaId": 67,
"resultSchemaId": 66,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 1049600,
"admissionMode": 1,
"costClassRuleId": 2,
"requestCommitmentDomainId": 5,
"resultSignatureDomainId": 104,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 6,
"requestSchemaId": 8,
"resultSchemaId": 6,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 4194304,
"admissionMode": 1,
"costClassRuleId": 4,
"requestCommitmentDomainId": 6,
"resultSignatureDomainId": 105,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 1,
"requestSchemaId": 57,
"resultSchemaId": 62,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 5,
"requestCommitmentDomainId": 7,
"resultSignatureDomainId": 106,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 2,
"requestSchemaId": 58,
"resultSchemaId": 62,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 6,
"requestCommitmentDomainId": 8,
"resultSignatureDomainId": 106,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 3,
"requestSchemaId": 58,
"resultSchemaId": 62,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 9,
"resultSignatureDomainId": 106,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 4,
"requestSchemaId": 56,
"resultSchemaId": 55,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 70656,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 7,
"requestCommitmentDomainId": 10,
"resultSignatureDomainId": 107,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 5,
"requestSchemaId": 61,
"resultSchemaId": 59,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 4194304,
"admissionMode": 1,
"costClassRuleId": 4,
"requestCommitmentDomainId": 11,
"resultSignatureDomainId": 108,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 6,
"requestSchemaId": 63,
"resultSchemaId": 59,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 4194304,
"admissionMode": 2,
"costClassRuleId": 8,
"requestCommitmentDomainId": 12,
"resultSignatureDomainId": 108,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 4,
"operationId": 1,
"requestSchemaId": 43,
"resultSchemaId": 15,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 9,
"requestCommitmentDomainId": 13,
"resultSignatureDomainId": 109,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 4,
"operationId": 2,
"requestSchemaId": 46,
"resultSchemaId": 47,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 4194304,
"admissionMode": 1,
"costClassRuleId": 4,
"requestCommitmentDomainId": 14,
"resultSignatureDomainId": 109,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 4,
"operationId": 3,
"requestSchemaId": 45,
"resultSchemaId": 44,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 1,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 10,
"requestCommitmentDomainId": 15,
"resultSignatureDomainId": 110,
"errorProfileId": 1,
"transportSupportBits": 18
},
{
"familyId": 5,
"operationId": 1,
"requestSchemaId": 27,
"resultSchemaId": 26,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 2,
"maxRequestBodyBytes": 131072,
"maxResultBodyBytes": 131072,
"admissionMode": 2,
"costClassRuleId": 11,
"requestCommitmentDomainId": 16,
"resultSignatureDomainId": 111,
"errorProfileId": 1,
"transportSupportBits": 50
},
{
"familyId": 5,
"operationId": 2,
"requestSchemaId": 23,
"resultSchemaId": 0,
"allowedRequestKindBits": 8,
"allowedResultKindBits": 8,
"streamTransition": 3,
"maxRequestBodyBytes": 66000,
"maxResultBodyBytes": 66000,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 0,
"resultSignatureDomainId": 0,
"errorProfileId": 1,
"transportSupportBits": 50
},
{
"familyId": 5,
"operationId": 3,
"requestSchemaId": 30,
"resultSchemaId": 0,
"allowedRequestKindBits": 8,
"allowedResultKindBits": 8,
"streamTransition": 3,
"maxRequestBodyBytes": 1024,
"maxResultBodyBytes": 1024,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 0,
"resultSignatureDomainId": 0,
"errorProfileId": 1,
"transportSupportBits": 50
},
{
"familyId": 5,
"operationId": 4,
"requestSchemaId": 22,
"resultSchemaId": 0,
"allowedRequestKindBits": 8,
"allowedResultKindBits": 12,
"streamTransition": 3,
"maxRequestBodyBytes": 1024,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 0,
"resultSignatureDomainId": 0,
"errorProfileId": 1,
"transportSupportBits": 50
}
])
export const ADVERTISED_OPERATION_PROFILE_ROWS = deepFreeze([
{
"familyId": 1,
"operationId": 1,
"requestSchemaId": 16,
"resultSchemaId": 39,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 0,
"resultSignatureDomainId": 101,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 1,
"operationId": 2,
"requestSchemaId": 31,
"resultSchemaId": 32,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 0,
"resultSignatureDomainId": 102,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 1,
"operationId": 3,
"requestSchemaId": 9,
"resultSchemaId": 2,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 0,
"resultSignatureDomainId": 103,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 1,
"requestSchemaId": 68,
"resultSchemaId": 36,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 1056768,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 1,
"requestCommitmentDomainId": 1,
"resultSignatureDomainId": 104,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 2,
"requestSchemaId": 54,
"resultSchemaId": 53,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 1048832,
"admissionMode": 1,
"costClassRuleId": 2,
"requestCommitmentDomainId": 2,
"resultSignatureDomainId": 0,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 3,
"requestSchemaId": 71,
"resultSchemaId": 36,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 3,
"requestCommitmentDomainId": 3,
"resultSignatureDomainId": 104,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 4,
"requestSchemaId": 49,
"resultSchemaId": 36,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 4,
"resultSignatureDomainId": 104,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 5,
"requestSchemaId": 67,
"resultSchemaId": 66,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 1049600,
"admissionMode": 1,
"costClassRuleId": 2,
"requestCommitmentDomainId": 5,
"resultSignatureDomainId": 104,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 2,
"operationId": 6,
"requestSchemaId": 8,
"resultSchemaId": 6,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 4194304,
"admissionMode": 1,
"costClassRuleId": 4,
"requestCommitmentDomainId": 6,
"resultSignatureDomainId": 105,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 1,
"requestSchemaId": 57,
"resultSchemaId": 62,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 5,
"requestCommitmentDomainId": 7,
"resultSignatureDomainId": 106,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 2,
"requestSchemaId": 58,
"resultSchemaId": 62,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 6,
"requestCommitmentDomainId": 8,
"resultSignatureDomainId": 106,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 3,
"requestSchemaId": 58,
"resultSchemaId": 62,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 0,
"costClassRuleId": 0,
"requestCommitmentDomainId": 9,
"resultSignatureDomainId": 106,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 4,
"requestSchemaId": 56,
"resultSchemaId": 55,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 70656,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 7,
"requestCommitmentDomainId": 10,
"resultSignatureDomainId": 107,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 5,
"requestSchemaId": 61,
"resultSchemaId": 59,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 4194304,
"admissionMode": 1,
"costClassRuleId": 4,
"requestCommitmentDomainId": 11,
"resultSignatureDomainId": 108,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 3,
"operationId": 6,
"requestSchemaId": 63,
"resultSchemaId": 59,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 4194304,
"admissionMode": 2,
"costClassRuleId": 8,
"requestCommitmentDomainId": 12,
"resultSignatureDomainId": 108,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 4,
"operationId": 1,
"requestSchemaId": 43,
"resultSchemaId": 15,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 16384,
"admissionMode": 2,
"costClassRuleId": 9,
"requestCommitmentDomainId": 13,
"resultSignatureDomainId": 109,
"errorProfileId": 1,
"transportSupportBits": 31
},
{
"familyId": 4,
"operationId": 2,
"requestSchemaId": 46,
"resultSchemaId": 47,
"allowedRequestKindBits": 1,
"allowedResultKindBits": 6,
"streamTransition": 0,
"maxRequestBodyBytes": 16384,
"maxResultBodyBytes": 4194304,
"admissionMode": 1,
"costClassRuleId": 4,
"requestCommitmentDomainId": 14,
"resultSignatureDomainId": 109,
"errorProfileId": 1,
"transportSupportBits": 31
}
])
export const RESERVED_OPERATION_PAIRS = deepFreeze([
{
"familyId": 4,
"operationId": 3
},
{
"familyId": 5,
"operationId": 1
},
{
"familyId": 5,
"operationId": 2
},
{
"familyId": 5,
"operationId": 3
},
{
"familyId": 5,
"operationId": 4
}
])
export const ADVERTISED_OPERATION_BITS = 131071
export const RESERVED_OPERATION_BITS = 4063232
export const CLOCK_UNSAFE_OPERATION_BITS = 38440
export function domainRegistryEntry (domainId) {
return DOMAIN_REGISTRY.find(entry => entry.domainId === domainId) || null
}
export function admissionCostRule (costClassRuleId) {
return ADMISSION_COST_RULES.find(entry => entry.costClassRuleId === costClassRuleId) || null
}
export function errorProfileEntry (errorProfileId, code) {
return ERROR_PROFILE_ROWS.find(entry =>
entry.errorProfileId === errorProfileId && entry.code === code) || null
}
export function operationOrdinal (familyId, operationId) {
return OPERATION_PROFILE_ROWS.findIndex(row =>
row.familyId === familyId && row.operationId === operationId)
}
export function operationBit (familyId, operationId) {
const ordinal = operationOrdinal(familyId, operationId)
return ordinal < 0 ? 0 : 1 << ordinal
}
export function operationProfile (familyId, operationId) {
return OPERATION_PROFILE_ROWS.find(row =>
row.familyId === familyId && row.operationId === operationId) || null
}
export function isKnownOperation (familyId, operationId) {
return operationProfile(familyId, operationId) !== null
}
export function isReservedOperation (familyId, operationId) {
return RESERVED_OPERATION_PAIRS.some(row => row.familyId === familyId && row.operationId === operationId)
}
export function isAdvertisedOperation (familyId, operationId) {
return isKnownOperation(familyId, operationId) && !isReservedOperation(familyId, operationId)
}
export function assertAdvertisedOperation (familyId, operationId) {
const profile = operationProfile(familyId, operationId)
if (profile && !isReservedOperation(familyId, operationId)) return profile
const error = new Error('operation is unknown or reserved by the active release profile')
error.code = 'UNSUPPORTED_OPERATION'
throw error
}
export function familyName (familyId) {
return Object.entries(FAMILY).find(([, id]) => id === familyId)?.[0] || null
}
export function routeForFamily (familyId) {
return FAMILY_ROUTES[familyId] || null
}
export const WIRE_RUNTIME_AUTHORITY = deepFreeze({
"profile": "wire-authority-v1",
"protocolFamily": "hiverelay-blind",
"protocolMajor": 1,
"protocolMinor": 0,
"specArtifact": "docs/protocol/HIVERELAY-BLIND-WIRE-V1.md",
"abiArtifact": "packages/blind-protocol/hiverelay-blind-abi-v1.cenc",
"vectorManifestArtifact": "packages/blind-protocol/vector-manifest-v1.cenc",
"specHash": "c9ddd235c3963461174e3de13c25a4c995b53ff320be822d8304f870766b6592",
"abiHash": "199ba15d94d4d112cfac520a67055ce15ec870f0f6f7bd9adaaf47d552334567",
"vectorSetHash": "fa54012cd0d7e4e620878c67e61f435ecb31ddec05a6283917987cc84279ee05",
"wireSchemaCount": 73,
"operationCount": 22,
"advertisedOperationCount": 17,
"reservedOperationCount": 5,
"advertisedOperationBits": 131071,
"reservedOperationBits": 4063232,
"errorCount": 20,
"domainCount": 40,
"vectorCount": 237
})
export const WIRE_RUNTIME_AUTHORITY_STATUS = deepFreeze({
profile: WIRE_RUNTIME_AUTHORITY.profile,
specHash: WIRE_RUNTIME_AUTHORITY.specHash,
abiHash: WIRE_RUNTIME_AUTHORITY.abiHash,
vectorSetHash: WIRE_RUNTIME_AUTHORITY.vectorSetHash,
wireSchemaCount: WIRE_RUNTIME_AUTHORITY.wireSchemaCount,
operationCount: WIRE_RUNTIME_AUTHORITY.operationCount,
advertisedOperationCount: WIRE_RUNTIME_AUTHORITY.advertisedOperationCount,
reservedOperationCount: WIRE_RUNTIME_AUTHORITY.reservedOperationCount,
advertisedOperationBits: WIRE_RUNTIME_AUTHORITY.advertisedOperationBits,
reservedOperationBits: WIRE_RUNTIME_AUTHORITY.reservedOperationBits,
errorCount: WIRE_RUNTIME_AUTHORITY.errorCount,
domainCount: WIRE_RUNTIME_AUTHORITY.domainCount,
vectorCount: WIRE_RUNTIME_AUTHORITY.vectorCount,
releaseBlockers: [],
releaseReady: true
})
export function assertWireAuthorityReady () {
if (WIRE_RUNTIME_AUTHORITY_STATUS.releaseReady &&
WIRE_RUNTIME_AUTHORITY_STATUS.releaseBlockers.length === 0) {
return WIRE_RUNTIME_AUTHORITY_STATUS
}
const error = new Error('blind public WIRE authority is incomplete')
error.code = 'BLIND_WIRE_AUTHORITY_INCOMPLETE'
error.releaseBlockers = [...WIRE_RUNTIME_AUTHORITY_STATUS.releaseBlockers]
throw error
}
export const assertReleaseReady = assertWireAuthorityReady