@origintrail-official/dkg-agent 10.0.17 → 10.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authority-index-bootstrap.d.ts +13 -0
- package/dist/authority-index-bootstrap.d.ts.map +1 -0
- package/dist/authority-index-bootstrap.js +38 -0
- package/dist/authority-index-bootstrap.js.map +1 -0
- package/dist/authority-index-config.d.ts +55 -0
- package/dist/authority-index-config.d.ts.map +1 -1
- package/dist/authority-index-config.js +88 -1
- package/dist/authority-index-config.js.map +1 -1
- package/dist/bounded-map.d.ts +3 -0
- package/dist/bounded-map.d.ts.map +1 -0
- package/dist/bounded-map.js +15 -0
- package/dist/bounded-map.js.map +1 -0
- package/dist/chain-authority-read-budgets.d.ts +51 -0
- package/dist/chain-authority-read-budgets.d.ts.map +1 -0
- package/dist/chain-authority-read-budgets.js +74 -0
- package/dist/chain-authority-read-budgets.js.map +1 -0
- package/dist/chain-reconciler.d.ts +3 -1
- package/dist/chain-reconciler.d.ts.map +1 -1
- package/dist/chain-reconciler.js +46 -3
- package/dist/chain-reconciler.js.map +1 -1
- package/dist/confirmed-graph-scoped-vm-resolver.d.ts +7 -0
- package/dist/confirmed-graph-scoped-vm-resolver.d.ts.map +1 -1
- package/dist/confirmed-graph-scoped-vm-resolver.js +14 -2
- package/dist/confirmed-graph-scoped-vm-resolver.js.map +1 -1
- package/dist/context-graph-list-authority-enrichment.d.ts +35 -0
- package/dist/context-graph-list-authority-enrichment.d.ts.map +1 -1
- package/dist/context-graph-list-authority-enrichment.js +16 -0
- package/dist/context-graph-list-authority-enrichment.js.map +1 -1
- package/dist/context-graph-metadata-fact.d.ts +20 -0
- package/dist/context-graph-metadata-fact.d.ts.map +1 -0
- package/dist/context-graph-metadata-fact.js +21 -0
- package/dist/context-graph-metadata-fact.js.map +1 -0
- package/dist/context-graph-metadata-relocation.d.ts +84 -0
- package/dist/context-graph-metadata-relocation.d.ts.map +1 -0
- package/dist/context-graph-metadata-relocation.js +241 -0
- package/dist/context-graph-metadata-relocation.js.map +1 -0
- package/dist/context-graph-name-candidate.d.ts +38 -0
- package/dist/context-graph-name-candidate.d.ts.map +1 -0
- package/dist/context-graph-name-candidate.js +86 -0
- package/dist/context-graph-name-candidate.js.map +1 -0
- package/dist/context-graph-name-protocol.d.ts +56 -0
- package/dist/context-graph-name-protocol.d.ts.map +1 -0
- package/dist/context-graph-name-protocol.js +150 -0
- package/dist/context-graph-name-protocol.js.map +1 -0
- package/dist/context-graph-name-resolver.d.ts +212 -0
- package/dist/context-graph-name-resolver.d.ts.map +1 -0
- package/dist/context-graph-name-resolver.js +576 -0
- package/dist/context-graph-name-resolver.js.map +1 -0
- package/dist/context-graph-on-chain-reference.d.ts +113 -0
- package/dist/context-graph-on-chain-reference.d.ts.map +1 -0
- package/dist/context-graph-on-chain-reference.js +82 -0
- package/dist/context-graph-on-chain-reference.js.map +1 -0
- package/dist/context-graph-storage-discovery.d.ts +226 -0
- package/dist/context-graph-storage-discovery.d.ts.map +1 -0
- package/dist/context-graph-storage-discovery.js +531 -0
- package/dist/context-graph-storage-discovery.js.map +1 -0
- package/dist/context-graph-subscription-authority-recovery.d.ts.map +1 -1
- package/dist/context-graph-subscription-authority-recovery.js +8 -0
- package/dist/context-graph-subscription-authority-recovery.js.map +1 -1
- package/dist/core-hosted-public-cg-record-decision.d.ts +44 -3
- package/dist/core-hosted-public-cg-record-decision.d.ts.map +1 -1
- package/dist/core-hosted-public-cg-record-decision.js +25 -5
- package/dist/core-hosted-public-cg-record-decision.js.map +1 -1
- package/dist/dkg-agent-base.d.ts +116 -7
- package/dist/dkg-agent-base.d.ts.map +1 -1
- package/dist/dkg-agent-base.js +113 -7
- package/dist/dkg-agent-base.js.map +1 -1
- package/dist/dkg-agent-cg-chain-observation.d.ts +129 -0
- package/dist/dkg-agent-cg-chain-observation.d.ts.map +1 -0
- package/dist/dkg-agent-cg-chain-observation.js +299 -0
- package/dist/dkg-agent-cg-chain-observation.js.map +1 -0
- package/dist/dkg-agent-cg-name-resolution.d.ts +200 -0
- package/dist/dkg-agent-cg-name-resolution.d.ts.map +1 -0
- package/dist/dkg-agent-cg-name-resolution.js +736 -0
- package/dist/dkg-agent-cg-name-resolution.js.map +1 -0
- package/dist/dkg-agent-cg-on-chain-id.d.ts +92 -0
- package/dist/dkg-agent-cg-on-chain-id.d.ts.map +1 -0
- package/dist/dkg-agent-cg-on-chain-id.js +285 -0
- package/dist/dkg-agent-cg-on-chain-id.js.map +1 -0
- package/dist/dkg-agent-cg-registry.d.ts +9 -1
- package/dist/dkg-agent-cg-registry.d.ts.map +1 -1
- package/dist/dkg-agent-cg-registry.js +278 -116
- package/dist/dkg-agent-cg-registry.js.map +1 -1
- package/dist/dkg-agent-cg-resolve.d.ts +87 -13
- package/dist/dkg-agent-cg-resolve.d.ts.map +1 -1
- package/dist/dkg-agent-cg-resolve.js +184 -104
- package/dist/dkg-agent-cg-resolve.js.map +1 -1
- package/dist/dkg-agent-constants.d.ts +24 -1
- package/dist/dkg-agent-constants.d.ts.map +1 -1
- package/dist/dkg-agent-constants.js +24 -1
- package/dist/dkg-agent-constants.js.map +1 -1
- package/dist/dkg-agent-context-graph.d.ts +6 -5
- package/dist/dkg-agent-context-graph.d.ts.map +1 -1
- package/dist/dkg-agent-context-graph.js +66 -93
- package/dist/dkg-agent-context-graph.js.map +1 -1
- package/dist/dkg-agent-crypto.d.ts +20 -5
- package/dist/dkg-agent-crypto.d.ts.map +1 -1
- package/dist/dkg-agent-crypto.js +73 -17
- package/dist/dkg-agent-crypto.js.map +1 -1
- package/dist/dkg-agent-join.d.ts.map +1 -1
- package/dist/dkg-agent-join.js +1 -1
- package/dist/dkg-agent-join.js.map +1 -1
- package/dist/dkg-agent-lifecycle.d.ts +25 -3
- package/dist/dkg-agent-lifecycle.d.ts.map +1 -1
- package/dist/dkg-agent-lifecycle.js +273 -539
- package/dist/dkg-agent-lifecycle.js.map +1 -1
- package/dist/dkg-agent-publish.d.ts.map +1 -1
- package/dist/dkg-agent-publish.js +16 -2
- package/dist/dkg-agent-publish.js.map +1 -1
- package/dist/dkg-agent-query.d.ts +8 -3
- package/dist/dkg-agent-query.d.ts.map +1 -1
- package/dist/dkg-agent-query.js +32 -11
- package/dist/dkg-agent-query.js.map +1 -1
- package/dist/dkg-agent-registry.d.ts.map +1 -1
- package/dist/dkg-agent-registry.js +6 -1
- package/dist/dkg-agent-registry.js.map +1 -1
- package/dist/dkg-agent-rfc64-catalog.d.ts +11 -3
- package/dist/dkg-agent-rfc64-catalog.d.ts.map +1 -1
- package/dist/dkg-agent-rfc64-catalog.js +64 -83
- package/dist/dkg-agent-rfc64-catalog.js.map +1 -1
- package/dist/dkg-agent-rfc64-seed-fetch.js +1 -1
- package/dist/dkg-agent-rfc64-seed-fetch.js.map +1 -1
- package/dist/dkg-agent-swm-host.d.ts +59 -11
- package/dist/dkg-agent-swm-host.d.ts.map +1 -1
- package/dist/dkg-agent-swm-host.js +359 -99
- package/dist/dkg-agent-swm-host.js.map +1 -1
- package/dist/dkg-agent-swm-substrate.d.ts +4 -2
- package/dist/dkg-agent-swm-substrate.d.ts.map +1 -1
- package/dist/dkg-agent-swm-substrate.js +26 -9
- package/dist/dkg-agent-swm-substrate.js.map +1 -1
- package/dist/dkg-agent-types.d.ts +62 -1
- package/dist/dkg-agent-types.d.ts.map +1 -1
- package/dist/dkg-agent-types.js.map +1 -1
- package/dist/dkg-agent-vm-promotion.d.ts +217 -0
- package/dist/dkg-agent-vm-promotion.d.ts.map +1 -0
- package/dist/dkg-agent-vm-promotion.js +1212 -0
- package/dist/dkg-agent-vm-promotion.js.map +1 -0
- package/dist/dkg-agent.d.ts +62 -35
- package/dist/dkg-agent.d.ts.map +1 -1
- package/dist/dkg-agent.js +271 -116
- package/dist/dkg-agent.js.map +1 -1
- package/dist/finalization-handler.d.ts +63 -0
- package/dist/finalization-handler.d.ts.map +1 -1
- package/dist/finalization-handler.js +180 -8
- package/dist/finalization-handler.js.map +1 -1
- package/dist/finalization-recovery.d.ts +6 -0
- package/dist/finalization-recovery.d.ts.map +1 -1
- package/dist/finalization-recovery.js +21 -0
- package/dist/finalization-recovery.js.map +1 -1
- package/dist/finalized-authority-cold-resolution.d.ts +69 -0
- package/dist/finalized-authority-cold-resolution.d.ts.map +1 -0
- package/dist/finalized-authority-cold-resolution.js +129 -0
- package/dist/finalized-authority-cold-resolution.js.map +1 -0
- package/dist/gossip-publish-handler.d.ts +18 -0
- package/dist/gossip-publish-handler.d.ts.map +1 -1
- package/dist/gossip-publish-handler.js +38 -1
- package/dist/gossip-publish-handler.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/context-graph-authority/context-graph-access-policy.d.ts +6 -0
- package/dist/internal/context-graph-authority/context-graph-access-policy.d.ts.map +1 -1
- package/dist/internal/context-graph-authority/context-graph-access-policy.js +3 -3
- package/dist/internal/context-graph-authority/context-graph-access-policy.js.map +1 -1
- package/dist/internal/context-graph-authority/finalized-context-graph-access-policy.d.ts +84 -0
- package/dist/internal/context-graph-authority/finalized-context-graph-access-policy.d.ts.map +1 -0
- package/dist/internal/context-graph-authority/finalized-context-graph-access-policy.js +130 -0
- package/dist/internal/context-graph-authority/finalized-context-graph-access-policy.js.map +1 -0
- package/dist/internal/context-graph-authority/finalized-context-graph-binding.d.ts +52 -0
- package/dist/internal/context-graph-authority/finalized-context-graph-binding.d.ts.map +1 -0
- package/dist/internal/context-graph-authority/finalized-context-graph-binding.js +51 -0
- package/dist/internal/context-graph-authority/finalized-context-graph-binding.js.map +1 -0
- package/dist/ontology-binding-slot-classifier.d.ts +43 -0
- package/dist/ontology-binding-slot-classifier.d.ts.map +1 -0
- package/dist/ontology-binding-slot-classifier.js +80 -0
- package/dist/ontology-binding-slot-classifier.js.map +1 -0
- package/dist/p2p/ack-candidate-discovery.d.ts +35 -0
- package/dist/p2p/ack-candidate-discovery.d.ts.map +1 -0
- package/dist/p2p/ack-candidate-discovery.js +140 -0
- package/dist/p2p/ack-candidate-discovery.js.map +1 -0
- package/dist/p2p/connected-peer-ids.d.ts +12 -0
- package/dist/p2p/connected-peer-ids.d.ts.map +1 -0
- package/dist/p2p/connected-peer-ids.js +10 -0
- package/dist/p2p/connected-peer-ids.js.map +1 -0
- package/dist/p2p/local-storage-ack-transport.d.ts +17 -0
- package/dist/p2p/local-storage-ack-transport.d.ts.map +1 -0
- package/dist/p2p/local-storage-ack-transport.js +62 -0
- package/dist/p2p/local-storage-ack-transport.js.map +1 -0
- package/dist/p2p/messenger.d.ts +8 -0
- package/dist/p2p/messenger.d.ts.map +1 -1
- package/dist/p2p/messenger.js +30 -0
- package/dist/p2p/messenger.js.map +1 -1
- package/dist/p2p/network-admission-coordinator.d.ts +18 -0
- package/dist/p2p/network-admission-coordinator.d.ts.map +1 -1
- package/dist/p2p/network-admission-coordinator.js +25 -4
- package/dist/p2p/network-admission-coordinator.js.map +1 -1
- package/dist/p2p/network-admission.d.ts +6 -2
- package/dist/p2p/network-admission.d.ts.map +1 -1
- package/dist/p2p/network-admission.js +6 -1
- package/dist/p2p/network-admission.js.map +1 -1
- package/dist/p2p/peer-capability.d.ts +45 -0
- package/dist/p2p/peer-capability.d.ts.map +1 -0
- package/dist/p2p/peer-capability.js +95 -0
- package/dist/p2p/peer-capability.js.map +1 -0
- package/dist/p2p/peer-id.d.ts +18 -0
- package/dist/p2p/peer-id.d.ts.map +1 -1
- package/dist/p2p/peer-id.js +22 -0
- package/dist/p2p/peer-id.js.map +1 -1
- package/dist/p2p/protocol-readiness.d.ts +12 -0
- package/dist/p2p/protocol-readiness.d.ts.map +1 -1
- package/dist/p2p/protocol-readiness.js +27 -5
- package/dist/p2p/protocol-readiness.js.map +1 -1
- package/dist/p2p/storage-ack-endpoint.d.ts +40 -0
- package/dist/p2p/storage-ack-endpoint.d.ts.map +1 -0
- package/dist/p2p/storage-ack-endpoint.js +46 -0
- package/dist/p2p/storage-ack-endpoint.js.map +1 -0
- package/dist/p2p/storage-ack-registrar.d.ts +43 -0
- package/dist/p2p/storage-ack-registrar.d.ts.map +1 -0
- package/dist/p2p/storage-ack-registrar.js +289 -0
- package/dist/p2p/storage-ack-registrar.js.map +1 -0
- package/dist/p2p/storage-ack-registration-runtime.d.ts +55 -0
- package/dist/p2p/storage-ack-registration-runtime.d.ts.map +1 -0
- package/dist/p2p/storage-ack-registration-runtime.js +237 -0
- package/dist/p2p/storage-ack-registration-runtime.js.map +1 -0
- package/dist/registered-context-graph-authority.d.ts +21 -0
- package/dist/registered-context-graph-authority.d.ts.map +1 -1
- package/dist/registered-context-graph-participant-mutation.d.ts +46 -2
- package/dist/registered-context-graph-participant-mutation.d.ts.map +1 -1
- package/dist/registered-context-graph-participant-mutation.js +14 -5
- package/dist/registered-context-graph-participant-mutation.js.map +1 -1
- package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts +18 -6
- package/dist/rfc64/authority-rpc-circuit-breaker-v1.d.ts.map +1 -1
- package/dist/rfc64/authority-rpc-circuit-breaker-v1.js +10 -3
- package/dist/rfc64/authority-rpc-circuit-breaker-v1.js.map +1 -1
- package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts +42 -0
- package/dist/rfc64/catalog-operational-applied-heads-v1.d.ts.map +1 -0
- package/dist/rfc64/catalog-operational-applied-heads-v1.js +150 -0
- package/dist/rfc64/catalog-operational-applied-heads-v1.js.map +1 -0
- package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts +6 -0
- package/dist/rfc64/catalog-replay-snapshot-runtime-v1.d.ts.map +1 -1
- package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js +20 -4
- package/dist/rfc64/catalog-replay-snapshot-runtime-v1.js.map +1 -1
- package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.d.ts +13 -1
- package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.d.ts.map +1 -1
- package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.js +14 -2
- package/dist/rfc64/finalized-authority-snapshot-batch-runtime-v1.js.map +1 -1
- package/dist/rfc64/inventory-v1/candidate.d.ts +12 -1
- package/dist/rfc64/inventory-v1/candidate.d.ts.map +1 -1
- package/dist/rfc64/inventory-v1/candidate.js +36 -11
- package/dist/rfc64/inventory-v1/candidate.js.map +1 -1
- package/dist/rfc64/inventory-v1/open.js +6 -0
- package/dist/rfc64/inventory-v1/open.js.map +1 -1
- package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts +52 -0
- package/dist/rfc64/public-catalog-native-reconciler-v1.d.ts.map +1 -1
- package/dist/rfc64/public-catalog-native-reconciler-v1.js +140 -36
- package/dist/rfc64/public-catalog-native-reconciler-v1.js.map +1 -1
- package/dist/rfc64/public-catalog-receiver-v1.d.ts +13 -0
- package/dist/rfc64/public-catalog-receiver-v1.d.ts.map +1 -1
- package/dist/rfc64/public-catalog-receiver-v1.js +9 -0
- package/dist/rfc64/public-catalog-receiver-v1.js.map +1 -1
- package/dist/rfc64/public-catalog-service-v1.d.ts +5 -0
- package/dist/rfc64/public-catalog-service-v1.d.ts.map +1 -1
- package/dist/rfc64/public-catalog-service-v1.js +72 -7
- package/dist/rfc64/public-catalog-service-v1.js.map +1 -1
- package/dist/storage-ack-retention.d.ts +61 -0
- package/dist/storage-ack-retention.d.ts.map +1 -0
- package/dist/storage-ack-retention.js +146 -0
- package/dist/storage-ack-retention.js.map +1 -0
- package/dist/sync/backpressure.d.ts +11 -3
- package/dist/sync/backpressure.d.ts.map +1 -1
- package/dist/sync/backpressure.js +13 -3
- package/dist/sync/backpressure.js.map +1 -1
- package/dist/sync/error-tags.d.ts +13 -0
- package/dist/sync/error-tags.d.ts.map +1 -1
- package/dist/sync/error-tags.js +20 -0
- package/dist/sync/error-tags.js.map +1 -1
- package/dist/sync/on-connect/sync-on-connect-compat.d.ts +18 -0
- package/dist/sync/on-connect/sync-on-connect-compat.d.ts.map +1 -0
- package/dist/sync/on-connect/sync-on-connect-compat.js +31 -0
- package/dist/sync/on-connect/sync-on-connect-compat.js.map +1 -0
- package/dist/sync/on-connect/sync-on-connect.d.ts +14 -7
- package/dist/sync/on-connect/sync-on-connect.d.ts.map +1 -1
- package/dist/sync/on-connect/sync-on-connect.js +10 -21
- package/dist/sync/on-connect/sync-on-connect.js.map +1 -1
- package/dist/sync/policy.d.ts.map +1 -1
- package/dist/sync/policy.js +17 -6
- package/dist/sync/policy.js.map +1 -1
- package/dist/sync/requester/durable-sync.d.ts.map +1 -1
- package/dist/sync/requester/durable-sync.js +9 -1
- package/dist/sync/requester/durable-sync.js.map +1 -1
- package/dist/sync/requester/finalized-swm-twin-reconciliation.d.ts +2 -0
- package/dist/sync/requester/finalized-swm-twin-reconciliation.d.ts.map +1 -1
- package/dist/sync/requester/finalized-swm-twin-reconciliation.js +60 -9
- package/dist/sync/requester/finalized-swm-twin-reconciliation.js.map +1 -1
- package/dist/sync/responder/graph-plan.d.ts.map +1 -1
- package/dist/sync/responder/graph-plan.js +21 -6
- package/dist/sync/responder/graph-plan.js.map +1 -1
- package/dist/vm-promotion-audit.d.ts +97 -0
- package/dist/vm-promotion-audit.d.ts.map +1 -0
- package/dist/vm-promotion-audit.js +210 -0
- package/dist/vm-promotion-audit.js.map +1 -0
- package/package.json +15 -8
- package/dist/dkg-agent-apply-mixins.d.ts +0 -16
- package/dist/dkg-agent-apply-mixins.d.ts.map +0 -1
- package/dist/dkg-agent-apply-mixins.js +0 -24
- package/dist/dkg-agent-apply-mixins.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ContextGraphAuthorityIndexBootstrap } from '@origintrail-official/dkg-chain';
|
|
2
|
+
import { type AuthorityIndexSnapshotPlan } from './authority-index-config.js';
|
|
3
|
+
export interface AuthorityIndexBootstrapLog {
|
|
4
|
+
readonly info: (message: string) => void;
|
|
5
|
+
readonly warn: (message: string) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* The chain index bootstrap for a snapshot plan. Operator trust fails closed
|
|
9
|
+
* exactly as configured; only the network-relay default degrades to the
|
|
10
|
+
* local-history scan, and it reports that and the scan's progress.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createAuthorityIndexBootstrap(plan: AuthorityIndexSnapshotPlan, fetchSnapshot: ContextGraphAuthorityIndexBootstrap['fetchSnapshot'], log: AuthorityIndexBootstrapLog): ContextGraphAuthorityIndexBootstrap;
|
|
13
|
+
//# sourceMappingURL=authority-index-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority-index-bootstrap.d.ts","sourceRoot":"","sources":["../src/authority-index-bootstrap.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAA6B,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAIzG,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,0BAA0B,EAChC,aAAa,EAAE,mCAAmC,CAAC,eAAe,CAAC,EACnE,GAAG,EAAE,0BAA0B,GAC9B,mCAAmC,CAgBrC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
import { authorityIndexTrustDomain } from './authority-index-config.js';
|
|
3
|
+
const SCAN_PROGRESS_LOG_INTERVAL_MS = 30_000;
|
|
4
|
+
/**
|
|
5
|
+
* The chain index bootstrap for a snapshot plan. Operator trust fails closed
|
|
6
|
+
* exactly as configured; only the network-relay default degrades to the
|
|
7
|
+
* local-history scan, and it reports that and the scan's progress.
|
|
8
|
+
*/
|
|
9
|
+
export function createAuthorityIndexBootstrap(plan, fetchSnapshot, log) {
|
|
10
|
+
const bootstrap = {
|
|
11
|
+
maxTailBlocks: plan.config.maxTailBlocks,
|
|
12
|
+
trustDomain: authorityIndexTrustDomain(plan.config),
|
|
13
|
+
fetchSnapshot,
|
|
14
|
+
};
|
|
15
|
+
if (plan.source === 'operator')
|
|
16
|
+
return bootstrap;
|
|
17
|
+
return {
|
|
18
|
+
...bootstrap,
|
|
19
|
+
// No relay may answer; the edge must still bind graphs.
|
|
20
|
+
localHistoryFallback: true,
|
|
21
|
+
onLocalHistoryFallback: ({ scope, reason }) => log.warn(`[authority-index] no network relay supplied a snapshot for ${scope}; falling back to local history: ${reason}`),
|
|
22
|
+
onScanProgress: createScanProgressLogger(log.info),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** One line per scope per 30 s: a mainnet history scan pages for many minutes. */
|
|
26
|
+
function createScanProgressLogger(info) {
|
|
27
|
+
const lastLoggedAt = new Map();
|
|
28
|
+
return (progress) => {
|
|
29
|
+
const at = Date.now();
|
|
30
|
+
const last = lastLoggedAt.get(progress.scope);
|
|
31
|
+
if (last !== undefined && at - last < SCAN_PROGRESS_LOG_INTERVAL_MS)
|
|
32
|
+
return;
|
|
33
|
+
lastLoggedAt.set(progress.scope, at);
|
|
34
|
+
info(`[authority-index] scope=${progress.scope} scanned=${progress.scannedBlocks} `
|
|
35
|
+
+ `through=${progress.throughBlockNumber} behind=${progress.finalizedNumber - progress.throughBlockNumber}`);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=authority-index-bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority-index-bootstrap.js","sourceRoot":"","sources":["../src/authority-index-bootstrap.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAGtC,OAAO,EAAE,yBAAyB,EAAmC,MAAM,6BAA6B,CAAC;AAEzG,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAO7C;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAgC,EAChC,aAAmE,EACnE,GAA+B;IAE/B,MAAM,SAAS,GAAG;QAChB,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;QACxC,WAAW,EAAE,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC;QACnD,aAAa;KACd,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IACjD,OAAO;QACL,GAAG,SAAS;QACZ,wDAAwD;QACxD,oBAAoB,EAAE,IAAI;QAC1B,sBAAsB,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CACrD,8DAA8D,KAAK,oCAAoC,MAAM,EAAE,CAChH;QACD,cAAc,EAAE,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,SAAS,wBAAwB,CAC/B,IAA+B;IAE/B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,GAAG,IAAI,GAAG,6BAA6B;YAAE,OAAO;QAC5E,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,2BAA2B,QAAQ,CAAC,KAAK,YAAY,QAAQ,CAAC,aAAa,GAAG;cAC/E,WAAW,QAAQ,CAAC,kBAAkB,WAAW,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -18,4 +18,59 @@ export interface ResolvedAuthorityIndexConfig extends AuthorityIndexConfig {
|
|
|
18
18
|
* default would silently opt an embedder's unlabelled core out of that rule.
|
|
19
19
|
*/
|
|
20
20
|
export declare function resolveAuthorityIndexConfig(config: unknown, nodeRole: 'core' | 'edge'): ResolvedAuthorityIndexConfig | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* The persistence namespace of a trust set: its sorted PeerIDs, so moving a
|
|
23
|
+
* core to a new address keeps its imported prefix. Epoch zero preserves the
|
|
24
|
+
* original namespace; increasing it lets an operator discard a suspect
|
|
25
|
+
* imported prefix without changing peers.
|
|
26
|
+
*/
|
|
27
|
+
export declare function authorityIndexTrustDomain(config: ResolvedAuthorityIndexConfig): string;
|
|
28
|
+
/** The agent config fields that decide authority-index bootstrap; `DKGAgentConfig` satisfies it. */
|
|
29
|
+
export interface AuthorityIndexBootstrapInput {
|
|
30
|
+
/** The operator's `authorityIndex` block, raw or already resolved. */
|
|
31
|
+
readonly authorityIndex?: unknown;
|
|
32
|
+
readonly nodeRole?: 'core' | 'edge';
|
|
33
|
+
readonly chainAdapter?: unknown;
|
|
34
|
+
readonly chainConfig?: {
|
|
35
|
+
readonly operationalKeys?: readonly string[];
|
|
36
|
+
};
|
|
37
|
+
readonly localContextGraphAuthorityIndexStore?: unknown;
|
|
38
|
+
/** The network file's relay multiaddrs; see `DKGAgentConfig.networkRelays`. */
|
|
39
|
+
readonly networkRelays?: readonly string[];
|
|
40
|
+
}
|
|
41
|
+
export type AuthorityIndexBootstrapPlan = {
|
|
42
|
+
/** The operator's `authorityIndex` block: its pinned cores, failing closed. */
|
|
43
|
+
readonly source: 'operator';
|
|
44
|
+
readonly config: ResolvedAuthorityIndexConfig;
|
|
45
|
+
} | {
|
|
46
|
+
/**
|
|
47
|
+
* The edge default: the network file's relays, each pinned by the PeerID
|
|
48
|
+
* in its multiaddr, falling back to local history when none answers.
|
|
49
|
+
*/
|
|
50
|
+
readonly source: 'network-relays';
|
|
51
|
+
readonly config: ResolvedAuthorityIndexConfig;
|
|
52
|
+
} | {
|
|
53
|
+
/** No snapshot bootstrap: the index is scanned from chain history. */
|
|
54
|
+
readonly source: 'local-history';
|
|
55
|
+
readonly config?: undefined;
|
|
56
|
+
/** Why an edge without operator config does not seed from the network relays. */
|
|
57
|
+
readonly skipReason?: string;
|
|
58
|
+
};
|
|
59
|
+
/** A plan that seeds the index from trusted snapshots. */
|
|
60
|
+
export type AuthorityIndexSnapshotPlan = Exclude<AuthorityIndexBootstrapPlan, {
|
|
61
|
+
readonly source: 'local-history';
|
|
62
|
+
}>;
|
|
63
|
+
/**
|
|
64
|
+
* How an agent builds its authority index. The daemon plans from the config it
|
|
65
|
+
* hands `DKGAgent.create`, which plans again from the same config, so the
|
|
66
|
+
* startup line always describes the policy the agent runs.
|
|
67
|
+
*
|
|
68
|
+
* Operator config always wins and is never downgraded: without the agent's
|
|
69
|
+
* core-snapshot prerequisites it throws. An edge without operator config
|
|
70
|
+
* seeds from the network file's relays and falls back to local history. Only
|
|
71
|
+
* those relays are trusted: agent-registry profiles are unauthenticated
|
|
72
|
+
* gossip, and nothing binds a profile's PeerID to the staked identity it
|
|
73
|
+
* names. A core indexes its own chain history.
|
|
74
|
+
*/
|
|
75
|
+
export declare function planAuthorityIndexBootstrap(input: AuthorityIndexBootstrapInput): AuthorityIndexBootstrapPlan;
|
|
21
76
|
//# sourceMappingURL=authority-index-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authority-index-config.d.ts","sourceRoot":"","sources":["../src/authority-index-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authority-index-config.d.ts","sourceRoot":"","sources":["../src/authority-index-config.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,sCAAsC,EAC5C,MAAM,uCAAuC,CAAC;AAI/C,oEAAoE;AACpE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,eAAe,CAAC;IACtB,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;CAC3D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,4BAA4B,GAAG,SAAS,CA6C1C;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,4BAA4B,GAAG,MAAM,CAKtF;AAED,oGAAoG;AACpG,MAAM,WAAW,4BAA4B;IAC3C,sEAAsE;IACtE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IACxE,QAAQ,CAAC,oCAAoC,CAAC,EAAE,OAAO,CAAC;IACxD,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,MAAM,MAAM,2BAA2B,GACnC;IACA,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;CAC/C,GACC;IACA;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;CAC/C,GACC;IACA,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEJ,0DAA0D;AAC1D,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC,CAAC;AAEpH;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,4BAA4B,GAAG,2BAA2B,CAkB5G"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
import {
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
import { AUTHORITY_INDEX_SNAPSHOT_MAX_TRUSTED_PEERS, normalizeAuthorityIndexSnapshotConfig, } from './authority-index-snapshot-service.js';
|
|
3
4
|
const resolvedConfigs = new WeakSet();
|
|
4
5
|
/**
|
|
5
6
|
* `nodeRole` is required: this resolver's job includes rejecting cores, so a
|
|
@@ -52,4 +53,90 @@ export function resolveAuthorityIndexConfig(config, nodeRole) {
|
|
|
52
53
|
throw new TypeError(`authorityIndex: ${cause instanceof Error ? cause.message : String(cause)}`, { cause });
|
|
53
54
|
}
|
|
54
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* The persistence namespace of a trust set: its sorted PeerIDs, so moving a
|
|
58
|
+
* core to a new address keeps its imported prefix. Epoch zero preserves the
|
|
59
|
+
* original namespace; increasing it lets an operator discard a suspect
|
|
60
|
+
* imported prefix without changing peers.
|
|
61
|
+
*/
|
|
62
|
+
export function authorityIndexTrustDomain(config) {
|
|
63
|
+
const peerIds = config.snapshot.trustedCorePeers.map((peer) => peer.peerId).sort();
|
|
64
|
+
return createHash('sha256').update(JSON.stringify(config.cacheEpoch === 0 ? peerIds : { trustedCorePeers: peerIds, cacheEpoch: config.cacheEpoch })).digest('hex');
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* How an agent builds its authority index. The daemon plans from the config it
|
|
68
|
+
* hands `DKGAgent.create`, which plans again from the same config, so the
|
|
69
|
+
* startup line always describes the policy the agent runs.
|
|
70
|
+
*
|
|
71
|
+
* Operator config always wins and is never downgraded: without the agent's
|
|
72
|
+
* core-snapshot prerequisites it throws. An edge without operator config
|
|
73
|
+
* seeds from the network file's relays and falls back to local history. Only
|
|
74
|
+
* those relays are trusted: agent-registry profiles are unauthenticated
|
|
75
|
+
* gossip, and nothing binds a profile's PeerID to the staked identity it
|
|
76
|
+
* names. A core indexes its own chain history.
|
|
77
|
+
*/
|
|
78
|
+
export function planAuthorityIndexBootstrap(input) {
|
|
79
|
+
const nodeRole = input.nodeRole ?? 'edge';
|
|
80
|
+
const operatorConfig = resolveAuthorityIndexConfig(input.authorityIndex, nodeRole);
|
|
81
|
+
const unmet = unmetCoreSnapshotPrerequisite(input);
|
|
82
|
+
if (operatorConfig !== undefined) {
|
|
83
|
+
if (unmet !== undefined) {
|
|
84
|
+
throw new TypeError('authorityIndex core-snapshot mode requires a configured EVM chain and a local authority index store');
|
|
85
|
+
}
|
|
86
|
+
return Object.freeze({ source: 'operator', config: operatorConfig });
|
|
87
|
+
}
|
|
88
|
+
if (nodeRole !== 'edge')
|
|
89
|
+
return Object.freeze({ source: 'local-history' });
|
|
90
|
+
if (unmet !== undefined)
|
|
91
|
+
return Object.freeze({ source: 'local-history', skipReason: unmet });
|
|
92
|
+
const relays = pinnableNetworkRelays(input.networkRelays ?? []);
|
|
93
|
+
if (relays.length === 0) {
|
|
94
|
+
return Object.freeze({ source: 'local-history', skipReason: 'no network relay is available to seed from' });
|
|
95
|
+
}
|
|
96
|
+
const relayConfig = resolveAuthorityIndexConfig({ mode: 'core-snapshot', trustedCorePeers: relays }, 'edge');
|
|
97
|
+
return Object.freeze({ source: 'network-relays', config: relayConfig });
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Core-snapshot mode needs the agent to construct its own EVM adapter, so it
|
|
101
|
+
* installs the snapshot transport and trust namespace together, with
|
|
102
|
+
* operational keys and a durable local index store.
|
|
103
|
+
*/
|
|
104
|
+
function unmetCoreSnapshotPrerequisite(input) {
|
|
105
|
+
if (input.chainAdapter !== undefined) {
|
|
106
|
+
return 'the chain adapter is injected (such as the mock chain), not a configured EVM chain';
|
|
107
|
+
}
|
|
108
|
+
if (input.chainConfig === undefined)
|
|
109
|
+
return 'no EVM chain is configured';
|
|
110
|
+
if (!input.chainConfig.operationalKeys?.length)
|
|
111
|
+
return 'no operational key is configured';
|
|
112
|
+
if (input.localContextGraphAuthorityIndexStore === undefined) {
|
|
113
|
+
return 'no local authority index store is available';
|
|
114
|
+
}
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The network relays an explicit `trustedCorePeers` entry could name: first
|
|
119
|
+
* address per PeerID, at most eight. A network file may still list
|
|
120
|
+
* placeholder PeerIDs, which never become trust.
|
|
121
|
+
*/
|
|
122
|
+
function pinnableNetworkRelays(relays) {
|
|
123
|
+
const peerIds = new Set();
|
|
124
|
+
const pinnable = [];
|
|
125
|
+
for (const relay of relays) {
|
|
126
|
+
if (pinnable.length === AUTHORITY_INDEX_SNAPSHOT_MAX_TRUSTED_PEERS)
|
|
127
|
+
break;
|
|
128
|
+
let peerId;
|
|
129
|
+
try {
|
|
130
|
+
[{ peerId }] = normalizeAuthorityIndexSnapshotConfig({ trustedCorePeers: [relay] }).trustedCorePeers;
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
if (peerIds.has(peerId))
|
|
136
|
+
continue;
|
|
137
|
+
peerIds.add(peerId);
|
|
138
|
+
pinnable.push(relay);
|
|
139
|
+
}
|
|
140
|
+
return pinnable;
|
|
141
|
+
}
|
|
55
142
|
//# sourceMappingURL=authority-index-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authority-index-config.js","sourceRoot":"","sources":["../src/authority-index-config.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EACL,qCAAqC,GAEtC,MAAM,uCAAuC,CAAC;AAE/C,MAAM,eAAe,GAAG,IAAI,OAAO,EAAU,CAAC;AAkB9C;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAe,EACf,QAAyB;IAEzB,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CACjB,qCAAqC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cAC7D,sEAAsE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAuC,CAAC;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;IAC3F,CAAC;IACD,0EAA0E;IAC1E,8EAA8E;IAC9E,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAsC,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,qCAAqC,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,eAAwB;YAC9B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1F,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,UAAU;YACV,QAAQ,EAAE,UAAU;SACrB,CAAC;QACF,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,SAAS,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"authority-index-config.js","sourceRoot":"","sources":["../src/authority-index-config.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,0CAA0C,EAC1C,qCAAqC,GAEtC,MAAM,uCAAuC,CAAC;AAE/C,MAAM,eAAe,GAAG,IAAI,OAAO,EAAU,CAAC;AAkB9C;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAe,EACf,QAAyB;IAEzB,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CACjB,qCAAqC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cAC7D,sEAAsE,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAuC,CAAC;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;IAC3F,CAAC;IACD,0EAA0E;IAC1E,8EAA8E;IAC9E,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAsC,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,qCAAqC,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,eAAwB;YAC9B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1F,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,UAAU;YACV,QAAQ,EAAE,UAAU;SACrB,CAAC;QACF,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,SAAS,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAoC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACnF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAC/C,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CACjG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAuCD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAmC;IAC7E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC1C,MAAM,cAAc,GAAG,2BAA2B,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,SAAS,CAAC,qGAAqG,CAAC,CAAC;QAC7H,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,4CAA4C,EAAE,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,WAAW,GAAG,2BAA2B,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7G,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAY,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,SAAS,6BAA6B,CAAC,KAAmC;IACxE,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,oFAAoF,CAAC;IAC9F,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,4BAA4B,CAAC;IACzE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM;QAAE,OAAO,kCAAkC,CAAC;IAC1F,IAAI,KAAK,CAAC,oCAAoC,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,6CAA6C,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,MAAyB;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,0CAA0C;YAAE,MAAM;QAC1E,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,qCAAqC,CAAC,EAAE,gBAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC;QACvG,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounded-map.d.ts","sourceRoot":"","sources":["../src/bounded-map.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQ3F"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Bounded insertion-ordered memory shared by agent subsystems (the Context
|
|
2
|
+
// Graph name resolver's peer bookkeeping, the name-reveal verdict cache).
|
|
3
|
+
// Neutral so neither owns the other's helpers.
|
|
4
|
+
/** Insert as newest, evicting the oldest entries so at most `bound` remain. */
|
|
5
|
+
export function rememberBounded(map, key, value, bound) {
|
|
6
|
+
map.delete(key);
|
|
7
|
+
while (map.size >= bound) {
|
|
8
|
+
const oldest = map.keys().next().value;
|
|
9
|
+
if (oldest === undefined)
|
|
10
|
+
break;
|
|
11
|
+
map.delete(oldest);
|
|
12
|
+
}
|
|
13
|
+
map.set(key, value);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=bounded-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounded-map.js","sourceRoot":"","sources":["../src/bounded-map.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,+CAA+C;AAE/C,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAO,GAAc,EAAE,GAAM,EAAE,KAAQ,EAAE,KAAa;IACnF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM;QAChC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** Environment override for the request-scoped chain authority read deadline. */
|
|
2
|
+
export declare const CHAIN_AUTHORITY_READ_TIMEOUT_ENV = "DKG_CHAIN_AUTHORITY_READ_TIMEOUT_MS";
|
|
3
|
+
/** Environment override for the detached cold finalized-authority resolution budget. */
|
|
4
|
+
export declare const CHAIN_AUTHORITY_COLD_RESOLUTION_TIMEOUT_ENV = "DKG_CHAIN_AUTHORITY_COLD_RESOLUTION_TIMEOUT_MS";
|
|
5
|
+
/** Operator-facing keys, shared by the agent `chainConfig` and the CLI `chain` block. */
|
|
6
|
+
export interface ChainAuthorityReadBudgetsConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Deadline (ms) for one request-scoped on-chain authority read: liveness,
|
|
9
|
+
* access/publish policy, participant roster, and the finalized-index
|
|
10
|
+
* snapshot lookup that gates a query, share, or SWM sync decision. A read
|
|
11
|
+
* that misses it fails CLOSED for that request. Defaults to
|
|
12
|
+
* {@link CHAIN_POLICY_READ_TIMEOUT_MS} (2.5s).
|
|
13
|
+
*/
|
|
14
|
+
authorityReadTimeoutMs?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Budget (ms) for the detached cold finalized-authority resolution that keeps
|
|
17
|
+
* running after a request deadline trips, so its result reaches the chain
|
|
18
|
+
* reader's projection cache. Never resolved below `authorityReadTimeoutMs`.
|
|
19
|
+
* Defaults to {@link CHAIN_AUTHORITY_COLD_RESOLUTION_TIMEOUT_MS} (20s).
|
|
20
|
+
*/
|
|
21
|
+
authorityColdResolutionTimeoutMs?: number;
|
|
22
|
+
}
|
|
23
|
+
/** Resolved, validated deadlines every authority read on an agent shares. */
|
|
24
|
+
export interface ChainAuthorityReadBudgets {
|
|
25
|
+
readonly requestTimeoutMs: number;
|
|
26
|
+
readonly coldResolutionTimeoutMs: number;
|
|
27
|
+
}
|
|
28
|
+
/** Process defaults; the value every agent uses when nothing is configured. */
|
|
29
|
+
export declare const DEFAULT_CHAIN_AUTHORITY_READ_BUDGETS: ChainAuthorityReadBudgets;
|
|
30
|
+
/**
|
|
31
|
+
* Deadlines of an agent-like host. A production agent resolves them once at
|
|
32
|
+
* construction; a prototype-bound test host that never declared the field
|
|
33
|
+
* receives the package defaults, exactly as an unconfigured agent would.
|
|
34
|
+
*/
|
|
35
|
+
export declare function chainAuthorityReadBudgetsOf(host: {
|
|
36
|
+
readonly chainAuthorityReadBudgets?: ChainAuthorityReadBudgets;
|
|
37
|
+
}): ChainAuthorityReadBudgets;
|
|
38
|
+
/**
|
|
39
|
+
* Validate one explicitly configured deadline. Presence matters to callers:
|
|
40
|
+
* an explicit `null`, zero, fraction, or string is an operator error and must
|
|
41
|
+
* fail fast rather than silently fall back to the default.
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolveChainAuthorityTimeoutMs(value: unknown, label: string): number;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve the deadlines once per agent. Precedence per key: environment
|
|
46
|
+
* override, then explicit config, then the package default. The cold budget is
|
|
47
|
+
* floored at the request deadline: a cold flight that ended before the request
|
|
48
|
+
* it serves would only ever hand that request its own abort.
|
|
49
|
+
*/
|
|
50
|
+
export declare function resolveChainAuthorityReadBudgets(config?: ChainAuthorityReadBudgetsConfig | undefined, env?: NodeJS.ProcessEnv): ChainAuthorityReadBudgets;
|
|
51
|
+
//# sourceMappingURL=chain-authority-read-budgets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-authority-read-budgets.d.ts","sourceRoot":"","sources":["../src/chain-authority-read-budgets.ts"],"names":[],"mappings":"AAOA,iFAAiF;AACjF,eAAO,MAAM,gCAAgC,wCAAwC,CAAC;AACtF,wFAAwF;AACxF,eAAO,MAAM,2CAA2C,mDACN,CAAC;AAEnD,yFAAyF;AACzF,MAAM,WAAW,+BAA+B;IAC9C;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,gCAAgC,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED,6EAA6E;AAC7E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CAC1C;AAED,+EAA+E;AAC/E,eAAO,MAAM,oCAAoC,EAAE,yBAGjD,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE;IAAE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,yBAAyB,CAAA;CAAE,GACvE,yBAAyB,CAE3B;AAMD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpF;AAiBD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,GAAE,+BAA+B,GAAG,SAAqB,EAC/D,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,yBAAyB,CA8B3B"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
import { CHAIN_AUTHORITY_COLD_RESOLUTION_TIMEOUT_MS, CHAIN_POLICY_READ_TIMEOUT_MS, } from './dkg-agent-constants.js';
|
|
3
|
+
/** Environment override for the request-scoped chain authority read deadline. */
|
|
4
|
+
export const CHAIN_AUTHORITY_READ_TIMEOUT_ENV = 'DKG_CHAIN_AUTHORITY_READ_TIMEOUT_MS';
|
|
5
|
+
/** Environment override for the detached cold finalized-authority resolution budget. */
|
|
6
|
+
export const CHAIN_AUTHORITY_COLD_RESOLUTION_TIMEOUT_ENV = 'DKG_CHAIN_AUTHORITY_COLD_RESOLUTION_TIMEOUT_MS';
|
|
7
|
+
/** Process defaults; the value every agent uses when nothing is configured. */
|
|
8
|
+
export const DEFAULT_CHAIN_AUTHORITY_READ_BUDGETS = Object.freeze({
|
|
9
|
+
requestTimeoutMs: CHAIN_POLICY_READ_TIMEOUT_MS,
|
|
10
|
+
coldResolutionTimeoutMs: CHAIN_AUTHORITY_COLD_RESOLUTION_TIMEOUT_MS,
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* Deadlines of an agent-like host. A production agent resolves them once at
|
|
14
|
+
* construction; a prototype-bound test host that never declared the field
|
|
15
|
+
* receives the package defaults, exactly as an unconfigured agent would.
|
|
16
|
+
*/
|
|
17
|
+
export function chainAuthorityReadBudgetsOf(host) {
|
|
18
|
+
return host.chainAuthorityReadBudgets ?? DEFAULT_CHAIN_AUTHORITY_READ_BUDGETS;
|
|
19
|
+
}
|
|
20
|
+
function isPositiveSafeInteger(value) {
|
|
21
|
+
return typeof value === 'number' && Number.isSafeInteger(value) && value > 0;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Validate one explicitly configured deadline. Presence matters to callers:
|
|
25
|
+
* an explicit `null`, zero, fraction, or string is an operator error and must
|
|
26
|
+
* fail fast rather than silently fall back to the default.
|
|
27
|
+
*/
|
|
28
|
+
export function resolveChainAuthorityTimeoutMs(value, label) {
|
|
29
|
+
if (!isPositiveSafeInteger(value)) {
|
|
30
|
+
throw new TypeError(`${label} must be a positive integer (milliseconds)`);
|
|
31
|
+
}
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Same integer contract as `parseIntegerEnv` in `sync/backpressure.ts`: an
|
|
36
|
+
* absent, blank, or non-positive-integer environment value is ignored so a
|
|
37
|
+
* typo can never disable a security deadline or turn it into `NaN`.
|
|
38
|
+
*/
|
|
39
|
+
function readPositiveIntegerEnv(env, name) {
|
|
40
|
+
const raw = env[name]?.trim();
|
|
41
|
+
if (!raw)
|
|
42
|
+
return undefined;
|
|
43
|
+
const parsed = Number(raw);
|
|
44
|
+
return isPositiveSafeInteger(parsed) ? parsed : undefined;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Resolve the deadlines once per agent. Precedence per key: environment
|
|
48
|
+
* override, then explicit config, then the package default. The cold budget is
|
|
49
|
+
* floored at the request deadline: a cold flight that ended before the request
|
|
50
|
+
* it serves would only ever hand that request its own abort.
|
|
51
|
+
*/
|
|
52
|
+
export function resolveChainAuthorityReadBudgets(config = undefined, env = process.env) {
|
|
53
|
+
const configuredRequest = config !== undefined
|
|
54
|
+
&& Object.prototype.hasOwnProperty.call(config, 'authorityReadTimeoutMs')
|
|
55
|
+
&& config.authorityReadTimeoutMs !== undefined
|
|
56
|
+
? resolveChainAuthorityTimeoutMs(config.authorityReadTimeoutMs, 'chainConfig.authorityReadTimeoutMs')
|
|
57
|
+
: undefined;
|
|
58
|
+
const configuredCold = config !== undefined
|
|
59
|
+
&& Object.prototype.hasOwnProperty.call(config, 'authorityColdResolutionTimeoutMs')
|
|
60
|
+
&& config.authorityColdResolutionTimeoutMs !== undefined
|
|
61
|
+
? resolveChainAuthorityTimeoutMs(config.authorityColdResolutionTimeoutMs, 'chainConfig.authorityColdResolutionTimeoutMs')
|
|
62
|
+
: undefined;
|
|
63
|
+
const requestTimeoutMs = readPositiveIntegerEnv(env, CHAIN_AUTHORITY_READ_TIMEOUT_ENV)
|
|
64
|
+
?? configuredRequest
|
|
65
|
+
?? DEFAULT_CHAIN_AUTHORITY_READ_BUDGETS.requestTimeoutMs;
|
|
66
|
+
const coldResolutionTimeoutMs = readPositiveIntegerEnv(env, CHAIN_AUTHORITY_COLD_RESOLUTION_TIMEOUT_ENV)
|
|
67
|
+
?? configuredCold
|
|
68
|
+
?? DEFAULT_CHAIN_AUTHORITY_READ_BUDGETS.coldResolutionTimeoutMs;
|
|
69
|
+
return Object.freeze({
|
|
70
|
+
requestTimeoutMs,
|
|
71
|
+
coldResolutionTimeoutMs: Math.max(coldResolutionTimeoutMs, requestTimeoutMs),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=chain-authority-read-budgets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-authority-read-budgets.js","sourceRoot":"","sources":["../src/chain-authority-read-budgets.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EACL,0CAA0C,EAC1C,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAElC,iFAAiF;AACjF,MAAM,CAAC,MAAM,gCAAgC,GAAG,qCAAqC,CAAC;AACtF,wFAAwF;AACxF,MAAM,CAAC,MAAM,2CAA2C,GACtD,gDAAgD,CAAC;AA2BnD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,oCAAoC,GAA8B,MAAM,CAAC,MAAM,CAAC;IAC3F,gBAAgB,EAAE,4BAA4B;IAC9C,uBAAuB,EAAE,0CAA0C;CACpE,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAwE;IAExE,OAAO,IAAI,CAAC,yBAAyB,IAAI,oCAAoC,CAAC;AAChF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAc,EAAE,KAAa;IAC1E,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,4CAA4C,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,GAAsB,EACtB,IAAY;IAEZ,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAC9C,SAAsD,SAAS,EAC/D,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,iBAAiB,GAAG,MAAM,KAAK,SAAS;WACzC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC;WACtE,MAAM,CAAC,sBAAsB,KAAK,SAAS;QAC9C,CAAC,CAAC,8BAA8B,CAC5B,MAAM,CAAC,sBAAsB,EAC7B,oCAAoC,CACrC;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,cAAc,GAAG,MAAM,KAAK,SAAS;WACtC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,kCAAkC,CAAC;WAChF,MAAM,CAAC,gCAAgC,KAAK,SAAS;QACxD,CAAC,CAAC,8BAA8B,CAC5B,MAAM,CAAC,gCAAgC,EACvC,8CAA8C,CAC/C;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,GAAG,EAAE,gCAAgC,CAAC;WACjF,iBAAiB;WACjB,oCAAoC,CAAC,gBAAgB,CAAC;IAC3D,MAAM,uBAAuB,GAAG,sBAAsB,CACpD,GAAG,EACH,2CAA2C,CAC5C;WACI,cAAc;WACd,oCAAoC,CAAC,uBAAuB,CAAC;IAClE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,gBAAgB;QAChB,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;KAC7E,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -97,7 +97,9 @@ export interface ChainReconcilerDeps {
|
|
|
97
97
|
* after `confirmationDepth` blocks of real chain progress past observation
|
|
98
98
|
* (reorg-safe without a per-ordinal registration-block lookup).
|
|
99
99
|
*/
|
|
100
|
-
reconcileOrdinal: (localCgId: string, onChainCgId: bigint, ordinal: number, headBlock: number | undefined
|
|
100
|
+
reconcileOrdinal: (localCgId: string, onChainCgId: bigint, ordinal: number, headBlock: number | undefined, context?: {
|
|
101
|
+
readonly headOrdinal: number;
|
|
102
|
+
}) => Promise<OrdinalOutcome>;
|
|
101
103
|
/** Maximum ordinals attempted before yielding the global VM worker. */
|
|
102
104
|
maxOrdinalsPerPass?: number;
|
|
103
105
|
/** Maximum ordinal reconciliations allowed to run concurrently in one pass. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-reconciler.d.ts","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,KAAK,4BAA4B,GAClC,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;CAAE,GACvD;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,8BAA8B,CAAC;CACnD;AAED,MAAM,WAAW,4BAA4B;IAC3C,6EAA6E;IAC7E,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C,gFAAgF;IAChF,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC;;;;OAIG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA+BD,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD;;;;OAIG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAChD;;;;;;;OAOG;IACH,gBAAgB,EAAE,CAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"chain-reconciler.d.ts","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
|
package/dist/chain-reconciler.js
CHANGED
|
@@ -113,6 +113,22 @@ function planOrdinalPass(candidates, passLimit, requestedRecent, watermark) {
|
|
|
113
113
|
},
|
|
114
114
|
};
|
|
115
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Keep the verified completions of a pass that is about to reject. They wait
|
|
118
|
+
* in `ahead` like any out-of-order completion, and the next pass absorbs them
|
|
119
|
+
* through the usual contiguity and confirmation-depth gate. Without this, one
|
|
120
|
+
* ordinal that keeps throwing re-reads its settled siblings on every pass.
|
|
121
|
+
*/
|
|
122
|
+
function holdCompletedOrdinals(state, ordinals, outcomes) {
|
|
123
|
+
for (const ordinal of ordinals) {
|
|
124
|
+
const outcome = outcomes.get(ordinal);
|
|
125
|
+
if (outcome?.status !== 'reconciled' && outcome?.status !== 'already')
|
|
126
|
+
continue;
|
|
127
|
+
if (ordinal < state.watermark || state.ahead.has(ordinal))
|
|
128
|
+
continue;
|
|
129
|
+
state.ahead.set(ordinal, outcome.blockNumber);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
116
132
|
/**
|
|
117
133
|
* One bounded sweep slice for a single CG: reconcile up to
|
|
118
134
|
* `maxOrdinalsPerPass` ordinals in `[watermark, head)` (skipping ones already
|
|
@@ -192,6 +208,18 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
192
208
|
let nextOrdinalIndex = 0;
|
|
193
209
|
let workerFailed = false;
|
|
194
210
|
let workerError;
|
|
211
|
+
// Dispatch walks `ordinals` in ascending order, so every ordinal of this
|
|
212
|
+
// pass up to the highest one dispatched has an outcome or has thrown.
|
|
213
|
+
let highestDispatched;
|
|
214
|
+
// A rejected pass keeps what it proved: its completions wait in `ahead`,
|
|
215
|
+
// and the scan resumes past what it dispatched, so the ordinals that threw
|
|
216
|
+
// or stayed pending are retried with the next cycle like any other gap.
|
|
217
|
+
const keepRejectedPassProgress = () => {
|
|
218
|
+
holdCompletedOrdinals(state, ordinals, outcomes);
|
|
219
|
+
if (highestDispatched === undefined)
|
|
220
|
+
return;
|
|
221
|
+
state.scanOrdinal = Math.max(state.watermark, Math.min(highestDispatched + 1, passPlan.historicalContinuationOrdinal));
|
|
222
|
+
};
|
|
195
223
|
const runOrdinalWorker = async () => {
|
|
196
224
|
// Contain failures instead of racing them: a thrown ordinal must not
|
|
197
225
|
// leave sibling workers running past this pass's lifetime (their network
|
|
@@ -209,7 +237,8 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
209
237
|
return;
|
|
210
238
|
}
|
|
211
239
|
const ordinal = ordinals[index];
|
|
212
|
-
|
|
240
|
+
highestDispatched = Math.max(highestDispatched ?? ordinal, ordinal);
|
|
241
|
+
const outcome = await deps.reconcileOrdinal(localCgId, onChainCgId, ordinal, headBlock, { headOrdinal: head });
|
|
213
242
|
processed += 1;
|
|
214
243
|
if (deps.isTargetCurrent && !(await deps.isTargetCurrent(localCgId, onChainCgId))) {
|
|
215
244
|
staleTarget = true;
|
|
@@ -227,8 +256,11 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
227
256
|
};
|
|
228
257
|
const workerCount = Math.min(ordinalConcurrency, ordinals.length);
|
|
229
258
|
await Promise.all(Array.from({ length: workerCount }, () => runOrdinalWorker()));
|
|
230
|
-
if (workerFailed)
|
|
259
|
+
if (workerFailed) {
|
|
260
|
+
if (!staleTarget)
|
|
261
|
+
keepRejectedPassProgress();
|
|
231
262
|
throw workerError;
|
|
263
|
+
}
|
|
232
264
|
const recoveryTargets = ordinals
|
|
233
265
|
.map((ordinal) => outcomes.get(ordinal))
|
|
234
266
|
.filter((outcome) => outcome?.status === 'pending' && outcome.recovery !== undefined)
|
|
@@ -240,7 +272,18 @@ export async function reconcileContextGraph(deps, state, localCgId, onChainCgId)
|
|
|
240
272
|
// ordinal order, so this changes latency rather than correctness.
|
|
241
273
|
.sort(passPlan.compareRecoveryTargets);
|
|
242
274
|
if (!staleTarget && recoveryTargets.length > 0 && deps.recoverPendingOrdinals) {
|
|
243
|
-
|
|
275
|
+
let recoveryResult;
|
|
276
|
+
try {
|
|
277
|
+
recoveryResult = await deps.recoverPendingOrdinals(localCgId, onChainCgId, recoveryTargets, headBlock);
|
|
278
|
+
}
|
|
279
|
+
catch (error) {
|
|
280
|
+
// Recovery is the longest await; keep progress only under the same binding.
|
|
281
|
+
const stillCurrent = !deps.isTargetCurrent
|
|
282
|
+
|| await Promise.resolve(deps.isTargetCurrent(localCgId, onChainCgId)).catch(() => false);
|
|
283
|
+
if (stillCurrent)
|
|
284
|
+
keepRejectedPassProgress();
|
|
285
|
+
throw error;
|
|
286
|
+
}
|
|
244
287
|
// Recovery is the longest await in the pass; the binding can be repaired
|
|
245
288
|
// while it runs. Outcomes recovered under the old binding must never
|
|
246
289
|
// advance or persist cursor state for the rebound CG, so re-check before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-reconciler.js","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chain-reconciler.js","sourceRoot":"","sources":["../src/chain-reconciler.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,4 +29,11 @@ export type ConfirmedGraphScopedVmResolution = {
|
|
|
29
29
|
* this resolver so they cannot apply different recognition rules.
|
|
30
30
|
*/
|
|
31
31
|
export declare function resolveConfirmedGraphScopedVm(store: TripleStore, input: ConfirmedGraphScopedVmResolutionInput): Promise<ConfirmedGraphScopedVmResolution>;
|
|
32
|
+
/**
|
|
33
|
+
* The same recognition without a chain read: the stored content must still
|
|
34
|
+
* verify against the root its own confirmed metadata recorded. The chain-driven
|
|
35
|
+
* sweep uses this to settle an ordinal whose VM copy is already confirmed
|
|
36
|
+
* locally, trusting the root that copy was confirmed at.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveLocallyConfirmedGraphScopedVm(store: TripleStore, input: Omit<ConfirmedGraphScopedVmResolutionInput, 'merkleRoot'>): Promise<ConfirmedGraphScopedVmResolution>;
|
|
32
39
|
//# sourceMappingURL=confirmed-graph-scoped-vm-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmed-graph-scoped-vm-resolver.d.ts","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAGL,KAAK,4CAA4C,EAClD,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAG3E,MAAM,WAAW,qCAAqC;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mCAAmC,GAC3C,UAAU,GACV,UAAU,GACV,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,gCAAgC,GACxC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,mCAAmC,CAAA;CAAE,GAClE;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,4CAA4C,CAAC;IACvD,KAAK,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACzD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAON;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,
|
|
1
|
+
{"version":3,"file":"confirmed-graph-scoped-vm-resolver.d.ts","sourceRoot":"","sources":["../src/confirmed-graph-scoped-vm-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAGL,KAAK,4CAA4C,EAClD,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAG3E,MAAM,WAAW,qCAAqC;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mCAAmC,GAC3C,UAAU,GACV,UAAU,GACV,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,MAAM,gCAAgC,GACxC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,mCAAmC,CAAA;CAAE,GAClE;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,4CAA4C,CAAC;IACvD,KAAK,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACzD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAON;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,gCAAgC,CAAC,CAE3C;AAED;;;;;GAKG;AACH,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,IAAI,CAAC,qCAAqC,EAAE,YAAY,CAAC,GAC/D,OAAO,CAAC,gCAAgC,CAAC,CAE3C"}
|