@black-market/sdk 0.13.0 → 0.14.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.
- package/README.md +4 -4
- package/dist/lifecycle/index.d.ts +3 -1
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +3 -1
- package/dist/lifecycle/index.js.map +1 -1
- package/dist/lifecycle/lens.d.ts +409 -0
- package/dist/lifecycle/lens.d.ts.map +1 -0
- package/dist/lifecycle/lens.js +30 -0
- package/dist/lifecycle/lens.js.map +1 -0
- package/dist/lifecycle/mining.d.ts +47 -0
- package/dist/lifecycle/mining.d.ts.map +1 -0
- package/dist/lifecycle/mining.js +89 -0
- package/dist/lifecycle/mining.js.map +1 -0
- package/dist/lifecycle/planner.d.ts.map +1 -1
- package/dist/lifecycle/planner.js +70 -62
- package/dist/lifecycle/planner.js.map +1 -1
- package/dist/lifecycle/presets.d.ts +3 -0
- package/dist/lifecycle/presets.d.ts.map +1 -1
- package/dist/lifecycle/presets.js +1 -0
- package/dist/lifecycle/presets.js.map +1 -1
- package/dist/lifecycle/progress.d.ts +48 -0
- package/dist/lifecycle/progress.d.ts.map +1 -1
- package/dist/lifecycle/progress.js +31 -20
- package/dist/lifecycle/progress.js.map +1 -1
- package/dist/lifecycle/rpc.d.ts +6 -2
- package/dist/lifecycle/rpc.d.ts.map +1 -1
- package/dist/lifecycle/rpc.js +47 -44
- package/dist/lifecycle/rpc.js.map +1 -1
- package/dist/lifecycle/simulation.d.ts +5 -3
- package/dist/lifecycle/simulation.d.ts.map +1 -1
- package/dist/lifecycle/simulation.js +130 -109
- package/dist/lifecycle/simulation.js.map +1 -1
- package/dist/lifecycle/snapshot.d.ts +8 -0
- package/dist/lifecycle/snapshot.d.ts.map +1 -0
- package/dist/lifecycle/snapshot.js +79 -0
- package/dist/lifecycle/snapshot.js.map +1 -0
- package/dist/lifecycle/types.d.ts +15 -5
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/docs/launch-lifecycle.md +42 -20
- package/docs/reference.md +39 -6
- package/examples/README.md +2 -2
- package/package.json +1 -1
- package/src/lifecycle/index.ts +5 -1
- package/src/lifecycle/lens.ts +42 -0
- package/src/lifecycle/mining.ts +80 -0
- package/src/lifecycle/planner.ts +72 -58
- package/src/lifecycle/presets.ts +4 -0
- package/src/lifecycle/progress.ts +26 -16
- package/src/lifecycle/rpc.ts +45 -43
- package/src/lifecycle/simulation.ts +126 -100
- package/src/lifecycle/snapshot.ts +72 -0
- package/src/lifecycle/types.ts +15 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/lifecycle/rpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/lifecycle/rpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,15 @@ export type NextTransactionEnvelope = Readonly<{
|
|
|
4
4
|
gas: bigint;
|
|
5
5
|
gasPrice: bigint;
|
|
6
6
|
}>;
|
|
7
|
+
/** Compute-only sizing observations; native poster charges are never included. */
|
|
8
|
+
export type GasSizingHints = ReadonlyMap<string, bigint>;
|
|
7
9
|
export type PreparedLaunchSimulation = ((transactions: readonly LifecycleTransaction[], nextEnvelope?: NextTransactionEnvelope) => Promise<LifecycleSimulation>) & {
|
|
8
|
-
/** Unadmitted diagnostic results only; final
|
|
10
|
+
/** Unadmitted diagnostic results only; final measurement validates exact calldata. */
|
|
9
11
|
measure(transactions: readonly LifecycleTransaction[]): Promise<LifecycleSimulation>;
|
|
10
12
|
close(): void;
|
|
11
13
|
};
|
|
12
14
|
/** Internal continuation owned by one SDK read invocation. Only its positive
|
|
13
15
|
* capability proof is reused; every candidate executes its entire economic sequence. */
|
|
14
|
-
export declare function prepareLaunchSimulation(options: SimulateLaunchPlanOptions, block: LifecycleBlock, hasTransactions?: boolean, reviewedEnvelope?: NextTransactionEnvelope, selectedGasPrice?: bigint): PreparedLaunchSimulation;
|
|
15
|
-
export declare function simulateLaunchTransactions(options: SimulateLaunchPlanOptions, transactions: readonly LifecycleTransaction[], pinnedBlock?: LifecycleBlock, nextEnvelope?: NextTransactionEnvelope): Promise<LifecycleSimulation>;
|
|
16
|
+
export declare function prepareLaunchSimulation(options: SimulateLaunchPlanOptions, block: LifecycleBlock, hasTransactions?: boolean, reviewedEnvelope?: NextTransactionEnvelope, selectedGasPrice?: bigint, sizing?: GasSizingHints): PreparedLaunchSimulation;
|
|
17
|
+
export declare function simulateLaunchTransactions(options: SimulateLaunchPlanOptions, transactions: readonly LifecycleTransaction[], pinnedBlock?: LifecycleBlock, nextEnvelope?: NextTransactionEnvelope, sizing?: GasSizingHints): Promise<LifecycleSimulation>;
|
|
16
18
|
//# sourceMappingURL=simulation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/lifecycle/simulation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwD,KAAK,cAAc,EAAoF,KAAK,mBAAmB,EAAgC,KAAK,oBAAoB,EAAoD,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/lifecycle/simulation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwD,KAAK,cAAc,EAAoF,KAAK,mBAAmB,EAAgC,KAAK,oBAAoB,EAAoD,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AA+S9V,qFAAqF;AACrF,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAClF,kFAAkF;AAClF,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAAE,YAAY,CAAC,EAAE,uBAAuB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG;IACjK,sFAAsF;IACtF,OAAO,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrF,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAQF;wFACwF;AACxF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,UAAO,EAAE,gBAAgB,CAAC,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,wBAAwB,CAgHnP;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAAE,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAO/P"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { decodeErrorResult, decodeEventLog, decodeFunctionResult, encodeFunctionData, encodeFunctionResult, parseAbi, toHex } from "viem";
|
|
2
2
|
import { fixedFeePoolHookV1Abi, launchLifecycleAbi, lifecycleErc20Abi } from "./abi.js";
|
|
3
3
|
import { hashLaunchIdentity, hashLaunchPlan, LifecyclePhase } from "./schema.js";
|
|
4
|
-
import {
|
|
4
|
+
import { assertLifecycleReadClientOpen, lifecycleFailureReason, lifecyclePinnedRpc, lifecycleRpc, lifecycleSessionRead, lifecycleSourceClient, lifecycleStage, nitroArbSys, nitroArbSysAbi, nitroGasInfo, nitroGasInfoAbi, readLifecycleBlock, readLifecycleChainId, readLifecycleGasPrice, readNitroPosterGas, registerLifecycleFinalCheck, resolveLifecycleLimits, rpcHex, rpcObject, rpcQuantity } from "./rpc.js";
|
|
5
5
|
import { LifecyclePlanningError } from "./types.js";
|
|
6
6
|
import { decodeAbyssLifecycleMarketConfig, decodePoolBoundV4LifecycleMarketConfig, decodeV4LifecycleMarketConfig, isPoolBoundV4ConfigVersion } from "./markets.js";
|
|
7
7
|
import { hmmV2ForwardingReserve } from "./presets.js";
|
|
@@ -61,7 +61,6 @@ function executionFailure(returnData, error) {
|
|
|
61
61
|
return { ...diagnostic, failureCategory: nativeGasCapped ? "source" : "capacity", error: nativeGasCapped ? "Native execution ran out of gas under the reported RPC gas cap" : "Native execution ran out of gas" };
|
|
62
62
|
return { ...diagnostic, failureCategory: "opaque", error: nativeErrorKind === "execution-reverted" ? "Native execution reverted without a reviewed error" : "Execution failed without a reviewed error" };
|
|
63
63
|
}
|
|
64
|
-
const nitroProofsByInvocation = new WeakMap();
|
|
65
64
|
function conditionRequest(condition, planned) {
|
|
66
65
|
if (condition.kind === "allowance")
|
|
67
66
|
return {
|
|
@@ -118,8 +117,6 @@ async function proveNitroBackend(client, planned, block, limits, gasPrice) {
|
|
|
118
117
|
throw new LifecyclePlanningError("NITRO_METERING_UNAVAILABLE", "Simulated ArbOS version/compute getters differ from the exact pinned chain context");
|
|
119
118
|
}
|
|
120
119
|
}
|
|
121
|
-
// The enclosing simulation rechecks chain and canonical hash after its proofs
|
|
122
|
-
// (including every refusal path); a separate probe-only recheck is redundant.
|
|
123
120
|
}
|
|
124
121
|
async function simulateRpcPass(client, planned, block, transactions, gasLimits, limits, gasPrice, validation) {
|
|
125
122
|
// Natural child-block fees must govern fee-bearing admission; overriding
|
|
@@ -199,10 +196,6 @@ async function simulateRpcPass(client, planned, block, transactions, gasLimits,
|
|
|
199
196
|
}
|
|
200
197
|
return steps;
|
|
201
198
|
}
|
|
202
|
-
/** A decoded semantic refusal or opaque deployment wrapper is never gas evidence. */
|
|
203
|
-
function looksGasExhausted(step, gasLimit) {
|
|
204
|
-
return !step.success && step.failureCategory === "capacity" && step.gasUsed !== undefined && step.gasUsed >= gasLimit - gasLimit / 64n;
|
|
205
|
-
}
|
|
206
199
|
function simulationFailureKind(failure) {
|
|
207
200
|
for (let depth = 0; depth < 8 && failure !== null && typeof failure === "object"; depth += 1) {
|
|
208
201
|
const error = failure;
|
|
@@ -223,6 +216,19 @@ function simulationFailureKind(failure) {
|
|
|
223
216
|
}
|
|
224
217
|
return "source";
|
|
225
218
|
}
|
|
219
|
+
function upfrontFundsFailure(failure) {
|
|
220
|
+
for (let depth = 0; depth < 8 && failure !== null && typeof failure === "object"; depth += 1) {
|
|
221
|
+
const error = failure;
|
|
222
|
+
const status = error.status ?? error.statusCode;
|
|
223
|
+
if (error.name === "AbortError" || typeof status === "number" && status >= 400 && status <= 599 || error.code === 3)
|
|
224
|
+
return false;
|
|
225
|
+
const message = typeof error.details === "string" ? error.details : typeof error.message === "string" ? error.message : "";
|
|
226
|
+
if (error.code === -38014 || (error.code === undefined || error.code === -32000) && /^insufficient funds\b/i.test(message))
|
|
227
|
+
return true;
|
|
228
|
+
failure = error.cause;
|
|
229
|
+
}
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
226
232
|
async function waitForkReceipt(client, transactionHash, timeoutMs) {
|
|
227
233
|
const deadline = Date.now() + timeoutMs;
|
|
228
234
|
while (Date.now() <= deadline) {
|
|
@@ -358,7 +364,7 @@ function observedFields(value) {
|
|
|
358
364
|
}
|
|
359
365
|
/** Internal continuation owned by one SDK read invocation. Only its positive
|
|
360
366
|
* capability proof is reused; every candidate executes its entire economic sequence. */
|
|
361
|
-
export function prepareLaunchSimulation(options, block, hasTransactions = true, reviewedEnvelope, selectedGasPrice) {
|
|
367
|
+
export function prepareLaunchSimulation(options, block, hasTransactions = true, reviewedEnvelope, selectedGasPrice, sizing) {
|
|
362
368
|
const { client, planned, fork } = options;
|
|
363
369
|
const signal = options.signal;
|
|
364
370
|
if (signal?.aborted)
|
|
@@ -401,7 +407,7 @@ export function prepareLaunchSimulation(options, block, hasTransactions = true,
|
|
|
401
407
|
return lifecycleStage(client, "simulation.context", () => Promise.all([
|
|
402
408
|
resolveLifecycleLimits(context, policy),
|
|
403
409
|
readLifecycleChainId(client),
|
|
404
|
-
lifecyclePinnedRpc(client, "eth_getCode", [context.account, toHex(context.block.number)], context.block),
|
|
410
|
+
lifecycleSessionRead(client, `${planned.chainId}:account-code:${context.account.toLowerCase()}`, () => lifecyclePinnedRpc(client, "eth_getCode", [context.account, toHex(context.block.number)], context.block)),
|
|
405
411
|
hasTransactions && reviewedEnvelope === undefined ? selectedGasPrice ?? readLifecycleGasPrice(client) : undefined,
|
|
406
412
|
]));
|
|
407
413
|
})().then((observations) => ({ observations }), (failure) => ({ failure }));
|
|
@@ -442,21 +448,8 @@ export function prepareLaunchSimulation(options, block, hasTransactions = true,
|
|
|
442
448
|
if (capabilityProved)
|
|
443
449
|
return;
|
|
444
450
|
if (capabilityPending === undefined) {
|
|
445
|
-
const key =
|
|
446
|
-
|
|
447
|
-
if (reusable && proofs === undefined) {
|
|
448
|
-
proofs = new Map();
|
|
449
|
-
nitroProofsByInvocation.set(client, proofs);
|
|
450
|
-
}
|
|
451
|
-
const ownedProofs = proofs;
|
|
452
|
-
let nativeProof = ownedProofs?.get(key);
|
|
453
|
-
if (nativeProof === undefined) {
|
|
454
|
-
nativeProof = lifecycleStage(client, "simulation.nitro", () => proveNitroBackend(client, planned, context.block, limits, gasPrice));
|
|
455
|
-
ownedProofs?.set(key, nativeProof);
|
|
456
|
-
const pending = nativeProof;
|
|
457
|
-
void pending.catch(() => { if (ownedProofs?.get(key) === pending)
|
|
458
|
-
ownedProofs?.delete(key); });
|
|
459
|
-
}
|
|
451
|
+
const key = `${context.chainId}:nitro-backend`;
|
|
452
|
+
const nativeProof = lifecycleSessionRead(client, key, () => lifecycleStage(client, "simulation.nitro", () => proveNitroBackend(client, planned, context.block, limits, gasPrice)));
|
|
460
453
|
const proof = nativeProof.then(() => {
|
|
461
454
|
assertContext();
|
|
462
455
|
result.observations[0].assertCurrent();
|
|
@@ -470,7 +463,7 @@ export function prepareLaunchSimulation(options, block, hasTransactions = true,
|
|
|
470
463
|
await capabilityPending;
|
|
471
464
|
assertCurrent();
|
|
472
465
|
};
|
|
473
|
-
const simulation = await simulateLaunchTransactionsWithContext(options, transactions, context, result.observations, proveBackend, assertCurrent, diagnostic, nextEnvelope, selectedGasPrice);
|
|
466
|
+
const simulation = await simulateLaunchTransactionsWithContext(options, transactions, context, result.observations, proveBackend, assertCurrent, diagnostic, nextEnvelope, selectedGasPrice, sizing);
|
|
474
467
|
assertCurrent();
|
|
475
468
|
registerLifecycleFinalCheck(client, result.observations[0].assertCurrent);
|
|
476
469
|
return simulation;
|
|
@@ -489,12 +482,12 @@ export function prepareLaunchSimulation(options, block, hasTransactions = true,
|
|
|
489
482
|
close() { closed = true; capabilityProved = false; capabilityPending = undefined; } });
|
|
490
483
|
return simulate;
|
|
491
484
|
}
|
|
492
|
-
export async function simulateLaunchTransactions(options, transactions, pinnedBlock, nextEnvelope) {
|
|
485
|
+
export async function simulateLaunchTransactions(options, transactions, pinnedBlock, nextEnvelope, sizing) {
|
|
493
486
|
// Standalone calls always produce fresh context, including live chain and fees.
|
|
494
487
|
if (options.fork !== undefined && lifecycleSourceClient(options.fork.client) === lifecycleSourceClient(options.client))
|
|
495
488
|
throw new LifecyclePlanningError("UNSAFE_FORK", "Source RPC must never receive controlled simulation transactions/snapshots/resets");
|
|
496
489
|
const block = pinnedBlock ?? await readLifecycleBlock(options.client);
|
|
497
|
-
const prepared = prepareLaunchSimulation(options, block, transactions.length !== 0, nextEnvelope);
|
|
490
|
+
const prepared = prepareLaunchSimulation(options, block, transactions.length !== 0, nextEnvelope, undefined, sizing);
|
|
498
491
|
try {
|
|
499
492
|
return await prepared(transactions, nextEnvelope);
|
|
500
493
|
}
|
|
@@ -502,7 +495,7 @@ export async function simulateLaunchTransactions(options, transactions, pinnedBl
|
|
|
502
495
|
prepared.close();
|
|
503
496
|
}
|
|
504
497
|
}
|
|
505
|
-
async function simulateLaunchTransactionsWithContext(options, transactions, context, observations, proveBackend, assertCurrent, diagnostic, nextEnvelope, selectedGasPrice) {
|
|
498
|
+
async function simulateLaunchTransactionsWithContext(options, transactions, context, observations, proveBackend, assertCurrent, diagnostic, nextEnvelope, selectedGasPrice, sizing) {
|
|
506
499
|
const { client, planned } = options;
|
|
507
500
|
const sourceClient = lifecycleSourceClient(client);
|
|
508
501
|
const { block } = context;
|
|
@@ -512,19 +505,16 @@ async function simulateLaunchTransactionsWithContext(options, transactions, cont
|
|
|
512
505
|
throw new LifecyclePlanningError("CHAIN_MISMATCH", "RPC chain changed before sequential simulation");
|
|
513
506
|
const accountCode = rpcHex(accountCodeValue, "account code");
|
|
514
507
|
if (accountCode !== "0x") {
|
|
515
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
516
508
|
return { ...base, confidence: "provisional", executionProof: "unavailable", backend: "unavailable", admitted: false, steps: [], reason: "Direct EOA transaction simulation cannot prove smart-account signature/execution behavior" };
|
|
517
509
|
}
|
|
518
510
|
for (const transaction of transactions) {
|
|
519
511
|
if (transaction.from.toLowerCase() !== planned.account.toLowerCase() || BigInt(transaction.chainId) !== planned.chainId)
|
|
520
512
|
throw new LifecyclePlanningError("ACCOUNT_MISMATCH", "Simulation transaction differs from the committed chain/account");
|
|
521
513
|
if (limits.maxCalldataBytes !== undefined && (transaction.data.length - 2) / 2 > limits.maxCalldataBytes) {
|
|
522
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
523
514
|
return { ...base, executionProof: "unavailable", protocolFit: "failed", backend: "unavailable", admitted: false, steps: [], failedTransactionId: transaction.id, failureCategory: "capacity", capacityConstraint: "calldata", reason: "Exact calldata exceeds the supplied chain/account/RPC byte cap" };
|
|
524
515
|
}
|
|
525
516
|
}
|
|
526
517
|
if (transactions.length === 0) {
|
|
527
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
528
518
|
return { ...base, executionProof: "proved", protocolFit: "proved", backend: "unavailable", admitted: true, steps: [] };
|
|
529
519
|
}
|
|
530
520
|
if (nextEnvelope !== undefined && (transactions.length !== 1 || typeof nextEnvelope.gas !== "bigint" || nextEnvelope.gas <= 0n || nextEnvelope.gas >= 1n << 64n ||
|
|
@@ -553,7 +543,6 @@ async function simulateLaunchTransactionsWithContext(options, transactions, cont
|
|
|
553
543
|
const reason = exceedsCompute
|
|
554
544
|
? `${atomic ? "Atomic launch" : "Immediate transaction"} needs about ${gasInMillions(estimatedGas)}M gas, above the ${gasInMillions(computeCap)}M per-transaction limit${atomic ? "; use staged" : ""}`
|
|
555
545
|
: "The immediate transaction estimate exceeds the RPC aggregate simulation gas cap; no prefix can be proved";
|
|
556
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
557
546
|
return { ...base, confidence: "provisional", executionProof: "unavailable", backend: "unavailable", admitted: false, steps: [], failureCategory: "capacity", capacityConstraint: exceedsCompute ? "compute" : "simulation-gas", reason };
|
|
558
547
|
}
|
|
559
548
|
}
|
|
@@ -570,7 +559,7 @@ async function simulateLaunchTransactionsWithContext(options, transactions, cont
|
|
|
570
559
|
try {
|
|
571
560
|
const [, estimates] = await Promise.all([
|
|
572
561
|
proveBackend(limits, gasPrice),
|
|
573
|
-
nextEnvelope === undefined ? lifecycleStage(client, "simulation.poster",
|
|
562
|
+
!diagnostic && nextEnvelope === undefined ? lifecycleStage(client, "simulation.poster", async () => [buffer((await readNitroPosterGas(transactions[0], context)).posterGas)]) : [],
|
|
574
563
|
]);
|
|
575
564
|
posterGas.push(...estimates);
|
|
576
565
|
}
|
|
@@ -578,37 +567,81 @@ async function simulateLaunchTransactionsWithContext(options, transactions, cont
|
|
|
578
567
|
if (simulationFailureKind(failure) === "abort")
|
|
579
568
|
throw failure;
|
|
580
569
|
assertCurrent();
|
|
581
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
582
570
|
return { ...base, confidence: "provisional", executionProof: "unavailable", backend: "unavailable", admitted: false, steps: [], reason: `Native Nitro compute/poster proof unavailable: ${lifecycleFailureReason(failure)}. Generic Anvil/Hardhat forks cannot prove ArbOS metering.` };
|
|
583
571
|
}
|
|
584
572
|
}
|
|
585
573
|
assertCurrent();
|
|
586
|
-
const discoveryGas = transactions.map((
|
|
587
|
-
const total = limits.
|
|
574
|
+
const discoveryGas = transactions.map(() => {
|
|
575
|
+
const total = limits.protocol === "nitro" ? limits.maxSimulationGas ?? block.gasLimit : limits.executionGasCeiling;
|
|
588
576
|
const capped = limits.transactionGasCeiling !== undefined && limits.transactionGasCeiling < total ? limits.transactionGasCeiling : total;
|
|
589
577
|
if (capped <= 0n || capped >= 1n << 64n)
|
|
590
578
|
throw new LifecyclePlanningError("INVALID_GAS_ENVELOPE", "Compute/poster envelope exceeds uint64 gas");
|
|
591
579
|
return capped;
|
|
592
580
|
});
|
|
593
|
-
|
|
581
|
+
if (discoveryGas[0] * gasPrice + transactions[0].value >= 1n << 256n)
|
|
582
|
+
throw new LifecyclePlanningError("INVALID_GAS_ENVELOPE", "Transaction value and fee envelope exceed uint256");
|
|
583
|
+
const balance = rpcQuantity(await lifecyclePinnedRpc(client, "eth_getBalance", [planned.account, toHex(block.number)], block), "creator native balance");
|
|
594
584
|
let measured = [];
|
|
595
|
-
|
|
585
|
+
const hasSizing = !diagnostic && transactions.every((transaction) => sizing?.has(transaction.id));
|
|
586
|
+
let backend = (nextEnvelope !== undefined || hasSizing) && limits.protocol === "evm" && options.fork !== undefined ? "controlled-fork" : "eth_simulateV1";
|
|
587
|
+
if (nextEnvelope === undefined && !hasSizing) {
|
|
588
|
+
// Nitro checks upfront funds even with validation:false. Bound discovery
|
|
589
|
+
// budgets before dispatch, without overriding the payer's real balance.
|
|
590
|
+
const value = transactions.reduce((total, transaction) => total + transaction.value, 0n);
|
|
591
|
+
let available = balance - value;
|
|
592
|
+
if (gasPrice !== 0n)
|
|
593
|
+
available /= gasPrice;
|
|
594
|
+
const sizingGas = discoveryGas.map((ceiling, index) => {
|
|
595
|
+
// Upfront reservation is per call; unused gas is refunded before the next.
|
|
596
|
+
const computeAndPoster = limits.executionGasCeiling + (posterGas[index] ?? 0n);
|
|
597
|
+
const capped = computeAndPoster < ceiling ? computeAndPoster : ceiling;
|
|
598
|
+
return gasPrice === 0n || capped < available ? capped : available;
|
|
599
|
+
});
|
|
600
|
+
let retriedForFunds = false;
|
|
601
|
+
if (balance < value || sizingGas.some((gas) => gas <= 0n))
|
|
602
|
+
return { ...base, executionProof: "unavailable", backend, admitted: false, steps: [], failureCategory: "affordability", reason: "Creator native balance cannot fund transaction value and sizing fee budgets" };
|
|
603
|
+
assertCurrent();
|
|
596
604
|
try {
|
|
597
|
-
|
|
605
|
+
try {
|
|
606
|
+
measured = await lifecycleStage(client, "simulation.measure", () => simulateRpcPass(client, planned, block, transactions, sizingGas, limits, gasPrice, false));
|
|
607
|
+
}
|
|
608
|
+
catch (failure) {
|
|
609
|
+
if (!upfrontFundsFailure(failure))
|
|
610
|
+
throw failure;
|
|
611
|
+
assertCurrent();
|
|
612
|
+
retriedForFunds = true;
|
|
613
|
+
let remaining = available;
|
|
614
|
+
const sharedGas = sizingGas.map((ceiling, index) => {
|
|
615
|
+
if (gasPrice === 0n)
|
|
616
|
+
return ceiling;
|
|
617
|
+
const share = remaining / BigInt(transactions.length - index);
|
|
618
|
+
const gas = ceiling < share ? ceiling : share;
|
|
619
|
+
remaining -= gas;
|
|
620
|
+
return gas;
|
|
621
|
+
});
|
|
622
|
+
measured = await lifecycleStage(client, "simulation.measure", () => simulateRpcPass(client, planned, block, transactions, sharedGas, limits, gasPrice, false));
|
|
623
|
+
}
|
|
598
624
|
}
|
|
599
625
|
catch (failure) {
|
|
600
|
-
if (
|
|
626
|
+
if (upfrontFundsFailure(failure))
|
|
627
|
+
return { ...base, confidence: "provisional", executionProof: "unavailable", backend, admitted: false, steps: [], failureCategory: "affordability", reason: "Native balance cannot cover the sequential sizing fee envelopes" };
|
|
628
|
+
const kind = simulationFailureKind(failure);
|
|
629
|
+
if (kind === "abort")
|
|
601
630
|
throw failure;
|
|
602
631
|
assertCurrent();
|
|
603
|
-
if (options.fork === undefined || limits.protocol === "nitro") {
|
|
604
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
632
|
+
if (options.fork === undefined || limits.protocol === "nitro" || kind !== "source") {
|
|
605
633
|
return { ...base, confidence: "provisional", executionProof: "unavailable", backend: "unavailable", admitted: false, steps: [], reason: `Stateful sequential RPC simulation unavailable: ${lifecycleFailureReason(failure)}. ${limits.protocol === "nitro" ? "Generic Anvil/Hardhat forks cannot prove ArbOS compute/poster metering." : "Dependent eth_call estimates are not proof."}` };
|
|
606
634
|
}
|
|
607
635
|
backend = "controlled-fork";
|
|
608
|
-
measured = await simulateForkPass(options.fork, planned, block, transactions,
|
|
636
|
+
measured = await simulateForkPass(options.fork, planned, block, transactions, sizingGas, gasPrice, true, limits.headroomBps);
|
|
609
637
|
}
|
|
610
638
|
assertCurrent();
|
|
611
639
|
const failedIndex = measured.findIndex((step) => !step.success);
|
|
640
|
+
const refusal = measured[failedIndex];
|
|
641
|
+
if (retriedForFunds && refusal?.failureCategory === "capacity" && refusal.gasLimit !== undefined && refusal.gasLimit < limits.executionGasCeiling) {
|
|
642
|
+
return { ...base, confidence: "provisional", executionProof: "unavailable", backend, admitted: false, steps: measured,
|
|
643
|
+
failedTransactionId: refusal.transactionId, failureCategory: "affordability", reason: "Native balance does not provide the sequential sizing margin; an exact transaction envelope was not proved" };
|
|
644
|
+
}
|
|
612
645
|
if (failedIndex >= 0 && limits.maxSimulationGas !== undefined &&
|
|
613
646
|
measured.reduce((gas, step) => gas + (step.gasUsed ?? 0n), 0n) * 100n >= limits.maxSimulationGas * 95n) {
|
|
614
647
|
// The provider exhausted its aggregate used-gas budget, not the contract.
|
|
@@ -617,100 +650,89 @@ async function simulateLaunchTransactionsWithContext(options, transactions, cont
|
|
|
617
650
|
transactions = transactions.slice(0, failedIndex);
|
|
618
651
|
base.deferredTransactionIds = allTransactions.slice(failedIndex).map((transaction) => transaction.id);
|
|
619
652
|
if (transactions.length === 0) {
|
|
620
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
621
653
|
return { ...base, confidence: "provisional", executionProof: "unavailable", backend, admitted: false, steps: [], failureCategory: "source", reason: "RPC aggregate simulation gas cap left no successful prefix to prove" };
|
|
622
654
|
}
|
|
623
655
|
}
|
|
624
656
|
const failed = measured.find((step) => !step.success);
|
|
625
|
-
if (failed !== undefined)
|
|
626
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
657
|
+
if (diagnostic && failed !== undefined)
|
|
627
658
|
return { ...base, backend, admitted: false, steps: measured, reason: failed.error, failedTransactionId: failed.transactionId, failureCategory: failed.failureCategory ?? "opaque", capacityConstraint: failed.failureCategory === "capacity" ? "compute" : undefined };
|
|
628
|
-
}
|
|
629
659
|
if (diagnostic) {
|
|
630
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
631
660
|
return { ...base, backend, admitted: false, executionProof: "unavailable", steps: measured };
|
|
632
661
|
}
|
|
633
662
|
}
|
|
634
|
-
const
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
663
|
+
const sizedTransactions = measured.length === 0 ? transactions : transactions.slice(0, measured.length);
|
|
664
|
+
const minimumGas = sizedTransactions.map((transaction, index) => {
|
|
665
|
+
return nextEnvelope !== undefined ? 0n : hasSizing ? sizing.get(transaction.id) : measured[index].gasRequired ?? measured[index].gasUsed;
|
|
666
|
+
});
|
|
667
|
+
const gasLimits = nextEnvelope === undefined ? sizedTransactions.map((transaction, index) => {
|
|
668
|
+
// Suffix budgets prove feasibility, not a future transaction's fee estimate.
|
|
669
|
+
if (index > 0)
|
|
670
|
+
return discoveryGas[index];
|
|
671
|
+
const gross = minimumGas[index];
|
|
672
|
+
const reserve = transaction.kind === "activate" || transaction.kind === "atomic" ? hmmV2ForwardingReserve(planned.plan) : 0n;
|
|
673
|
+
const buffered = gross + reserve > buffer(gross) ? gross + reserve : buffer(gross);
|
|
674
|
+
const desired = buffered + (posterGas[0] ?? 0n);
|
|
675
|
+
return desired < discoveryGas[index] ? desired : discoveryGas[index];
|
|
640
676
|
}) : [nextEnvelope.gas];
|
|
677
|
+
if (gasLimits[0] * gasPrice + transactions[0].value >= 1n << 256n)
|
|
678
|
+
throw new LifecyclePlanningError("INVALID_GAS_ENVELOPE", "Transaction value and fee envelope exceed uint256");
|
|
679
|
+
const validate = nextEnvelope !== undefined || measured.every((step) => step.success);
|
|
680
|
+
if (nextEnvelope === undefined) {
|
|
681
|
+
const value = transactions.reduce((total, transaction) => total + transaction.value, 0n);
|
|
682
|
+
let available = balance - value;
|
|
683
|
+
let suffixMinimum = minimumGas.slice(1).reduce((total, gas) => total + gas, 0n);
|
|
684
|
+
if (gasPrice !== 0n)
|
|
685
|
+
available /= gasPrice;
|
|
686
|
+
for (let index = 0; index < gasLimits.length && gasPrice !== 0n; index += 1) {
|
|
687
|
+
const minimum = minimumGas[index];
|
|
688
|
+
if (index > 0)
|
|
689
|
+
suffixMinimum -= minimum;
|
|
690
|
+
const budget = index === 0 ? available - suffixMinimum : minimum + (available - minimum - suffixMinimum) / BigInt(gasLimits.length - index);
|
|
691
|
+
if (gasLimits[index] > budget)
|
|
692
|
+
gasLimits[index] = budget;
|
|
693
|
+
available -= gasLimits[index];
|
|
694
|
+
}
|
|
695
|
+
if (balance < value || gasLimits.some((gas, index) => gas <= 0n && minimumGas[index] > 0n))
|
|
696
|
+
return { ...base, executionProof: "unavailable", backend, admitted: false, steps: measured, failureCategory: "affordability", reason: "Creator native balance cannot fund transaction value and execution fee envelopes" };
|
|
697
|
+
}
|
|
641
698
|
const exceeds = gasLimits.findIndex((gas, index) => gas <= 0n || gas >= 1n << 64n || limits.transactionGasCeiling !== undefined && gas > limits.transactionGasCeiling ||
|
|
642
|
-
nextEnvelope === undefined && (measured[index].gasRequired ?? measured[index].gasUsed) > gas
|
|
699
|
+
nextEnvelope === undefined && !hasSizing && (measured[index].gasRequired ?? measured[index].gasUsed) > gas ||
|
|
643
700
|
limits.protocol === "evm" && gas > limits.executionGasCeiling);
|
|
644
701
|
if (exceeds >= 0) {
|
|
645
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
646
702
|
return { ...base, executionProof: "unavailable", protocolFit: "failed", backend, admitted: false, steps: measured, failureCategory: "capacity", capacityConstraint: "gas-envelope", reason: "Measured execution or reviewed gas exceeds the current compute/complete transaction envelope", failedTransactionId: transactions[exceeds]?.id };
|
|
647
703
|
}
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
let
|
|
651
|
-
|
|
652
|
-
? simulateRpcPass(client, planned, block, transactions, gas, limits, gasPrice, true)
|
|
653
|
-
: simulateForkPass(options.fork, planned, block, transactions, gas, gasPrice, false, limits.headroomBps);
|
|
654
|
-
try {
|
|
655
|
-
verifiedSteps = await lifecycleStage(client, "simulation.replay", () => replay(gasLimits));
|
|
656
|
-
}
|
|
657
|
-
catch (failure) {
|
|
658
|
-
const kind = simulationFailureKind(failure);
|
|
659
|
-
if (kind === "abort")
|
|
660
|
-
throw failure;
|
|
661
|
-
assertCurrent();
|
|
662
|
-
if (kind !== "out-of-gas" || backend !== "eth_simulateV1" || nextEnvelope !== undefined) {
|
|
663
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
664
|
-
return { ...base, backend: "unavailable", confidence: "provisional", executionProof: "unavailable", admitted: false, steps: measured, failureCategory: kind === "source" ? "source" : "opaque", reason: `Exact-gas validated replay unavailable: ${lifecycleFailureReason(failure)}` };
|
|
665
|
-
}
|
|
666
|
-
replayError = lifecycleFailureReason(failure);
|
|
667
|
-
}
|
|
668
|
-
assertCurrent();
|
|
669
|
-
let finalFailure = verifiedSteps.find((step) => !step.success);
|
|
670
|
-
const failedIndex = verifiedSteps.findIndex((step) => !step.success);
|
|
671
|
-
const rescue = nextEnvelope === undefined && backend === "eth_simulateV1" &&
|
|
672
|
-
(replayError !== undefined && discoveryGas.some((gas, index) => index < transactions.length && gas > gasLimits[index]) ||
|
|
673
|
-
finalFailure !== undefined && looksGasExhausted(finalFailure, gasLimits[failedIndex]) && discoveryGas[failedIndex] > gasLimits[failedIndex]);
|
|
674
|
-
// One legal-envelope rescue covers thrown/returned genuine OOG. Never retry
|
|
675
|
-
// semantic errors, switch replay backends, or enlarge a held immediate envelope.
|
|
676
|
-
if (rescue) {
|
|
677
|
-
assertCurrent();
|
|
704
|
+
// Size first, then prove and return this exact executable envelope. Diagnostic
|
|
705
|
+
// gas budgets and caller-held proposals are never execution admission.
|
|
706
|
+
let verifiedSteps = measured;
|
|
707
|
+
if (validate) {
|
|
678
708
|
try {
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
replayError = undefined;
|
|
709
|
+
verifiedSteps = await lifecycleStage(client, "simulation.measure", () => backend === "eth_simulateV1"
|
|
710
|
+
? simulateRpcPass(client, planned, block, transactions, gasLimits, limits, gasPrice, true)
|
|
711
|
+
: simulateForkPass(options.fork, planned, block, transactions, gasLimits, gasPrice, false, limits.headroomBps));
|
|
683
712
|
}
|
|
684
713
|
catch (failure) {
|
|
685
|
-
|
|
686
|
-
if (kind === "abort")
|
|
714
|
+
if (simulationFailureKind(failure) === "abort")
|
|
687
715
|
throw failure;
|
|
688
716
|
assertCurrent();
|
|
689
|
-
|
|
690
|
-
if (kind !== "out-of-gas")
|
|
691
|
-
return { ...base, backend: "unavailable", confidence: "provisional", executionProof: "unavailable", admitted: false, steps: measured, failureCategory: kind === "source" ? "source" : "opaque", reason: `Legal-envelope validated replay unavailable: ${lifecycleFailureReason(failure)}` };
|
|
692
|
-
return { ...base, backend, admitted: false, steps: measured, reason: `Validated execution at the exact current gas ceiling still failed: ${lifecycleFailureReason(failure)}` };
|
|
717
|
+
return { ...base, backend: "unavailable", confidence: "provisional", executionProof: "unavailable", admitted: false, steps: [], reason: `Exact transaction simulation unavailable: ${lifecycleFailureReason(failure)}` };
|
|
693
718
|
}
|
|
694
719
|
}
|
|
695
|
-
if (replayError !== undefined) {
|
|
696
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
697
|
-
return { ...base, backend, admitted: false, steps: measured, reason: `Validated execution at the exact current gas ceiling failed: ${replayError}` };
|
|
698
|
-
}
|
|
699
720
|
assertCurrent();
|
|
721
|
+
const finalFailure = verifiedSteps.find((step) => !step.success);
|
|
700
722
|
const estimates = [];
|
|
701
|
-
|
|
702
|
-
// fee observations without inventing a balance or doing redundant payer work.
|
|
703
|
-
let remainingBalance = finalFailure === undefined
|
|
704
|
-
? rpcQuantity(await lifecyclePinnedRpc(client, "eth_getBalance", [planned.account, toHex(block.number)], block), "creator native balance")
|
|
705
|
-
: undefined;
|
|
723
|
+
let remainingBalance = finalFailure === undefined ? balance : undefined;
|
|
706
724
|
let affordabilityFailure;
|
|
707
725
|
const feeContext = configuration.estimateDataFee === undefined || sourceClient === client ? context : { ...context, client: sourceClient };
|
|
708
726
|
for (let index = 0; index < verifiedSteps.length; index += 1) {
|
|
709
727
|
const step = verifiedSteps[index];
|
|
710
728
|
const transaction = transactions[index];
|
|
711
|
-
const gasLimit =
|
|
729
|
+
const gasLimit = gasLimits[index];
|
|
712
730
|
if (step === undefined || transaction === undefined || gasLimit === undefined)
|
|
713
731
|
throw new LifecyclePlanningError("INVALID_SIMULATION", "Missing verified fee context");
|
|
732
|
+
if (index > 0) {
|
|
733
|
+
estimates.push({ ...step, computeGasRequired: minimumGas[index], provisional: true });
|
|
734
|
+
continue;
|
|
735
|
+
}
|
|
714
736
|
const dataFee = limits.protocol === "nitro" ? 0n : configuration.estimateDataFee === undefined ? undefined : await configuration.estimateDataFee({ ...transaction, gas: gasLimit, gasPrice }, feeContext);
|
|
715
737
|
if (dataFee !== undefined && (typeof dataFee !== "bigint" || dataFee < 0n || dataFee >= 1n << 256n))
|
|
716
738
|
throw new LifecyclePlanningError("INVALID_DATA_FEE", "Data-fee oracle must return a nonnegative uint256 bigint amount");
|
|
@@ -725,9 +747,8 @@ async function simulateLaunchTransactionsWithContext(options, transactions, cont
|
|
|
725
747
|
remainingBalance -= required;
|
|
726
748
|
}
|
|
727
749
|
const poster = posterGas[index];
|
|
728
|
-
estimates.push({ ...step, estimate: { gasUsed: step.gasUsed ?? 0n, gasLimit, gasPrice, executionFee, dataFee, posterGas: poster, posterFee: poster === undefined ? undefined : poster * gasPrice, dataFeeIncludedInGas: limits.protocol === "nitro", totalFee: dataFee === undefined ? undefined : executionFee + dataFee, feeConfidence: dataFee === undefined ? "execution-only" : "execution-and-data" } });
|
|
750
|
+
estimates.push({ ...step, computeGasRequired: nextEnvelope === undefined ? minimumGas[index] : undefined, estimate: { gasUsed: step.gasUsed ?? 0n, gasLimit, gasPrice, executionFee, dataFee, posterGas: poster, posterFee: poster === undefined ? undefined : poster * gasPrice, dataFeeIncludedInGas: limits.protocol === "nitro", totalFee: dataFee === undefined ? undefined : executionFee + dataFee, feeConfidence: dataFee === undefined ? "execution-only" : "execution-and-data" } });
|
|
729
751
|
}
|
|
730
|
-
await assertLifecycleBlock(client, block, planned.chainId);
|
|
731
752
|
return { ...base, backend, executionProof: finalFailure === undefined ? "proved" : "failed", protocolFit: finalFailure === undefined ? "proved" : "unknown", admitted: finalFailure === undefined && affordabilityFailure === undefined, steps: estimates, reason: finalFailure?.error ?? affordabilityFailure, failedTransactionId: finalFailure?.transactionId, failureCategory: finalFailure?.failureCategory ?? (affordabilityFailure === undefined ? undefined : "affordability"), capacityConstraint: finalFailure?.failureCategory === "capacity" ? "compute" : undefined };
|
|
732
753
|
}
|
|
733
754
|
//# sourceMappingURL=simulation.js.map
|