@provian/agent-sdk 1.12.1 → 1.12.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 1.12.2
2
+
3
+ - Reuse verified protocol revisions across reads and restarts while freshly checking both chain providers before each operation. Preserve retirement, reorg and rate-limit checks.
4
+
1
5
  # @provian/agent-sdk release notes
2
6
 
3
7
  ## 1.12.1
@@ -22,4 +22,8 @@ export declare function resolveProtocolDeployment(rpcs: readonly [PointerRpc, Po
22
22
  * Callers verify finality separately and account for publication log order when
23
23
  * a receipt and a pointer change occur within the same block. */
24
24
  export declare function resolveHistoricalProtocolDeployment(rpcs: readonly [PointerRpc, PointerRpc], pointer: string, pointerRuntimeHash: string, block: number, blockHash: string): Promise<ProtocolDeployment>;
25
+ /** Immutable component verification can be reused only while both providers
26
+ * still prove the same pointer manifest. This refreshes the hash-pinned read
27
+ * context without re-reading every component's bytecode and immutable links. */
28
+ export declare function confirmProtocolDeployment(rpcs: readonly [PointerRpc, PointerRpc], verified: ProtocolDeployment, pointerRuntimeHash: string): Promise<ProtocolDeployment | null>;
25
29
  //# sourceMappingURL=protocol-pointer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-pointer.d.ts","sourceRoot":"","sources":["../src/protocol-pointer.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,wJACqD,CAAC;AACtF,MAAM,MAAM,iBAAiB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvE;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAUD;;6DAE6D;AAC7D,wBAAsB,gCAAgC,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EAC5F,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAkBD;+FAC+F;AAC/F,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EACrF,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,SAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAEhG;AACD;;iEAEiE;AACjE,wBAAsB,mCAAmC,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EAC/F,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAG5G"}
1
+ {"version":3,"file":"protocol-pointer.d.ts","sourceRoot":"","sources":["../src/protocol-pointer.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,wJACqD,CAAC;AACtF,MAAM,MAAM,iBAAiB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvE;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAUD;;6DAE6D;AAC7D,wBAAsB,gCAAgC,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EAC5F,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAkBD;+FAC+F;AAC/F,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EACrF,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,SAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAEhG;AACD;;iEAEiE;AACjE,wBAAsB,mCAAmC,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EAC/F,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAG5G;AA4DD;;gFAEgF;AAChF,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EACrF,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA8B9F"}
@@ -4,6 +4,7 @@ exports.PROTOCOL_COMPONENTS = void 0;
4
4
  exports.assertNoRetiredProtocolAddresses = assertNoRetiredProtocolAddresses;
5
5
  exports.resolveProtocolDeployment = resolveProtocolDeployment;
6
6
  exports.resolveHistoricalProtocolDeployment = resolveHistoricalProtocolDeployment;
7
+ exports.confirmProtocolDeployment = confirmProtocolDeployment;
7
8
  const ethers_1 = require("ethers");
8
9
  exports.PROTOCOL_COMPONENTS = ['kernel', 'eligibilityVerifier', 'beneficiaryVerifier', 'escrow',
9
10
  'promises', 'projectPool', 'bonds', 'court', 'recoursePool', 'settlement'];
@@ -129,4 +130,46 @@ async function resolveDeployment(rpcs, pointer, pointerRuntimeHash, minimumRevis
129
130
  addresses: Object.fromEntries(exports.PROTOCOL_COMPONENTS.map((key, i) => [key, addresses[i]])),
130
131
  runtimeHashes: hashes };
131
132
  }
133
+ /** Immutable component verification can be reused only while both providers
134
+ * still prove the same pointer manifest. This refreshes the hash-pinned read
135
+ * context without re-reading every component's bytecode and immutable links. */
136
+ async function confirmProtocolDeployment(rpcs, verified, pointerRuntimeHash) {
137
+ if (quantity(await agreement(rpcs, 'eth_chainId', [])) !== 8453n)
138
+ throw Error('protocol_pointer_wrong_chain');
139
+ const heights = await Promise.all(rpcs.map(async (rpc) => quantity(await rpc.request('eth_blockNumber', []))));
140
+ const height = heights[0] < heights[1] ? heights[0] : heights[1];
141
+ const block = await agreement(rpcs, 'eth_getBlockByNumber', [`0x${height.toString(16)}`, false]);
142
+ if (!block || typeof block !== 'object' || !('hash' in block) || !('number' in block)
143
+ || quantity(block.number) !== height)
144
+ throw Error('protocol_pointer_invalid_block');
145
+ const blockHash = hex(block.hash);
146
+ if (blockHash.length !== 66)
147
+ throw Error('protocol_pointer_invalid_block');
148
+ const pin = { blockHash, requireCanonical: true };
149
+ const code = hex(await agreement(rpcs, 'eth_getCode', [verified.pointer, pin]));
150
+ if (code === '0x' || (0, ethers_1.keccak256)(code) !== pointerRuntimeHash.toLowerCase())
151
+ throw Error('protocol_pointer_runtime_mismatch');
152
+ const expected = iface.encodeFunctionResult('current', [verified.revision, verified.manifestHash,
153
+ exports.PROTOCOL_COMPONENTS.map(key => verified.addresses[key]), verified.runtimeHashes]).toLowerCase();
154
+ const data = iface.encodeFunctionData('current');
155
+ const encoded = hex(await agreement(rpcs, 'eth_call', [{ to: verified.pointer, data }, pin]));
156
+ const revision = BigInt(iface.decodeFunctionResult('current', encoded)[0]);
157
+ if (revision < verified.revision)
158
+ throw Error('protocol_pointer_rollback');
159
+ if (revision === verified.revision && encoded !== expected)
160
+ throw Error('protocol_pointer_manifest_mismatch');
161
+ if (encoded !== expected)
162
+ return null;
163
+ // The block at which full verification ran must still exist canonically.
164
+ const original = hex(await agreement(rpcs, 'eth_call', [{ to: verified.pointer, data },
165
+ { blockHash: verified.blockHash, requireCanonical: true }]));
166
+ if (original !== expected)
167
+ throw Error('protocol_pointer_reorg');
168
+ if (hex(await agreement(rpcs, 'eth_call', [{ to: verified.pointer, data }, 'latest'])) !== expected)
169
+ throw Error('protocol_pointer_changed');
170
+ const canonical = await agreement(rpcs, 'eth_getBlockByNumber', [`0x${height.toString(16)}`, false]);
171
+ if (!canonical || typeof canonical !== 'object' || !('hash' in canonical) || hex(canonical.hash) !== blockHash)
172
+ throw Error('protocol_pointer_reorg');
173
+ return { ...verified, blockHash };
174
+ }
132
175
  //# sourceMappingURL=protocol-pointer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-pointer.js","sourceRoot":"","sources":["../src/protocol-pointer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-pointer.js","sourceRoot":"","sources":["../src/protocol-pointer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import type { OwnerChainNetwork } from './recourse-owner-chain';
2
- import { type ProtocolDeployment } from './protocol-pointer';
3
- /** Synchronous display/encoding compatibility. Transaction entry points must
4
- * resolve afresh, and the signing boundary checks retirement independently. */
2
+ import type { ProtocolDeployment } from './protocol-pointer';
3
+ /** Display/encoding only. Every signing boundary freshly confirms on chain. */
5
4
  export declare function verifiedProtocolSnapshot(): ProtocolDeployment;
6
- /** Every signing operation obtains a fresh independent chain resolution. */
7
5
  export declare function currentProtocolDeployment(): Promise<ProtocolDeployment>;
8
6
  export declare function ownerChainNetwork(): OwnerChainNetwork;
9
7
  //# sourceMappingURL=protocol-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-runtime.d.ts","sourceRoot":"","sources":["../src/protocol-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,EAA8C,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKzG;+EAC+E;AAC/E,wBAAgB,wBAAwB,IAAI,kBAAkB,CAG7D;AAID,4EAA4E;AAC5E,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAQ7E;AAED,wBAAgB,iBAAiB,IAAI,iBAAiB,CAErD"}
1
+ {"version":3,"file":"protocol-runtime.d.ts","sourceRoot":"","sources":["../src/protocol-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,KAAK,EAAc,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAczE,+EAA+E;AAC/E,wBAAgB,wBAAwB,IAAI,kBAAkB,CAAkC;AAChG,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAiC;AAC/G,wBAAgB,iBAAiB,IAAI,iBAAiB,CAErD"}
@@ -6,32 +6,22 @@ exports.ownerChainNetwork = ownerChainNetwork;
6
6
  const protocol_rpc_1 = require("./protocol-rpc");
7
7
  const guarded_fetch_1 = require("./guarded-fetch");
8
8
  const protocol_pointer_pin_generated_1 = require("./protocol-pointer-pin.generated");
9
- const protocol_pointer_1 = require("./protocol-pointer");
9
+ const protocol_verification_1 = require("./protocol-verification");
10
+ const protocol_verification_store_1 = require("./protocol-verification-store");
10
11
  const urls = ['https://mainnet.base.org', 'https://base.drpc.org'];
11
- let minimumRevision = 0n;
12
- let lastVerifiedDeployment;
13
- /** Synchronous display/encoding compatibility. Transaction entry points must
14
- * resolve afresh, and the signing boundary checks retirement independently. */
15
- function verifiedProtocolSnapshot() {
16
- if (!lastVerifiedDeployment)
17
- throw new Error('protocol_pointer_resolution_required');
18
- return lastVerifiedDeployment;
19
- }
20
- function transport(url) {
21
- return (0, protocol_rpc_1.protocolRpc)(url, guarded_fetch_1.guardedFetch);
22
- }
23
- /** Every signing operation obtains a fresh independent chain resolution. */
24
- async function currentProtocolDeployment() {
12
+ let verification;
13
+ function transport(url) { return (0, protocol_rpc_1.protocolRpc)(url, guarded_fetch_1.guardedFetch); }
14
+ function verifier() {
25
15
  const { address, runtimeHash } = protocol_pointer_pin_generated_1.PROTOCOL_POINTER_PIN;
26
16
  if (!address || !runtimeHash)
27
17
  throw new Error('protocol_pointer_not_deployed');
28
- const deployment = await (0, protocol_pointer_1.resolveProtocolDeployment)([transport(urls[0]), transport(urls[1])], address, runtimeHash, minimumRevision);
29
- if (deployment.revision > minimumRevision)
30
- minimumRevision = deployment.revision;
31
- lastVerifiedDeployment = Object.freeze({ ...deployment, addresses: Object.freeze({ ...deployment.addresses }),
32
- runtimeHashes: Object.freeze([...deployment.runtimeHashes]) });
33
- return deployment;
18
+ return verification ?? (verification = (0, protocol_verification_1.createProtocolVerification)({ pointer: address, runtimeHash, operators: urls,
19
+ rpcs: [transport(urls[0]), transport(urls[1])],
20
+ store: (0, protocol_verification_store_1.protocolVerificationStore)(JSON.stringify([address, runtimeHash, urls, 'v1'])) }));
34
21
  }
22
+ /** Display/encoding only. Every signing boundary freshly confirms on chain. */
23
+ function verifiedProtocolSnapshot() { return verifier().snapshot(); }
24
+ async function currentProtocolDeployment() { return verifier().current(); }
35
25
  function ownerChainNetwork() {
36
26
  return { rpcs: [transport(urls[0]), transport(urls[1])], deployment: currentProtocolDeployment };
37
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-runtime.js","sourceRoot":"","sources":["../src/protocol-runtime.ts"],"names":[],"mappings":";;AAWA,4DAGC;AAKD,8DAQC;AAED,8CAEC;AA/BD,iDAA6C;AAE7C,mDAA+C;AAC/C,qFAAwE;AACxE,yDAAyG;AAEzG,MAAM,IAAI,GAAG,CAAC,0BAA0B,EAAE,uBAAuB,CAAU,CAAC;AAC5E,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,IAAI,sBAAsD,CAAC;AAC3D;+EAC+E;AAC/E,SAAgB,wBAAwB;IACtC,IAAI,CAAC,sBAAsB;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACrF,OAAO,sBAAsB,CAAC;AAChC,CAAC;AACD,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,IAAA,0BAAW,EAAC,GAAG,EAAE,4BAAY,CAAC,CAAC;AACxC,CAAC;AACD,4EAA4E;AACrE,KAAK,UAAU,yBAAyB;IAC7C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,qDAAoB,CAAC;IACtD,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,MAAM,IAAA,4CAAyB,EAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACpI,IAAI,UAAU,CAAC,QAAQ,GAAG,eAAe;QAAE,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC;IACjF,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QAC3G,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,yBAAyB,EAAE,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"protocol-runtime.js","sourceRoot":"","sources":["../src/protocol-runtime.ts"],"names":[],"mappings":";;AAmBA,4DAAgG;AAChG,8DAA+G;AAC/G,8CAEC;AAvBD,iDAA6C;AAE7C,mDAA+C;AAC/C,qFAAwE;AAExE,mEAAqE;AACrE,+EAA0E;AAE1E,MAAM,IAAI,GAAG,CAAC,0BAA0B,EAAE,uBAAuB,CAAU,CAAC;AAC5E,IAAI,YAAuE,CAAC;AAC5E,SAAS,SAAS,CAAC,GAAW,IAAgB,OAAO,IAAA,0BAAW,EAAC,GAAG,EAAE,4BAAY,CAAC,CAAC,CAAC,CAAC;AACtF,SAAS,QAAQ;IACf,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,qDAAoB,CAAC;IACtD,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/E,OAAO,YAAY,KAAZ,YAAY,GAAK,IAAA,kDAA0B,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI;QACjG,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,KAAK,EAAE,IAAA,uDAAyB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC;AAC5F,CAAC;AACD,+EAA+E;AAC/E,SAAgB,wBAAwB,KAAyB,OAAO,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACzF,KAAK,UAAU,yBAAyB,KAAkC,OAAO,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC/G,SAAgB,iBAAiB;IAC/B,OAAO,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,yBAAyB,EAAE,CAAC;AACnG,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ProtocolVerificationStore } from './protocol-verification';
2
+ /** Owner-only evidence, separate from wallet keys. Immutable per-revision files
3
+ * keep the high-water mark monotonic even when several CLI processes finish out
4
+ * of order. An interrupted write is never accepted as verification evidence. */
5
+ export declare function protocolVerificationStore(namespace: string, directory?: string): ProtocolVerificationStore;
6
+ //# sourceMappingURL=protocol-verification-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-verification-store.d.ts","sourceRoot":"","sources":["../src/protocol-verification-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE;;gFAEgF;AAChF,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,SAAuD,GAAG,yBAAyB,CA6DxJ"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.protocolVerificationStore = protocolVerificationStore;
4
+ const node_fs_1 = require("node:fs");
5
+ const promises_1 = require("node:fs/promises");
6
+ const node_os_1 = require("node:os");
7
+ const node_path_1 = require("node:path");
8
+ const node_crypto_1 = require("node:crypto");
9
+ /** Owner-only evidence, separate from wallet keys. Immutable per-revision files
10
+ * keep the high-water mark monotonic even when several CLI processes finish out
11
+ * of order. An interrupted write is never accepted as verification evidence. */
12
+ function protocolVerificationStore(namespace, directory = (0, node_path_1.join)((0, node_os_1.homedir)(), '.provian', 'protocol-verification')) {
13
+ const windows = process.platform === 'win32';
14
+ const key = (0, node_crypto_1.createHash)('sha256').update(namespace).digest('hex');
15
+ const root = (0, node_path_1.join)(directory, key);
16
+ async function syncDirectory(path) {
17
+ // Windows does not support flushing a read-only directory handle. File
18
+ // contents are still flushed before publication under the user's profile ACL.
19
+ if (windows)
20
+ return;
21
+ const handle = await (0, promises_1.open)(path, node_fs_1.constants.O_RDONLY);
22
+ try {
23
+ await handle.sync();
24
+ }
25
+ finally {
26
+ await handle.close();
27
+ }
28
+ }
29
+ async function prepare() {
30
+ await (0, promises_1.mkdir)(directory, { recursive: true, mode: 0o700 });
31
+ const parent = await (0, promises_1.lstat)((0, node_path_1.dirname)(directory));
32
+ if (!parent.isDirectory() || parent.isSymbolicLink() || (!windows && ((parent.mode & 0o022) !== 0
33
+ || (process.getuid && parent.uid !== process.getuid()))))
34
+ throw Error('protocol_cache_permissions');
35
+ await (0, promises_1.mkdir)(root, { mode: 0o700 }).catch((error) => {
36
+ if (error.code !== 'EEXIST')
37
+ throw error;
38
+ });
39
+ for (const path of [directory, root]) {
40
+ const stat = await (0, promises_1.lstat)(path);
41
+ if (!stat.isDirectory() || stat.isSymbolicLink() || (!windows && ((stat.mode & 0o077) !== 0
42
+ || (process.getuid && stat.uid !== process.getuid()))))
43
+ throw Error('protocol_cache_permissions');
44
+ }
45
+ await syncDirectory((0, node_path_1.dirname)(directory));
46
+ await syncDirectory(directory);
47
+ }
48
+ return {
49
+ async load() {
50
+ await prepare();
51
+ const revisions = (await (0, promises_1.readdir)(root)).filter(name => /^[1-9][0-9]*\.json$/.test(name));
52
+ if (revisions.length === 0)
53
+ return null;
54
+ const latest = revisions.reduce((a, b) => BigInt(a.slice(0, -5)) > BigInt(b.slice(0, -5)) ? a : b);
55
+ const path = (0, node_path_1.join)(root, latest);
56
+ const before = await (0, promises_1.lstat)(path);
57
+ if (!before.isFile() || before.isSymbolicLink())
58
+ throw Error('protocol_cache_permissions');
59
+ const file = await (0, promises_1.open)(path, node_fs_1.constants.O_RDONLY | (windows ? 0 : node_fs_1.constants.O_NOFOLLOW));
60
+ try {
61
+ const stat = await file.stat();
62
+ if (!stat.isFile() || stat.ino !== before.ino || stat.dev !== before.dev || stat.size > 8192
63
+ || (!windows && ((stat.mode & 0o077) !== 0 || (process.getuid && stat.uid !== process.getuid()))))
64
+ throw Error('protocol_cache_permissions');
65
+ const value = await file.readFile('utf8');
66
+ const saved = JSON.parse(value);
67
+ if (!saved || typeof saved !== 'object' || !('revision' in saved)
68
+ || saved.revision !== latest.slice(0, -5))
69
+ throw Error('protocol_cache_invalid');
70
+ return value;
71
+ }
72
+ finally {
73
+ await file.close();
74
+ }
75
+ },
76
+ async save(revision, value) {
77
+ await prepare();
78
+ const temporary = (0, node_path_1.join)(root, `${(0, node_crypto_1.randomUUID)()}.tmp`);
79
+ const file = await (0, promises_1.open)(temporary, node_fs_1.constants.O_WRONLY | node_fs_1.constants.O_CREAT | node_fs_1.constants.O_EXCL, 0o600);
80
+ try {
81
+ await file.writeFile(value);
82
+ await file.sync();
83
+ }
84
+ finally {
85
+ await file.close();
86
+ }
87
+ try {
88
+ await (0, promises_1.link)(temporary, (0, node_path_1.join)(root, `${revision}.json`)).catch((error) => {
89
+ if (error.code !== 'EEXIST')
90
+ throw error;
91
+ });
92
+ await syncDirectory(root);
93
+ }
94
+ finally {
95
+ await (0, promises_1.unlink)(temporary);
96
+ await syncDirectory(root);
97
+ }
98
+ },
99
+ };
100
+ }
101
+ //# sourceMappingURL=protocol-verification-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-verification-store.js","sourceRoot":"","sources":["../src/protocol-verification-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type PointerRpc, type ProtocolDeployment } from './protocol-pointer';
2
+ /** This store is local trusted verification evidence, never relay-supplied data. */
3
+ export interface ProtocolVerificationStore {
4
+ load(): Promise<string | null>;
5
+ save(revision: bigint, value: string): Promise<void>;
6
+ }
7
+ export interface ProtocolVerificationOptions {
8
+ readonly pointer: string;
9
+ readonly runtimeHash: string;
10
+ readonly operators: readonly [string, string];
11
+ readonly rpcs: readonly [PointerRpc, PointerRpc];
12
+ readonly store: ProtocolVerificationStore;
13
+ readonly minimumRevision?: () => Promise<bigint>;
14
+ }
15
+ /** Only immutable verification is cached. Each operation confirms the pointer on
16
+ * both providers now, with no age-based window permitting stale signing. The
17
+ * original full-verification block remains the reorg anchor across restarts. */
18
+ export declare function createProtocolVerification(options: ProtocolVerificationOptions): {
19
+ current(): Promise<ProtocolDeployment>;
20
+ snapshot(): ProtocolDeployment;
21
+ };
22
+ //# sourceMappingURL=protocol-verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-verification.d.ts","sourceRoot":"","sources":["../src/protocol-verification.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEvE,oFAAoF;AACpF,MAAM,WAAW,yBAAyB;IACxC,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AACD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAmCD;;gFAEgF;AAChF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG;IAChF,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvC,QAAQ,IAAI,kBAAkB,CAAC;CAChC,CAsCA"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProtocolVerification = createProtocolVerification;
4
+ const ethers_1 = require("ethers");
5
+ const protocol_pointer_1 = require("./protocol-pointer");
6
+ const schema = 'protocol-verified-v1';
7
+ function freeze(value) {
8
+ return Object.freeze({ ...value, addresses: Object.freeze({ ...value.addresses }),
9
+ runtimeHashes: Object.freeze([...value.runtimeHashes]) });
10
+ }
11
+ function unpack(text, options) {
12
+ const value = JSON.parse(text);
13
+ if (!value || typeof value !== 'object')
14
+ throw Error('protocol_cache_invalid');
15
+ const saved = value;
16
+ if (saved.schema !== schema || saved.runtimeHash !== options.runtimeHash
17
+ || JSON.stringify(saved.operators) !== JSON.stringify(options.operators)
18
+ || saved.pointer !== (0, ethers_1.getAddress)(options.pointer) || typeof saved.revision !== 'string'
19
+ || !/^[1-9][0-9]*$/.test(saved.revision) || typeof saved.blockHash !== 'string'
20
+ || !/^0x[0-9a-f]{64}$/.test(saved.blockHash) || !Array.isArray(saved.runtimeHashes)
21
+ || saved.runtimeHashes.length !== protocol_pointer_1.PROTOCOL_COMPONENTS.length
22
+ || !saved.runtimeHashes.every(hash => typeof hash === 'string' && /^0x[0-9a-f]{64}$/.test(hash))
23
+ || !saved.addresses || typeof saved.addresses !== 'object')
24
+ throw Error('protocol_cache_invalid');
25
+ const entries = saved.addresses;
26
+ const addresses = protocol_pointer_1.PROTOCOL_COMPONENTS.map(key => {
27
+ const address = entries[key];
28
+ if (typeof address !== 'string')
29
+ throw Error('protocol_cache_invalid');
30
+ return (0, ethers_1.getAddress)(address);
31
+ });
32
+ const revision = BigInt(saved.revision);
33
+ const manifestHash = (0, ethers_1.keccak256)(ethers_1.AbiCoder.defaultAbiCoder().encode(['uint256', 'address', 'uint256', 'address[10]', 'bytes32[10]'], [8453, options.pointer, revision, addresses, saved.runtimeHashes]));
34
+ if (manifestHash !== saved.manifestHash || new Set(addresses).size !== addresses.length)
35
+ throw Error('protocol_cache_invalid');
36
+ return freeze({ pointer: (0, ethers_1.getAddress)(options.pointer), revision, manifestHash, blockHash: saved.blockHash,
37
+ addresses: Object.fromEntries(protocol_pointer_1.PROTOCOL_COMPONENTS.map((key, i) => [key, addresses[i]])),
38
+ runtimeHashes: saved.runtimeHashes });
39
+ }
40
+ /** Only immutable verification is cached. Each operation confirms the pointer on
41
+ * both providers now, with no age-based window permitting stale signing. The
42
+ * original full-verification block remains the reorg anchor across restarts. */
43
+ function createProtocolVerification(options) {
44
+ let verified;
45
+ let current;
46
+ let minimumRevision = 0n;
47
+ let tail = Promise.resolve();
48
+ async function refresh() {
49
+ const floor = await options.minimumRevision?.() ?? 0n;
50
+ if (floor > minimumRevision)
51
+ minimumRevision = floor;
52
+ const stored = await options.store.load();
53
+ if (stored !== null) {
54
+ const saved = unpack(stored, options);
55
+ if (!verified || saved.revision > verified.revision)
56
+ verified = saved;
57
+ if (saved.revision > minimumRevision)
58
+ minimumRevision = saved.revision;
59
+ }
60
+ if (verified && verified.revision < minimumRevision)
61
+ verified = undefined;
62
+ const confirmed = verified ? await (0, protocol_pointer_1.confirmProtocolDeployment)(options.rpcs, verified, options.runtimeHash) : null;
63
+ if (confirmed) {
64
+ current = freeze(confirmed);
65
+ return current;
66
+ }
67
+ const result = freeze(await (0, protocol_pointer_1.resolveProtocolDeployment)(options.rpcs, options.pointer, options.runtimeHash, minimumRevision));
68
+ minimumRevision = result.revision;
69
+ await options.store.save(result.revision, JSON.stringify({ ...result, revision: result.revision.toString(),
70
+ schema, runtimeHash: options.runtimeHash, operators: options.operators }));
71
+ verified = result;
72
+ current = result;
73
+ return result;
74
+ }
75
+ return {
76
+ current() {
77
+ // Serialize callers: one full verification per revision, but a caller at
78
+ // a later signing boundary still gets its own fresh chain confirmation.
79
+ const work = tail.then(refresh);
80
+ tail = work.then(() => { }, () => { current = undefined; });
81
+ return work;
82
+ },
83
+ snapshot() {
84
+ if (!current)
85
+ throw Error('protocol_pointer_resolution_required');
86
+ return current;
87
+ },
88
+ };
89
+ }
90
+ //# sourceMappingURL=protocol-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-verification.js","sourceRoot":"","sources":["../src/protocol-verification.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -9,5 +9,5 @@
9
9
  * the moment the two drift — so bumping the package version without bumping this
10
10
  * is a build failure, not a silent skew.
11
11
  */
12
- export declare const SDK_VERSION = "1.12.1";
12
+ export declare const SDK_VERSION = "1.12.2";
13
13
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -12,5 +12,5 @@ exports.SDK_VERSION = void 0;
12
12
  * the moment the two drift — so bumping the package version without bumping this
13
13
  * is a build failure, not a silent skew.
14
14
  */
15
- exports.SDK_VERSION = '1.12.1';
15
+ exports.SDK_VERSION = '1.12.2';
16
16
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@provian/agent-sdk",
3
- "version": "1.12.1",
3
+ "version": "1.12.2",
4
4
  "description": "SDK for AI agents to connect to Provian Wallet via Cloud Relay",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",