@black-market/sdk 0.7.1 → 0.8.0

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.
Files changed (57) hide show
  1. package/README.md +58 -22
  2. package/dist/launch.d.ts +31 -5
  3. package/dist/launch.d.ts.map +1 -1
  4. package/dist/launch.js +71 -11
  5. package/dist/launch.js.map +1 -1
  6. package/dist/lifecycle/abi.d.ts +18 -0
  7. package/dist/lifecycle/abi.d.ts.map +1 -1
  8. package/dist/lifecycle/abi.js +4 -0
  9. package/dist/lifecycle/abi.js.map +1 -1
  10. package/dist/lifecycle/index.d.ts +2 -0
  11. package/dist/lifecycle/index.d.ts.map +1 -1
  12. package/dist/lifecycle/index.js +2 -0
  13. package/dist/lifecycle/index.js.map +1 -1
  14. package/dist/lifecycle/planner.d.ts +1 -1
  15. package/dist/lifecycle/planner.d.ts.map +1 -1
  16. package/dist/lifecycle/planner.js +58 -10
  17. package/dist/lifecycle/planner.js.map +1 -1
  18. package/dist/lifecycle/progress.js +35 -35
  19. package/dist/lifecycle/progress.js.map +1 -1
  20. package/dist/lifecycle/rpc.d.ts +10 -4
  21. package/dist/lifecycle/rpc.d.ts.map +1 -1
  22. package/dist/lifecycle/rpc.js +137 -16
  23. package/dist/lifecycle/rpc.js.map +1 -1
  24. package/dist/lifecycle/types.d.ts +20 -1
  25. package/dist/lifecycle/types.d.ts.map +1 -1
  26. package/dist/lifecycle/types.js.map +1 -1
  27. package/docs/launch-lifecycle.md +396 -64
  28. package/examples/.env.example +22 -2
  29. package/examples/README.md +315 -87
  30. package/examples/{launch-erc20-abyss.mjs → launch-erc20-abyss.ts} +1 -1
  31. package/examples/{launch-erc20-burn-mixed.mjs → launch-erc20-burn-mixed.ts} +1 -1
  32. package/examples/launch-erc20-depth-v4.ts +7 -0
  33. package/examples/{launch-erc20-dividends-abyss.mjs → launch-erc20-dividends-abyss.ts} +1 -1
  34. package/examples/launch-erc20-dividends-multiquote-mixed.ts +8 -0
  35. package/examples/launch-erc20-multi-quote.ts +8 -0
  36. package/examples/{launch-erc20-staking-v4.mjs → launch-erc20-staking-v4.ts} +1 -1
  37. package/examples/{launch-erc20-v4.mjs → launch-erc20-v4.ts} +1 -1
  38. package/examples/{launch-erc404-abyss.mjs → launch-erc404-abyss.ts} +1 -1
  39. package/examples/{launch-erc404-dividends-mixed.mjs → launch-erc404-dividends-mixed.ts} +1 -1
  40. package/examples/{launch-erc404-v4.mjs → launch-erc404-v4.ts} +1 -1
  41. package/examples/launch-example-kyber.ts +204 -0
  42. package/examples/launch-example-support.ts +876 -0
  43. package/examples/launch-example.ts +1163 -0
  44. package/examples/{launch-lifecycle-smoke.mjs → launch-lifecycle-smoke.ts} +1 -1
  45. package/examples/{launch.mjs → launch.ts} +1 -1
  46. package/package.json +2 -2
  47. package/src/launch.ts +81 -14
  48. package/src/lifecycle/abi.ts +4 -0
  49. package/src/lifecycle/index.ts +2 -0
  50. package/src/lifecycle/planner.ts +61 -12
  51. package/src/lifecycle/progress.ts +35 -35
  52. package/src/lifecycle/rpc.ts +140 -17
  53. package/src/lifecycle/types.ts +19 -1
  54. package/examples/launch-example-support.mjs +0 -393
  55. package/examples/launch-example.mjs +0 -633
  56. /package/examples/{generate-lifecycle-commitment-fixture.mjs → generate-lifecycle-commitment-fixture.ts} +0 -0
  57. /package/examples/{quickstart.mjs → quickstart.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/lifecycle/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/lifecycle/progress.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { type Abi, type Address, type Hex } from "viem";
2
- import { type LifecycleBlock, type LifecycleDiagnosticStage, type LifecycleLimitContext, type LifecycleLimitSource, type LifecycleLimits, type LifecycleRpcClient, type LifecycleTransaction, type ResolvedLifecycleLimits } from "./types.js";
2
+ import { type LifecycleBlock, type LifecycleDiagnosticStage, type LifecycleLimitContext, type LifecycleLimitSource, type LifecycleLimits, type LifecycleRpcClient, type LifecycleSessionCache, type LifecycleTransaction, type ResolvedLifecycleLimits } from "./types.js";
3
3
  import type { ProfileTopologyV1 } from "./schema.js";
4
- /** Internal callers join the same invocation; no process-wide/source-wide read cache. */
4
+ /** Opt in per caller/session; there is no global or transport-owned lifecycle cache. */
5
+ export declare function createLifecycleSessionCache(): LifecycleSessionCache;
6
+ /** Internal callers join the same invocation; only explicit static reads opt in to a session. */
5
7
  export declare function withLifecycleReadClient<T>(source: LifecycleRpcClient, work: (client: LifecycleRpcClient) => Promise<T>): Promise<T>;
6
8
  export declare function lifecycleSourceClient(client: LifecycleRpcClient): LifecycleRpcClient;
7
9
  /** Internal continuations cannot retain proof after their read owner settles. */
@@ -9,7 +11,9 @@ export declare function assertLifecycleReadClientOpen(client: LifecycleRpcClient
9
11
  /** No clock, event allocation or extra promise when diagnostics are disabled. */
10
12
  export declare function lifecycleStage<T>(client: LifecycleRpcClient, stage: LifecycleDiagnosticStage, work: () => Promise<T>): Promise<T>;
11
13
  /** Only explicitly pinned fixed-state reads may participate in invocation reuse. */
12
- export declare function lifecyclePinnedRpc(client: LifecycleRpcClient, method: "eth_call" | "eth_getCode" | "eth_getBalance", params: readonly unknown[], block: LifecycleBlock): Promise<unknown>;
14
+ export declare function lifecyclePinnedRpc(client: LifecycleRpcClient, method: "eth_call" | "eth_getCode" | "eth_getBalance", params: readonly unknown[], block: LifecycleBlock, staticRead?: boolean): Promise<unknown>;
15
+ /** Explicit SDK-owned static class only; balances and execution calls never use this path. */
16
+ export declare function lifecycleStaticRpc(client: LifecycleRpcClient, method: "eth_call" | "eth_getCode", params: readonly unknown[], block: LifecycleBlock): Promise<unknown>;
13
17
  export declare function lifecycleRpc(client: LifecycleRpcClient, method: string, params?: readonly unknown[]): Promise<unknown>;
14
18
  /** One invocation's observed identity. End-of-operation and submission checks
15
19
  * deliberately use uncached eth_chainId so a switched provider cannot retain proof. */
@@ -21,7 +25,9 @@ export declare function rpcQuantity(value: unknown, label: string): bigint;
21
25
  export declare function lifecycleFailureReason(failure: unknown): string;
22
26
  export declare function readLifecycleBlock(client: LifecycleRpcClient, tag?: Hex | "latest"): Promise<LifecycleBlock>;
23
27
  export declare function assertLifecycleBlock(client: LifecycleRpcClient, block: LifecycleBlock, expectedChainId?: bigint): Promise<void>;
24
- export declare function readLifecycleContract<T>(client: LifecycleRpcClient, to: Address, abi: Abi, functionName: string, args: readonly unknown[], block: LifecycleBlock, from?: Address): Promise<T>;
28
+ export declare function readLifecycleContract<T>(client: LifecycleRpcClient, to: Address, abi: Abi, functionName: string, args: readonly unknown[], block: LifecycleBlock, from?: Address, staticRead?: boolean): Promise<T>;
29
+ /** Certification/configuration getters, explicitly selected by their SDK callsite. */
30
+ export declare function readLifecycleStaticContract<T>(client: LifecycleRpcClient, to: Address, abi: Abi, functionName: string, args: readonly unknown[], block: LifecycleBlock, from?: Address): Promise<T>;
25
31
  /** A reviewed registry must supply topology; missing selectors never certify a profile. */
26
32
  export declare function readLifecycleProfileTopology(client: LifecycleRpcClient, registry: Address, profileId: Hex, block: LifecycleBlock): Promise<ProfileTopologyV1>;
27
33
  export declare const nitroArbSys = "0x0000000000000000000000000000000000000064";
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/lifecycle/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+E,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AACrI,OAAO,EAA0B,KAAK,cAAc,EAAmE,KAAK,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAExU,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAiHrD,yFAAyF;AACzF,wBAAsB,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAKzI;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAEpF;AAED,iFAAiF;AACjF,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAIjF;AASD,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAGjI;AAeD,oFAAoF;AACpF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,gBAAgB,EAAE,MAAM,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAG/L;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,SAAS,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhI;AACD;uFACuF;AACvF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAIhF;AACD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKhF;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAGzD;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED,0GAA0G;AAC1G,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAU/D;AACD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,GAAE,GAAG,GAAG,QAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAS5H;AACD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrI;AACD,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAUnM;AAED,2FAA2F;AAC3F,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAInK;AACD,eAAO,MAAM,WAAW,+CAA+C,CAAC;AACxE,eAAO,MAAM,YAAY,+CAA+C,CAAC;AACzE,eAAO,MAAM,kBAAkB,+CAA+C,CAAC;AAC/E,eAAO,MAAM,cAAc;;;;;;;;EAA+D,CAAC;AAC3F,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;EAA2H,CAAC;AAIxJ,8EAA8E;AAC9E,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,CAOtL;AASD,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,uBAAuB,CAAC;IAChC,aAAa,EAAE,eAAe,CAAC;IAC/B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF;gFACgF;AAChF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAIxI"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/lifecycle/rpc.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,46 @@ const diagnosticRpcMethods = {
7
7
  eth_getBalance: true, eth_call: true, eth_estimateGas: true, eth_gasPrice: true,
8
8
  eth_simulateV1: true, eth_getTransactionCount: true, eth_getTransactionReceipt: true, eth_getTransactionByHash: true,
9
9
  };
10
+ /** Private wire observations; callers can inspect the pin or discard it, never install values. */
11
+ class SessionLifecycleCache {
12
+ #group;
13
+ get block() { return this.#group?.block; }
14
+ invalidate() {
15
+ this.#group?.values.clear();
16
+ this.#group = undefined;
17
+ }
18
+ pin(block, chainId) {
19
+ const group = this.#group;
20
+ if (group !== undefined && group.block.number === block.number && group.block.hash.toLowerCase() === block.hash.toLowerCase() &&
21
+ (chainId === undefined || group.chainId === undefined || group.chainId === chainId)) {
22
+ if (chainId !== undefined)
23
+ group.chainId = chainId;
24
+ return group;
25
+ }
26
+ this.invalidate();
27
+ return this.#group = {
28
+ chainId,
29
+ block: Object.freeze({ number: block.number, hash: block.hash }),
30
+ values: new Map(),
31
+ };
32
+ }
33
+ isCurrent(group, block) {
34
+ return this.#group === group &&
35
+ group.block.number === block.number && group.block.hash.toLowerCase() === block.hash.toLowerCase();
36
+ }
37
+ observeChain(group, chainId) {
38
+ if (this.#group !== group)
39
+ return;
40
+ if (group.chainId !== undefined && group.chainId !== chainId)
41
+ this.invalidate();
42
+ else
43
+ group.chainId = chainId;
44
+ }
45
+ }
46
+ /** Opt in per caller/session; there is no global or transport-owned lifecycle cache. */
47
+ export function createLifecycleSessionCache() {
48
+ return new SessionLifecycleCache();
49
+ }
10
50
  /** Owns only one invocation's immutable RPC observations, never live checks or writes. */
11
51
  class InvocationLifecycleClient {
12
52
  source;
@@ -17,9 +57,22 @@ class InvocationLifecycleClient {
17
57
  diagnosticSequence = 0;
18
58
  chainId;
19
59
  limitObservations = new Map();
60
+ session;
61
+ sessionGroup;
62
+ observedChainId;
63
+ sessionHits = 0;
64
+ sessionMisses = 0;
65
+ sessionReuses = 0;
20
66
  constructor(source) {
21
67
  this.source = source;
22
68
  this.concurrency = source.supportsReadBatching === true ? lifecycleReadConcurrency : 1;
69
+ if (source.sessionCache !== undefined) {
70
+ if (!(source.sessionCache instanceof SessionLifecycleCache))
71
+ throw new LifecyclePlanningError("INVALID_SESSION_CACHE", "Lifecycle session cache must be created by createLifecycleSessionCache");
72
+ this.session = source.sessionCache;
73
+ if (source.onDiagnostic !== undefined)
74
+ emitLifecycleDiagnostic(source.onDiagnostic, { stage: "session-cache", phase: "start" });
75
+ }
23
76
  }
24
77
  async request(args) {
25
78
  this.assertOpen();
@@ -52,6 +105,11 @@ class InvocationLifecycleClient {
52
105
  const result = await pending;
53
106
  if (listener !== undefined)
54
107
  emitLifecycleDiagnostic(listener, { stage: "rpc", phase: "success", requestId, method: observedMethod, durationMs: performance.now() - started });
108
+ if (this.session !== undefined && method === "eth_chainId") {
109
+ this.observedChainId = rpcQuantity(result, "chain ID");
110
+ if (this.sessionGroup !== undefined)
111
+ this.session.observeChain(this.sessionGroup, this.observedChainId);
112
+ }
55
113
  return result;
56
114
  }
57
115
  catch (error) {
@@ -60,6 +118,21 @@ class InvocationLifecycleClient {
60
118
  throw error;
61
119
  }
62
120
  }
121
+ observeBlock(block, latest) {
122
+ if (this.session === undefined)
123
+ return;
124
+ this.assertOpen();
125
+ if (latest) {
126
+ this.sessionGroup = this.session.pin(block, this.observedChainId);
127
+ }
128
+ else if (this.sessionGroup?.block.number === block.number && this.sessionGroup.block.hash.toLowerCase() !== block.hash.toLowerCase()) {
129
+ this.invalidateSession();
130
+ }
131
+ }
132
+ invalidateSession() {
133
+ this.session?.invalidate();
134
+ this.sessionGroup = undefined;
135
+ }
63
136
  observeChainId() {
64
137
  this.assertOpen();
65
138
  return this.chainId ??= this.run("eth_chainId", []).then((value) => rpcQuantity(value, "chain ID"));
@@ -91,41 +164,72 @@ class InvocationLifecycleClient {
91
164
  }
92
165
  return observation.then((result) => { this.assertOpen(); result.assertCurrent(); return result; });
93
166
  }
94
- read(method, params, block) {
167
+ read(method, params, block, staticRead = false) {
95
168
  this.assertOpen();
96
169
  // Source identity is this scope's original client. The complete wire call includes
97
170
  // caller, value, gas and any other call fields; no selector-only/ABI-name aliasing.
98
171
  const key = JSON.stringify([block.number.toString(), block.hash.toLowerCase(), method, params]);
99
172
  const existing = this.reads.get(key);
100
173
  if (existing !== undefined) {
174
+ if (staticRead && this.session !== undefined)
175
+ this.sessionReuses += 1;
101
176
  const listener = this.source.onDiagnostic;
102
177
  if (listener !== undefined)
103
178
  emitLifecycleDiagnostic(listener, { stage: "rpc", phase: "reuse", method: diagnosticRpcMethods[method] === true ? method : "other" });
104
179
  return existing;
105
180
  }
106
- const pending = this.run(method, params);
181
+ const group = staticRead && this.observedChainId !== undefined && this.sessionGroup !== undefined &&
182
+ this.session?.isCurrent(this.sessionGroup, block) ? this.sessionGroup : undefined;
183
+ const cached = group?.values.get(key);
184
+ let pending;
185
+ if (cached !== undefined) {
186
+ this.sessionHits += 1;
187
+ pending = Promise.resolve(cached);
188
+ }
189
+ else {
190
+ if (staticRead && this.session !== undefined)
191
+ this.sessionMisses += 1;
192
+ pending = this.run(method, params);
193
+ if (group !== undefined)
194
+ pending = pending.then((value) => {
195
+ // Never share in-flight work or install late results after invalidation/closure.
196
+ // Only wire hex is retained, so public decoded DTOs cannot mutate authority.
197
+ if (!this.closed && this.session?.isCurrent(group, block) && typeof value === "string" && isHex(value))
198
+ group.values.set(key, value);
199
+ return value;
200
+ });
201
+ }
107
202
  this.reads.set(key, pending);
108
203
  void pending.catch(() => { if (this.reads.get(key) === pending)
109
204
  this.reads.delete(key); });
110
205
  return pending;
111
206
  }
112
- close() {
207
+ close(success) {
113
208
  this.closed = true;
114
209
  this.reads.clear();
115
210
  this.chainId = undefined;
116
211
  this.limitObservations.clear();
212
+ const listener = this.source.onDiagnostic;
213
+ if (this.session !== undefined && listener !== undefined)
214
+ emitLifecycleDiagnostic(listener, {
215
+ stage: "session-cache", phase: success ? "success" : "failure",
216
+ hits: this.sessionHits, misses: this.sessionMisses, reuses: this.sessionReuses,
217
+ });
117
218
  }
118
219
  }
119
- /** Internal callers join the same invocation; no process-wide/source-wide read cache. */
220
+ /** Internal callers join the same invocation; only explicit static reads opt in to a session. */
120
221
  export async function withLifecycleReadClient(source, work) {
121
222
  if (source instanceof InvocationLifecycleClient)
122
223
  return work(source);
123
224
  const client = new InvocationLifecycleClient(source);
225
+ let success = false;
124
226
  try {
125
- return await work(client);
227
+ const result = await work(client);
228
+ success = true;
229
+ return result;
126
230
  }
127
231
  finally {
128
- client.close();
232
+ client.close(success);
129
233
  }
130
234
  }
131
235
  export function lifecycleSourceClient(client) {
@@ -165,10 +269,14 @@ async function observedLifecycleStage(listener, stage, work) {
165
269
  }
166
270
  }
167
271
  /** Only explicitly pinned fixed-state reads may participate in invocation reuse. */
168
- export async function lifecyclePinnedRpc(client, method, params, block) {
272
+ export async function lifecyclePinnedRpc(client, method, params, block, staticRead = false) {
169
273
  if (params.length !== 2 || params[1] !== toHex(block.number))
170
274
  throw new LifecyclePlanningError("INVALID_READ_CONTEXT", "Reusable lifecycle reads require the exact pinned block and no state overrides");
171
- return client instanceof InvocationLifecycleClient ? client.read(method, params, block) : lifecycleRpc(client, method, params);
275
+ return client instanceof InvocationLifecycleClient ? client.read(method, params, block, staticRead && method !== "eth_getBalance") : lifecycleRpc(client, method, params);
276
+ }
277
+ /** Explicit SDK-owned static class only; balances and execution calls never use this path. */
278
+ export function lifecycleStaticRpc(client, method, params, block) {
279
+ return lifecyclePinnedRpc(client, method, params, block, true);
172
280
  }
173
281
  export async function lifecycleRpc(client, method, params = []) {
174
282
  return client instanceof InvocationLifecycleClient ? client.run(method, params) : client.request({ method, params });
@@ -218,36 +326,49 @@ export async function readLifecycleBlock(client, tag = "latest") {
218
326
  const hash = rpcHex(value.hash, "block hash");
219
327
  if (hash.length !== 66)
220
328
  throw new LifecyclePlanningError("INVALID_RPC_RESPONSE", "Block hash must have 32 bytes");
221
- return {
329
+ const block = {
222
330
  number: rpcQuantity(value.number, "block number"), hash,
223
331
  timestamp: rpcQuantity(value.timestamp, "block timestamp"), gasLimit: rpcQuantity(value.gasLimit, "block gas limit"),
224
332
  baseFeePerGas: value.baseFeePerGas === undefined || value.baseFeePerGas === null ? undefined : rpcQuantity(value.baseFeePerGas, "base fee"),
225
333
  };
334
+ if (client instanceof InvocationLifecycleClient)
335
+ client.observeBlock(block, tag === "latest");
336
+ return block;
226
337
  }
227
338
  export async function assertLifecycleBlock(client, block, expectedChainId) {
228
339
  const [chainId, current] = await Promise.all([
229
340
  expectedChainId === undefined ? undefined : lifecycleRpc(client, "eth_chainId"),
230
341
  readLifecycleBlock(client, toHex(block.number)),
231
342
  ]);
232
- if (expectedChainId !== undefined && rpcQuantity(chainId, "chain ID") !== expectedChainId)
343
+ if (expectedChainId !== undefined && rpcQuantity(chainId, "chain ID") !== expectedChainId) {
344
+ if (client instanceof InvocationLifecycleClient)
345
+ client.invalidateSession();
233
346
  throw new LifecyclePlanningError("CHAIN_MISMATCH", "Source RPC chain changed during the pinned operation");
234
- if (current.hash.toLowerCase() !== block.hash.toLowerCase())
347
+ }
348
+ if (current.hash.toLowerCase() !== block.hash.toLowerCase()) {
349
+ if (client instanceof InvocationLifecycleClient)
350
+ client.invalidateSession();
235
351
  throw new LifecyclePlanningError("STATE_REORGED", "Pinned launch state changed during the operation; read canonical progress again");
352
+ }
236
353
  }
237
- export async function readLifecycleContract(client, to, abi, functionName, args, block, from) {
354
+ export async function readLifecycleContract(client, to, abi, functionName, args, block, from, staticRead = false) {
238
355
  const data = encodeFunctionData({ abi, functionName, args });
239
356
  const request = [{ to, from, data }, toHex(block.number)];
240
357
  const getter = abi.some((item) => item.type === "function" && item.name === functionName && (item.stateMutability === "view" || item.stateMutability === "pure"));
241
358
  const result = rpcHex(await (getter && functionName !== "readLaunchProgress"
242
- ? lifecyclePinnedRpc(client, "eth_call", request, block)
359
+ ? staticRead ? lifecycleStaticRpc(client, "eth_call", request, block) : lifecyclePinnedRpc(client, "eth_call", request, block)
243
360
  : lifecycleRpc(client, "eth_call", request)), functionName);
244
361
  // ABI decoding validates scalar widths and tuple layout; T names that exact frozen ABI result.
245
362
  const decoded = decodeFunctionResult({ abi, functionName, data: result });
246
363
  return decoded;
247
364
  }
365
+ /** Certification/configuration getters, explicitly selected by their SDK callsite. */
366
+ export function readLifecycleStaticContract(client, to, abi, functionName, args, block, from) {
367
+ return readLifecycleContract(client, to, abi, functionName, args, block, from, true);
368
+ }
248
369
  /** A reviewed registry must supply topology; missing selectors never certify a profile. */
249
370
  export async function readLifecycleProfileTopology(client, registry, profileId, block) {
250
- const topology = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "profileTopology", [profileId], block);
371
+ const topology = await readLifecycleStaticContract(client, registry, lifecycleRegistryAbi, "profileTopology", [profileId], block);
251
372
  if (topology.hookTopology !== 0 && topology.hookTopology !== 1 && topology.hookTopology !== 2)
252
373
  throw new LifecyclePlanningError("INVALID_RPC_RESPONSE", "Registry returned an unsupported hook topology");
253
374
  return { ...topology, hookTopology: topology.hookTopology };
@@ -262,7 +383,7 @@ const maxUint64 = (1n << 64n) - 1n;
262
383
  /** A poster quote is an envelope budget, never an execution/compute proof. */
263
384
  export async function readNitroPosterGas(transaction, context) {
264
385
  const data = encodeFunctionData({ abi: nitroNodeInterfaceAbi, functionName: "gasEstimateL1Component", args: [transaction.to, false, transaction.data] });
265
- const result = rpcHex(await lifecyclePinnedRpc(context.client, "eth_call", [{ from: transaction.from, to: nitroNodeInterface, data, value: toHex(transaction.value) }, toHex(context.block.number)], context.block), "Nitro poster estimate");
386
+ const result = rpcHex(await lifecycleStaticRpc(context.client, "eth_call", [{ from: transaction.from, to: nitroNodeInterface, data, value: toHex(transaction.value) }, toHex(context.block.number)], context.block), "Nitro poster estimate");
266
387
  if (result.length !== 194)
267
388
  throw new LifecyclePlanningError("INVALID_RPC_RESPONSE", "Nitro poster estimate must contain exactly three ABI words");
268
389
  const [posterGas, baseFee, l1BaseFeeEstimate] = decodeFunctionResult({ abi: nitroNodeInterfaceAbi, functionName: "gasEstimateL1Component", data: result });
@@ -272,7 +393,7 @@ export async function readNitroPosterGas(transaction, context) {
272
393
  }
273
394
  async function readNitroScalar(context, to, abi, functionName) {
274
395
  const data = encodeFunctionData({ abi, functionName });
275
- const result = rpcHex(await lifecyclePinnedRpc(context.client, "eth_call", [{ to, data }, toHex(context.block.number)], context.block), functionName);
396
+ const result = rpcHex(await lifecycleStaticRpc(context.client, "eth_call", [{ to, data }, toHex(context.block.number)], context.block), functionName);
276
397
  if (result.length !== 66)
277
398
  throw new LifecyclePlanningError("INVALID_RPC_RESPONSE", `${functionName} must return exactly one ABI word`);
278
399
  return decodeFunctionResult({ abi, functionName, data: result });