@black-market/sdk 0.6.2 → 0.6.3

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.
@@ -1,5 +1,5 @@
1
1
  import { concatHex, decodeFunctionData, encodeAbiParameters, encodeFunctionData, keccak256, stringToHex, toHex, zeroAddress, zeroHash } from "viem";
2
- import { abyssLifecycleAdapterAbi, launchLifecycleAbi, lifecycleAdapterAbi, lifecycleDirectoryAbi, lifecycleErc20Abi, lifecycleOracleFactoryAbi, lifecycleRegistryAbi, poolFeeCollectorFactoryV1Abi, lifecycleV4HookAbi, lifecycleV4LockerAbi, poolHookDeployerV1Abi, sharedHookDeployerV1Abi, fixedFeePoolHookV1Abi, poolMarketAdapterV1Abi, sharedMarketAdapterV1Abi } from "./abi.js";
2
+ import { launchLifecycleAbi, lifecycleAdapterAbi, lifecycleDirectoryAbi, lifecycleErc20Abi, lifecycleOracleFactoryAbi, lifecycleRegistryAbi, poolFeeCollectorFactoryV1Abi, lifecycleV4HookAbi, lifecycleV4LockerAbi, poolHookDeployerV1Abi, sharedHookDeployerV1Abi, fixedFeePoolHookV1Abi, poolMarketAdapterV1Abi, sharedMarketAdapterV1Abi } from "./abi.js";
3
3
  import { decodePoolBoundV4LifecycleMarketConfig, encodePoolBoundHookParameters, hasLifecycleV4HookPermissions, hashPoolBoundV4MarketCommitment, poolBoundHookInitCodeHash, predictPoolBoundHookAddress, validateV4LifecycleMarket, V4_LIFECYCLE_CONFIG_SCHEMA, V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA } from "./markets.js";
4
4
  import { hashLaunchIdentity, hashLaunchPlan, hashLaunchBounds, hashLaunchDependencies, hashLifecycleProfile, launchProgressV1Components, LifecycleMode, LifecyclePhase, LifecycleVenue, LIFECYCLE_REQUIRED_CAPABILITIES, LIFECYCLE_ERC404_CAPABILITY, LIFECYCLE_MULTI_POSITION_CAPABILITY } from "./schema.js";
5
5
  import { assertLifecycleBlock, lifecyclePinnedRpc, lifecycleRpc, lifecycleStage, readLifecycleBlock, readLifecycleContract, readLifecycleProfileTopology, rpcHex, rpcObject, rpcQuantity, withLifecycleReadClient } from "./rpc.js";
@@ -26,28 +26,19 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
26
26
  const version = shared ? 4 : bound ? 5 : 1;
27
27
  if (adapter.configVersion !== version || topology.configVersion !== version || topology.hookTopology !== (shared ? 1 : bound ? 2 : 0))
28
28
  throw new LifecyclePlanningError("UNCERTIFIED_TOPOLOGY", "Registry topology/version differs from the supported config schema");
29
- const [implementationCode, authority, digest] = await Promise.all([
30
- readDependencyCode(client, adapter.implementation, block),
31
- readLifecycleContract(client, adapter.implementation, lifecycleAdapterAbi, "core", [], block),
32
- readLifecycleContract(client, adapter.implementation, lifecycleAdapterAbi, "dependencyDigest", [], block),
33
- ]);
34
- if (keccak256(implementationCode).toLowerCase() !== adapter.codeHash.toLowerCase())
35
- throw new LifecyclePlanningError("PROFILE_CODE_HASH", "Adapter code hash differs from immutable registry approval");
36
- if (authority.toLowerCase() !== orchestrator.toLowerCase() || digest.toLowerCase() !== registration.dependencyDigest.toLowerCase())
37
- throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Adapter authority or dependency digest differs from immutable registry approval");
38
29
  if (abyss) {
39
30
  if (topology.hookDeployer !== zeroAddress || topology.hookCreationCodeHash !== zeroHash)
40
31
  throw new LifecyclePlanningError("UNCERTIFIED_TOPOLOGY", "Abyss does not admit a V4 hook deployment graph");
41
- const [factory, schema, actualVersion] = await Promise.all([
42
- readLifecycleContract(client, adapter.implementation, abyssLifecycleAdapterAbi, "factory", [], block),
43
- readLifecycleContract(client, adapter.implementation, abyssLifecycleAdapterAbi, "CONFIG_SCHEMA", [], block),
44
- readLifecycleContract(client, adapter.implementation, abyssLifecycleAdapterAbi, "CONFIG_VERSION", [], block),
45
- ]);
32
+ // certifyAbyss fixes schema/version/factory at registration; requireEligible
33
+ // rechecks that approved runtime and the live graph digest at this block.
34
+ const factory = registration.factory;
46
35
  const domain = keccak256(stringToHex("BLACK_MARKET_ABYSS_CANONICAL_PROFILE_V1"));
47
36
  const known = [0, 1, 2, 3].some((variant) => keccak256(encodeAbiParameters([{ type: "bytes32" }, { type: "uint256" }, { type: "address" }, { type: "uint8" }], [domain, chainId, factory, variant])).toLowerCase() === id.toLowerCase());
48
- if (!known || schema.toLowerCase() !== ABYSS_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() || actualVersion !== 1 || registration.factory.toLowerCase() !== factory.toLowerCase() || registration.venue.toLowerCase() !== factory.toLowerCase() || registration.hook !== zeroAddress)
37
+ if (!known || registration.venue.toLowerCase() !== factory.toLowerCase() || registration.hook !== zeroAddress)
49
38
  throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Abyss profile is not the exact canonical factory/variant/schema binding");
50
- await readDependencyCode(client, factory, block);
39
+ const eligible = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "requireEligible", [registration.adapterId, id, version, LIFECYCLE_REQUIRED_CAPABILITIES], block);
40
+ if (eligible.toLowerCase() !== adapter.implementation.toLowerCase())
41
+ throw new LifecyclePlanningError("INELIGIBLE_PROFILE", "Registry refuses this profile for pending source admission");
51
42
  return { topology };
52
43
  }
53
44
  if (envelope === undefined || envelope.topology !== topology.hookTopology || envelope.configVersion !== version || envelope.economicVersion !== 3 ||
@@ -66,16 +57,6 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
66
57
  envelope.protocolTreasury === zeroAddress || (envelope.protocolFeeDenominator !== 0 && (envelope.protocolFeeDenominator < 4 || envelope.protocolFeeDenominator > 10)))
67
58
  throw new LifecyclePlanningError("PROFILE_BOUNDS", "Registry envelope has unsupported executable bounds");
68
59
  const abi = bound ? poolMarketAdapterV1Abi : sharedMarketAdapterV1Abi;
69
- const [metadata, actualVersion] = await Promise.all([
70
- Promise.all(["PROFILE_ID", "CONFIG_SCHEMA", "implementationRegistry"].map((getter) => readLifecycleContract(client, adapter.implementation, abi, getter, [], block))),
71
- readLifecycleContract(client, adapter.implementation, abi, "CONFIG_VERSION", [], block),
72
- ]);
73
- for (const [index, expected] of [id, registration.configSchema, registry].entries()) {
74
- if (metadata[index]?.toLowerCase() !== expected.toLowerCase())
75
- throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed adapter metadata differs from registry certification");
76
- }
77
- if (actualVersion !== version)
78
- throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed adapter config version differs from certification");
79
60
  const g = envelope.graph;
80
61
  if (registration.factory !== zeroAddress || registration.venue.toLowerCase() !== g.manager.toLowerCase() || registration.hook.toLowerCase() !== g.hookRoot.toLowerCase() ||
81
62
  topology.hookDeployer.toLowerCase() !== g.hookDeployer.toLowerCase() || topology.hookCreationCodeHash.toLowerCase() !== g.hookCreationCodeHash.toLowerCase())
@@ -84,7 +65,12 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
84
65
  const codeBindings = [[orchestrator, g.coreCodeHash], [g.manager, g.managerCodeHash], [g.oracleFactory, g.oracleFactoryCodeHash],
85
66
  [g.locker, g.lockerCodeHash], [g.collectorFactory, g.collectorFactoryCodeHash], [g.collectorDeployer, g.collectorDeployerCodeHash],
86
67
  [g.hookDeployer, g.hookDeployerCodeHash]];
87
- const [dependencies, dependencyCodes, collectorDeployer, launcher, lockerManager, creationCodeHash, chunk0, chunk1] = await Promise.all([
68
+ // Frozen graph addresses permit independent evidence reads. Getter results
69
+ // still have to match that graph; none of these observations is caller authority.
70
+ const [eligible, metadata, actualVersion, dependencies, dependencyCodes, collectorDeployer, launcher, lockerManager, creationCodeHash, chunk0, chunk1, chunkCodes, sharedRoot] = await Promise.all([
71
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "requireEligible", [registration.adapterId, id, version, LIFECYCLE_REQUIRED_CAPABILITIES], block),
72
+ Promise.all(["PROFILE_ID", "CONFIG_SCHEMA", "implementationRegistry"].map((getter) => readLifecycleContract(client, adapter.implementation, abi, getter, [], block))),
73
+ readLifecycleContract(client, adapter.implementation, abi, "CONFIG_VERSION", [], block),
88
74
  Promise.all(["poolManager", "hookRoot", "oracleFactory", "locker", "collectorFactory", "hookDeployer"].map((getter) => readLifecycleContract(client, adapter.implementation, abi, getter, [], block))),
89
75
  Promise.all(codeBindings.map(([address]) => readDependencyCode(client, address, block))),
90
76
  readLifecycleContract(client, g.collectorFactory, poolFeeCollectorFactoryV1Abi, "collectorDeployer", [], block),
@@ -93,7 +79,27 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
93
79
  readLifecycleContract(client, g.hookDeployer, deployerAbi, "creationCodeHash", [], block),
94
80
  readLifecycleContract(client, g.hookDeployer, deployerAbi, "codeChunk0", [], block),
95
81
  readLifecycleContract(client, g.hookDeployer, deployerAbi, "codeChunk1", [], block),
82
+ Promise.all([
83
+ readDependencyCode(client, g.codeChunk0, block),
84
+ g.codeChunk1 === zeroAddress ? Promise.resolve("0x") : readDependencyCode(client, g.codeChunk1, block),
85
+ ]),
86
+ shared ? Promise.all([
87
+ readDependencyCode(client, g.hookRoot, block),
88
+ readLifecycleContract(client, g.hookDeployer, deployerAbi, "deployedCodeHash", [g.hookRoot], block),
89
+ readLifecycleContract(client, g.hookDeployer, sharedHookDeployerV1Abi, "predict", [g.manager, adapter.implementation, g.oracleFactory, g.sharedHookSalt], block),
90
+ Promise.all(["registrar", "poolManager", "oracleFactory"].map((getter) => readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, getter, [], block))),
91
+ readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, "REQUIRED_HOOK_FLAGS", [], block),
92
+ readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, "ALL_HOOK_MASK", [], block),
93
+ ]) : undefined,
96
94
  ]);
95
+ if (eligible.toLowerCase() !== adapter.implementation.toLowerCase())
96
+ throw new LifecyclePlanningError("INELIGIBLE_PROFILE", "Registry refuses this profile for pending source admission");
97
+ for (const [index, expected] of [id, registration.configSchema, registry].entries()) {
98
+ if (metadata[index]?.toLowerCase() !== expected.toLowerCase())
99
+ throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed adapter metadata differs from registry certification");
100
+ }
101
+ if (actualVersion !== version)
102
+ throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed adapter config version differs from certification");
97
103
  for (const [index, expected] of [g.manager, g.hookRoot, g.oracleFactory, g.locker, g.collectorFactory, g.hookDeployer].entries()) {
98
104
  if (dependencies[index]?.toLowerCase() !== expected.toLowerCase())
99
105
  throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Live adapter dependency differs from the frozen reviewed graph");
@@ -105,10 +111,7 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
105
111
  if (collectorDeployer.toLowerCase() !== g.collectorDeployer.toLowerCase() || launcher.toLowerCase() !== adapter.implementation.toLowerCase() ||
106
112
  lockerManager.toLowerCase() !== g.manager.toLowerCase() || g.locker.toLowerCase() === g.manager.toLowerCase() || g.locker.toLowerCase() === g.hookRoot.toLowerCase())
107
113
  throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed collector or locker authority differs from the frozen graph");
108
- const [chunk0Code, chunk1Code] = await Promise.all([
109
- readDependencyCode(client, chunk0, block),
110
- chunk1 === zeroAddress ? Promise.resolve("0x") : readDependencyCode(client, chunk1, block),
111
- ]);
114
+ const [chunk0Code, chunk1Code] = chunkCodes;
112
115
  if (chunk0.toLowerCase() !== g.codeChunk0.toLowerCase() || chunk1.toLowerCase() !== g.codeChunk1.toLowerCase() || chunk0.toLowerCase() === chunk1.toLowerCase() ||
113
116
  !chunk0Code.startsWith("0x00") || chunk0Code.length <= 4 || (chunk0Code.length - 2) / 2 > 24576 ||
114
117
  (chunk1 !== zeroAddress && (!chunk1Code.startsWith("0x00") || chunk1Code.length <= 4 || (chunk1Code.length - 2) / 2 > 24576 || (chunk0Code.length - 2) / 2 !== 24576)) ||
@@ -117,17 +120,10 @@ async function certifyLifecycleProfile(client, orchestrator, registry, id, regis
117
120
  const creationCode = concatHex([`0x${chunk0Code.slice(4)}`, chunk1 === zeroAddress ? "0x" : `0x${chunk1Code.slice(4)}`]);
118
121
  if ((creationCode.length - 2) / 2 + (shared ? 96 : 576) > 49152 || creationCodeHash === zeroHash ||
119
122
  creationCodeHash.toLowerCase() !== g.hookCreationCodeHash.toLowerCase() || keccak256(creationCode).toLowerCase() !== creationCodeHash.toLowerCase() ||
120
- hashLaunchDependencies({ chainId, core: orchestrator, registry, registrar: adapter.implementation, graph: g }).toLowerCase() !== digest.toLowerCase())
123
+ hashLaunchDependencies({ chainId, core: orchestrator, registry, registrar: adapter.implementation, graph: g }).toLowerCase() !== registration.dependencyDigest.toLowerCase())
121
124
  throw new LifecyclePlanningError("PROFILE_DEPENDENCY", "Reviewed creation artifact, constructor bound or graph digest differs from admission");
122
- if (shared) {
123
- const [rootCode, recordedHash, remotePrediction, dependencies, requiredFlags, allFlags] = await Promise.all([
124
- readDependencyCode(client, g.hookRoot, block),
125
- readLifecycleContract(client, g.hookDeployer, deployerAbi, "deployedCodeHash", [g.hookRoot], block),
126
- readLifecycleContract(client, g.hookDeployer, sharedHookDeployerV1Abi, "predict", [g.manager, adapter.implementation, g.oracleFactory, g.sharedHookSalt], block),
127
- Promise.all(["registrar", "poolManager", "oracleFactory"].map((getter) => readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, getter, [], block))),
128
- readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, "REQUIRED_HOOK_FLAGS", [], block),
129
- readLifecycleContract(client, g.hookRoot, lifecycleV4HookAbi, "ALL_HOOK_MASK", [], block),
130
- ]);
125
+ if (sharedRoot !== undefined) {
126
+ const [rootCode, recordedHash, remotePrediction, dependencies, requiredFlags, allFlags] = sharedRoot;
131
127
  const initCodeHash = keccak256(concatHex([creationCode, encodeAbiParameters([{ type: "address" }, { type: "address" }, { type: "address" }], [g.manager, adapter.implementation, g.oracleFactory])]));
132
128
  const prediction = predictPoolBoundHookAddress({ deployer: g.hookDeployer, initCodeHash, salt: g.sharedHookSalt });
133
129
  if (recordedHash === zeroHash || recordedHash.toLowerCase() !== g.hookRuntimeCodeHash.toLowerCase() || keccak256(rootCode).toLowerCase() !== recordedHash.toLowerCase() ||
@@ -168,20 +164,24 @@ export async function readLifecycleProfiles(options, pinnedBlock) {
168
164
  const limit = options.limit ?? 100n;
169
165
  if (offset < 0n || limit < 0n || limit > 100n)
170
166
  throw new LifecyclePlanningError("INVALID_PROFILE_PAGE", "Registry profile pages require unsigned offset and limit at most 100");
171
- const [authority, ids] = await Promise.all([
172
- readLifecycleContract(client, registry, lifecycleRegistryAbi, "core", [], block),
173
- options.profileIds ?? readLifecycleContract(client, registry, lifecycleRegistryAbi, "profileIds", [offset, limit], block),
174
- ]);
175
- if (authority.toLowerCase() !== options.orchestrator.toLowerCase())
176
- throw new LifecyclePlanningError("REGISTRY_BINDING", "Registry is not bound to the selected lifecycle orchestrator");
177
167
  let protocolMaximumDeveloperFeeBpsPromise;
178
168
  const readProtocolMaximumDeveloperFeeBps = () => protocolMaximumDeveloperFeeBpsPromise ??=
179
169
  readLifecycleContract(client, registry, lifecycleRegistryAbi, "protocolMaximumDeveloperFeeBps", [], block);
180
- const profiles = await Promise.all(ids.map(async (id) => {
170
+ const readProfile = async (id) => {
181
171
  const registration = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "profile", [id], block);
182
- const adapter = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "adapter", [registration.adapterId], block);
183
172
  const schema = registration.configSchema.toLowerCase();
184
173
  const venueKind = schema === V4_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() || schema === V4_POOL_BOUND_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() ? "uniswap-v4" : schema === ABYSS_LIFECYCLE_CONFIG_SCHEMA.toLowerCase() ? "abyss" : "unknown";
174
+ const [adapter, certification] = await Promise.all([
175
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "adapter", [registration.adapterId], block),
176
+ venueKind === "unknown" ? undefined : Promise.all([
177
+ readLifecycleProfileTopology(client, registry, id, block),
178
+ venueKind === "uniswap-v4" ? Promise.all([
179
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "profileEnvelope", [id], block),
180
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "developerTerms", [id], block),
181
+ readProtocolMaximumDeveloperFeeBps(),
182
+ ]) : undefined,
183
+ ]).then((values) => ({ values }), (failure) => ({ failure })),
184
+ ]);
185
185
  let topology = { hookTopology: 0, configVersion: adapter.configVersion, hookDeployer: zeroAddress, hookCreationCodeHash: zeroHash };
186
186
  let envelope;
187
187
  let developerTerms;
@@ -189,16 +189,11 @@ export async function readLifecycleProfiles(options, pinnedBlock) {
189
189
  let admitted = false;
190
190
  let reason;
191
191
  try {
192
- if (venueKind === "unknown")
192
+ if (certification === undefined)
193
193
  throw new LifecyclePlanningError("UNSUPPORTED_SCHEMA", `Unsupported lifecycle config schema ${registration.configSchema}`);
194
- const [recordedTopology, reviewed] = await Promise.all([
195
- readLifecycleProfileTopology(client, registry, id, block),
196
- venueKind === "uniswap-v4" ? Promise.all([
197
- readLifecycleContract(client, registry, lifecycleRegistryAbi, "profileEnvelope", [id], block),
198
- readLifecycleContract(client, registry, lifecycleRegistryAbi, "developerTerms", [id], block),
199
- readProtocolMaximumDeveloperFeeBps(),
200
- ]) : undefined,
201
- ]);
194
+ if ("failure" in certification)
195
+ throw certification.failure;
196
+ const [recordedTopology, reviewed] = certification.values;
202
197
  topology = recordedTopology;
203
198
  if (reviewed !== undefined) {
204
199
  envelope = reviewed[0];
@@ -211,8 +206,7 @@ export async function readLifecycleProfiles(options, pinnedBlock) {
211
206
  throw new LifecyclePlanningError("PROFILE_TERMS", "Registry developer terms differ from the frozen reviewed envelope");
212
207
  }
213
208
  await certifyLifecycleProfile(client, options.orchestrator, registry, id, registration, adapter, topology, envelope, block, chainId);
214
- const eligible = await readLifecycleContract(client, registry, lifecycleRegistryAbi, "requireEligible", [registration.adapterId, id, topology.configVersion, LIFECYCLE_REQUIRED_CAPABILITIES], block);
215
- if (eligible.toLowerCase() !== adapter.implementation.toLowerCase() || (developerTerms !== undefined && !developerTerms.enabled))
209
+ if (developerTerms !== undefined && !developerTerms.enabled)
216
210
  throw new LifecyclePlanningError("INELIGIBLE_PROFILE", "Registry refuses this profile for pending source admission");
217
211
  admitted = true;
218
212
  }
@@ -220,7 +214,13 @@ export async function readLifecycleProfiles(options, pinnedBlock) {
220
214
  reason = failure instanceof Error ? failure.message : String(failure);
221
215
  }
222
216
  return { id, registration, adapter, topology, envelope, developerTerms, protocolMaximumDeveloperFeeBps: venueKind === "uniswap-v4" ? protocolMaximumDeveloperFeeBps : undefined, admitted, reason, venueKind };
223
- }));
217
+ };
218
+ const [authority, profiles] = await Promise.all([
219
+ readLifecycleContract(client, registry, lifecycleRegistryAbi, "core", [], block),
220
+ Promise.resolve(options.profileIds ?? readLifecycleContract(client, registry, lifecycleRegistryAbi, "profileIds", [offset, limit], block)).then((ids) => Promise.all(ids.map(readProfile))),
221
+ ]);
222
+ if (authority.toLowerCase() !== options.orchestrator.toLowerCase())
223
+ throw new LifecyclePlanningError("REGISTRY_BINDING", "Registry is not bound to the selected lifecycle orchestrator");
224
224
  // A required V4 cap read still rejects the invocation on failure; Abyss has no developer-fee terms.
225
225
  if (protocolMaximumDeveloperFeeBpsPromise !== undefined)
226
226
  await protocolMaximumDeveloperFeeBpsPromise;
@@ -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 +1 @@
1
- {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/lifecycle/simulation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwD,KAAK,cAAc,EAAwD,KAAK,mBAAmB,EAAgC,KAAK,oBAAoB,EAAoD,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAsOlU,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAqK9L"}
1
+ {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/lifecycle/simulation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwD,KAAK,cAAc,EAAwD,KAAK,mBAAmB,EAAgC,KAAK,oBAAoB,EAAoD,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAuOlU,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsL9L"}
@@ -59,7 +59,8 @@ async function proveNitroBackend(client, planned, block, limits, gasPrice) {
59
59
  throw new LifecyclePlanningError("NITRO_METERING_UNAVAILABLE", "Simulated ArbOS version/compute getters differ from the exact pinned chain context");
60
60
  }
61
61
  }
62
- await assertLifecycleBlock(client, block, planned.chainId);
62
+ // The enclosing simulation rechecks chain and canonical hash after its proofs
63
+ // (including every refusal path); a separate probe-only recheck is redundant.
63
64
  }
64
65
  async function simulateRpcPass(client, planned, block, transactions, gasLimits, limits, gasPrice, validation) {
65
66
  const totalRequestedGas = gasLimits.reduce((total, gas) => total + gas, 0n);
@@ -310,13 +311,25 @@ export async function simulateLaunchTransactions(options, transactions, pinnedBl
310
311
  if (gasPrice >= 1n << 256n)
311
312
  throw new LifecyclePlanningError("INVALID_RPC_RESPONSE", "Gas price must be a uint256 quantity");
312
313
  const buffer = (gas) => (gas * BigInt(10000 + limits.headroomBps) + 9999n) / 10000n;
314
+ const computeCeiling = limits.transactionGasCeiling !== undefined && limits.transactionGasCeiling < limits.executionGasCeiling ? limits.transactionGasCeiling : limits.executionGasCeiling;
315
+ const capGas = transactions.map(() => computeCeiling);
316
+ let parallelMeasurement;
313
317
  const posterGas = [];
314
318
  if (limits.protocol === "nitro") {
319
+ // The isolated capability probe, poster quote and permissive cap measurement
320
+ // have no data dependency. Only an actually batching source overlaps all three.
321
+ const nitroEvidence = Promise.all([
322
+ lifecycleStage(client, "simulation.nitro", () => proveNitroBackend(client, planned, block, limits, gasPrice)),
323
+ lifecycleStage(client, "simulation.poster", () => Promise.all(transactions.map(async (transaction) => buffer((await readNitroPosterGas(transaction, context)).posterGas)))),
324
+ ]);
325
+ if (sourceClient.supportsReadBatching === true) {
326
+ // Handle settlement immediately so a failed measurement cannot escape while
327
+ // the independent metering evidence is still pending. It is never admission.
328
+ parallelMeasurement = lifecycleStage(client, "simulation.measure", () => simulateRpcPass(client, planned, block, transactions, capGas, limits, gasPrice, false))
329
+ .then((steps) => ({ steps }), (failure) => ({ failure }));
330
+ }
315
331
  try {
316
- const [, estimates] = await Promise.all([
317
- lifecycleStage(client, "simulation.nitro", () => proveNitroBackend(client, planned, block, limits, gasPrice)),
318
- lifecycleStage(client, "simulation.poster", () => Promise.all(transactions.map(async (transaction) => buffer((await readNitroPosterGas(transaction, context)).posterGas)))),
319
- ]);
332
+ const [, estimates] = await nitroEvidence;
320
333
  posterGas.push(...estimates);
321
334
  }
322
335
  catch (failure) {
@@ -324,8 +337,6 @@ export async function simulateLaunchTransactions(options, transactions, pinnedBl
324
337
  return { ...base, confidence: "provisional", executionProof: "unavailable", backend: "unavailable", admitted: false, steps: [], reason: `Native Nitro compute/poster proof unavailable: ${failure instanceof Error ? failure.message : String(failure)}. Generic Anvil/Hardhat forks cannot prove ArbOS metering.` };
325
338
  }
326
339
  }
327
- const computeCeiling = limits.transactionGasCeiling !== undefined && limits.transactionGasCeiling < limits.executionGasCeiling ? limits.transactionGasCeiling : limits.executionGasCeiling;
328
- const capGas = transactions.map(() => computeCeiling);
329
340
  // The poster quote allocates gas only. The native exact replay enforces actual
330
341
  // compute hold; subtracting this approximate budget from gasUsed would not.
331
342
  const discoveryGas = transactions.map((_, index) => {
@@ -339,7 +350,14 @@ export async function simulateLaunchTransactions(options, transactions, pinnedBl
339
350
  let measured;
340
351
  // Permissive cap measurement is not proof; only the exact-gas validated replay admits a plan.
341
352
  try {
342
- measured = await lifecycleStage(client, "simulation.measure", () => simulateRpcPass(client, planned, block, transactions, capGas, limits, gasPrice, false));
353
+ if (parallelMeasurement === undefined)
354
+ measured = await lifecycleStage(client, "simulation.measure", () => simulateRpcPass(client, planned, block, transactions, capGas, limits, gasPrice, false));
355
+ else {
356
+ const observation = await parallelMeasurement;
357
+ if ("failure" in observation)
358
+ throw observation.failure;
359
+ measured = observation.steps;
360
+ }
343
361
  }
344
362
  catch (failure) {
345
363
  if (options.fork === undefined || limits.protocol === "nitro") {