@black-market/sdk 0.12.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.
Files changed (57) hide show
  1. package/README.md +96 -96
  2. package/dist/lifecycle/index.d.ts +3 -1
  3. package/dist/lifecycle/index.d.ts.map +1 -1
  4. package/dist/lifecycle/index.js +3 -1
  5. package/dist/lifecycle/index.js.map +1 -1
  6. package/dist/lifecycle/lens.d.ts +409 -0
  7. package/dist/lifecycle/lens.d.ts.map +1 -0
  8. package/dist/lifecycle/lens.js +30 -0
  9. package/dist/lifecycle/lens.js.map +1 -0
  10. package/dist/lifecycle/mining.d.ts +47 -0
  11. package/dist/lifecycle/mining.d.ts.map +1 -0
  12. package/dist/lifecycle/mining.js +89 -0
  13. package/dist/lifecycle/mining.js.map +1 -0
  14. package/dist/lifecycle/planner.d.ts.map +1 -1
  15. package/dist/lifecycle/planner.js +121 -78
  16. package/dist/lifecycle/planner.js.map +1 -1
  17. package/dist/lifecycle/presets.d.ts +3 -0
  18. package/dist/lifecycle/presets.d.ts.map +1 -1
  19. package/dist/lifecycle/presets.js +1 -0
  20. package/dist/lifecycle/presets.js.map +1 -1
  21. package/dist/lifecycle/progress.d.ts +51 -1
  22. package/dist/lifecycle/progress.d.ts.map +1 -1
  23. package/dist/lifecycle/progress.js +149 -73
  24. package/dist/lifecycle/progress.js.map +1 -1
  25. package/dist/lifecycle/rpc.d.ts +14 -4
  26. package/dist/lifecycle/rpc.d.ts.map +1 -1
  27. package/dist/lifecycle/rpc.js +171 -12
  28. package/dist/lifecycle/rpc.js.map +1 -1
  29. package/dist/lifecycle/simulation.d.ts +5 -3
  30. package/dist/lifecycle/simulation.d.ts.map +1 -1
  31. package/dist/lifecycle/simulation.js +137 -115
  32. package/dist/lifecycle/simulation.js.map +1 -1
  33. package/dist/lifecycle/snapshot.d.ts +8 -0
  34. package/dist/lifecycle/snapshot.d.ts.map +1 -0
  35. package/dist/lifecycle/snapshot.js +79 -0
  36. package/dist/lifecycle/snapshot.js.map +1 -0
  37. package/dist/lifecycle/types.d.ts +27 -5
  38. package/dist/lifecycle/types.d.ts.map +1 -1
  39. package/dist/lifecycle/types.js.map +1 -1
  40. package/docs/launch-lifecycle.md +627 -1495
  41. package/docs/reference.md +365 -0
  42. package/examples/.env.example +3 -2
  43. package/examples/README.md +171 -552
  44. package/examples/launch-example-support.ts +11 -3
  45. package/examples/launch-example.ts +1 -1
  46. package/examples/launch-lifecycle-smoke.ts +1 -1
  47. package/package.json +1 -1
  48. package/src/lifecycle/index.ts +5 -1
  49. package/src/lifecycle/lens.ts +42 -0
  50. package/src/lifecycle/mining.ts +80 -0
  51. package/src/lifecycle/planner.ts +122 -73
  52. package/src/lifecycle/presets.ts +4 -0
  53. package/src/lifecycle/progress.ts +132 -59
  54. package/src/lifecycle/rpc.ts +163 -13
  55. package/src/lifecycle/simulation.ts +134 -106
  56. package/src/lifecycle/snapshot.ts +72 -0
  57. package/src/lifecycle/types.ts +24 -6
@@ -15,17 +15,27 @@ export declare function lifecyclePinnedRpc(client: LifecycleRpcClient, method: "
15
15
  /** Explicit SDK-owned static class only; balances and execution calls never use this path. */
16
16
  export declare function lifecycleStaticRpc(client: LifecycleRpcClient, method: "eth_call" | "eth_getCode", params: readonly unknown[], block: LifecycleBlock): Promise<unknown>;
17
17
  export declare function lifecycleRpc(client: LifecycleRpcClient, method: string, params?: readonly unknown[]): Promise<unknown>;
18
- /** One invocation's observed identity. End-of-operation and submission checks
19
- * deliberately use uncached eth_chainId so a switched provider cannot retain proof. */
18
+ /** One invocation's observed identity; wallet submission owns its final chain check. */
20
19
  export declare function readLifecycleChainId(client: LifecycleRpcClient): Promise<bigint>;
20
+ /** A single operation-local recommendation, never a session or cross-head quote. */
21
+ export declare function readLifecycleGasPrice(client: LifecycleRpcClient): Promise<unknown>;
22
+ /** Only the reviewed immutable factory identity may use an invocation-wide key. */
23
+ export declare function readLifecycleImmutable<T>(client: LifecycleRpcClient, key: string, work: () => Promise<T>): Promise<T>;
24
+ /** Successful deployment/backend observations live for the caller's session, not one block. */
25
+ export declare function lifecycleSessionRead<T>(client: LifecycleRpcClient, key: string, work: () => Promise<T>): Promise<T>;
26
+ export declare function attestLifecycleMulticall(client: LifecycleRpcClient, block?: LifecycleBlock): Promise<void>;
27
+ /** Installs only SDK-observed wire results from this invocation's aggregate/lens. */
28
+ export declare function seedLifecycleRead(client: LifecycleRpcClient, method: string, params: readonly unknown[], block: LifecycleBlock, value: unknown): void;
29
+ /** Recheck live policy after the owner's final asynchronous canonical guards. */
30
+ export declare function registerLifecycleFinalCheck(client: LifecycleRpcClient, check: () => void): void;
21
31
  export declare function rpcObject(value: unknown, label: string): Record<string, unknown>;
22
32
  export declare function rpcHex(value: unknown, label: string): Hex;
23
33
  export declare function rpcQuantity(value: unknown, label: string): bigint;
24
34
  /** Public refusal details contain only fixed text and numeric RPC/HTTP codes, never provider messages. */
25
35
  export declare function lifecycleFailureReason(failure: unknown): string;
26
36
  export declare function readLifecycleBlock(client: LifecycleRpcClient, tag?: Hex | "latest"): Promise<LifecycleBlock>;
27
- export declare function assertLifecycleBlock(client: LifecycleRpcClient, block: LifecycleBlock, expectedChainId?: bigint): Promise<void>;
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>;
37
+ export declare function assertLifecycleBlock(client: LifecycleRpcClient, block: Pick<LifecycleBlock, "number" | "hash">, expectedChainId?: bigint): Promise<void>;
38
+ export declare function readLifecycleContract<T>(client: LifecycleRpcClient, to: Address, abi: Abi, functionName: string, args: readonly unknown[], block: LifecycleBlock, from?: Address, staticRead?: boolean, independent?: boolean): Promise<T>;
29
39
  /** Certification/configuration getters, explicitly selected by their SDK callsite. */
30
40
  export declare function readLifecycleStaticContract<T>(client: LifecycleRpcClient, to: Address, abi: Abi, functionName: string, args: readonly unknown[], block: LifecycleBlock, from?: Address): Promise<T>;
31
41
  /** A reviewed registry must supply topology; missing selectors never certify a profile. */
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/lifecycle/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/lifecycle/rpc.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
- import { decodeFunctionResult, encodeFunctionData, isAddress, isHex, parseAbi, toHex } from "viem";
1
+ import { decodeFunctionResult, encodeFunctionData, isAddress, isHex, keccak256, multicall3Abi, parseAbi, toHex } from "viem";
2
2
  import { LifecyclePlanningError } from "./types.js";
3
3
  import { lifecycleRegistryAbi } from "./abi.js";
4
+ import { robinhoodMainnet } from "../addresses.js";
5
+ // Reviewed chain4663 deployment, independently observed at block 98,136,655.
6
+ const multicall3CodeHash = "0xd5c15df687b16f2ff992fc8d767b4216323184a2bbc6ee2f9c398c318e770891";
7
+ const sessionObservations = new WeakMap();
8
+ const canonicalWireValue = (_key, value) => typeof value === "string" && value.startsWith("0x") ? value.toLowerCase() : value;
4
9
  const lifecycleReadConcurrency = 8;
5
10
  const diagnosticRpcMethods = {
6
11
  eth_chainId: true, eth_getBlockByNumber: true, eth_getBlockByHash: true, eth_getCode: true,
@@ -56,6 +61,10 @@ class InvocationLifecycleClient {
56
61
  concurrency;
57
62
  diagnosticSequence = 0;
58
63
  chainId;
64
+ gasPrice;
65
+ immutableReads = new Map();
66
+ independentReads = new Map();
67
+ finalChecks = new Set();
59
68
  limitObservations = new Map();
60
69
  session;
61
70
  sessionGroup;
@@ -137,6 +146,80 @@ class InvocationLifecycleClient {
137
146
  this.assertOpen();
138
147
  return this.chainId ??= this.run("eth_chainId", []).then((value) => rpcQuantity(value, "chain ID"));
139
148
  }
149
+ observeGasPrice() {
150
+ this.assertOpen();
151
+ return this.gasPrice ??= this.run("eth_gasPrice", []);
152
+ }
153
+ immutableRead(key, work) {
154
+ this.assertOpen();
155
+ let pending = this.immutableReads.get(key);
156
+ if (pending === undefined) {
157
+ pending = work();
158
+ this.immutableReads.set(key, pending);
159
+ const owned = pending;
160
+ void pending.catch(() => { if (this.immutableReads.get(key) === owned)
161
+ this.immutableReads.delete(key); });
162
+ }
163
+ return pending.then((value) => { this.assertOpen(); return value; });
164
+ }
165
+ async finalize() {
166
+ this.assertOpen();
167
+ for (const check of this.finalChecks)
168
+ check();
169
+ }
170
+ independentRead(params, block, staticRead) {
171
+ return this.read("eth_call", params, block, staticRead, () => new Promise((resolve, reject) => {
172
+ const key = `${block.number}:${block.hash.toLowerCase()}`;
173
+ let group = this.independentReads.get(key);
174
+ if (group === undefined) {
175
+ group = { block, reads: [] };
176
+ this.independentReads.set(key, group);
177
+ queueMicrotask(() => {
178
+ this.independentReads.delete(key);
179
+ void this.flushIndependentReads(group);
180
+ });
181
+ }
182
+ group.reads.push({ params, resolve, reject });
183
+ }));
184
+ }
185
+ async flushIndependentReads(group) {
186
+ const { block, reads } = group;
187
+ try {
188
+ if (await this.observeChainId() !== 4663n) {
189
+ await Promise.all(reads.map(async (read) => {
190
+ try {
191
+ read.resolve(await this.run("eth_call", read.params));
192
+ }
193
+ catch (failure) {
194
+ read.reject(failure);
195
+ }
196
+ }));
197
+ return;
198
+ }
199
+ const to = robinhoodMainnet.contracts.multicall3.address;
200
+ await attestLifecycleMulticall(this, block);
201
+ const calls = reads.map((read) => {
202
+ const request = read.params[0];
203
+ return { target: request.to, allowFailure: true, callData: request.data };
204
+ });
205
+ const data = encodeFunctionData({ abi: multicall3Abi, functionName: "aggregate3", args: [calls] });
206
+ const raw = rpcHex(await this.run("eth_call", [{ to, data }, toHex(block.number)]), "Multicall3 result");
207
+ const results = decodeFunctionResult({ abi: multicall3Abi, functionName: "aggregate3", data: raw });
208
+ if (results.length !== reads.length)
209
+ throw new LifecyclePlanningError("INVALID_RPC_RESPONSE", "Multicall3 omitted independent pinned results");
210
+ for (let index = 0; index < reads.length; index += 1) {
211
+ const result = results[index];
212
+ if (result.success)
213
+ reads[index].resolve(result.returnData);
214
+ else
215
+ reads[index].reject(new LifecyclePlanningError("MULTICALL_READ_FAILED", "An independent pinned getter reverted"));
216
+ }
217
+ }
218
+ catch (failure) {
219
+ for (const read of reads)
220
+ read.reject(failure);
221
+ }
222
+ }
140
223
  observeLimits(context, source) {
141
224
  this.assertOpen();
142
225
  // A caller callback is live policy, not an immutable pinned observation.
@@ -164,11 +247,11 @@ class InvocationLifecycleClient {
164
247
  }
165
248
  return observation.then((result) => { this.assertOpen(); result.assertCurrent(); return result; });
166
249
  }
167
- read(method, params, block, staticRead = false) {
250
+ read(method, params, block, staticRead = false, load) {
168
251
  this.assertOpen();
169
252
  // Source identity is this scope's original client. The complete wire call includes
170
253
  // caller, value, gas and any other call fields; no selector-only/ABI-name aliasing.
171
- const key = JSON.stringify([block.number.toString(), block.hash.toLowerCase(), method, params]);
254
+ const key = JSON.stringify([block.number.toString(), block.hash, method, params], canonicalWireValue);
172
255
  const existing = this.reads.get(key);
173
256
  if (existing !== undefined) {
174
257
  if (staticRead && this.session !== undefined)
@@ -189,7 +272,7 @@ class InvocationLifecycleClient {
189
272
  else {
190
273
  if (staticRead && this.session !== undefined)
191
274
  this.sessionMisses += 1;
192
- pending = this.run(method, params);
275
+ pending = load === undefined ? this.run(method, params) : load();
193
276
  if (group !== undefined)
194
277
  pending = pending.then((value) => {
195
278
  // Never share in-flight work or install late results after invalidation/closure.
@@ -204,11 +287,20 @@ class InvocationLifecycleClient {
204
287
  this.reads.delete(key); });
205
288
  return pending;
206
289
  }
290
+ seed(method, params, block, value) {
291
+ this.assertOpen();
292
+ const key = JSON.stringify([block.number.toString(), block.hash, method, params], canonicalWireValue);
293
+ this.reads.set(key, Promise.resolve(value));
294
+ }
207
295
  close(success) {
208
296
  this.closed = true;
209
297
  this.reads.clear();
210
298
  this.chainId = undefined;
211
299
  this.limitObservations.clear();
300
+ this.gasPrice = undefined;
301
+ this.immutableReads.clear();
302
+ this.independentReads.clear();
303
+ this.finalChecks.clear();
212
304
  const listener = this.source.onDiagnostic;
213
305
  if (this.session !== undefined && listener !== undefined)
214
306
  emitLifecycleDiagnostic(listener, {
@@ -224,7 +316,16 @@ export async function withLifecycleReadClient(source, work) {
224
316
  const client = new InvocationLifecycleClient(source);
225
317
  let success = false;
226
318
  try {
227
- const result = await work(client);
319
+ let result;
320
+ try {
321
+ result = await work(client);
322
+ }
323
+ catch (failure) {
324
+ // Live policy is rechecked even when exact execution or a source read refuses.
325
+ await client.finalize();
326
+ throw failure;
327
+ }
328
+ await client.finalize();
228
329
  success = true;
229
330
  return result;
230
331
  }
@@ -281,13 +382,67 @@ export function lifecycleStaticRpc(client, method, params, block) {
281
382
  export async function lifecycleRpc(client, method, params = []) {
282
383
  return client instanceof InvocationLifecycleClient ? client.run(method, params) : client.request({ method, params });
283
384
  }
284
- /** One invocation's observed identity. End-of-operation and submission checks
285
- * deliberately use uncached eth_chainId so a switched provider cannot retain proof. */
385
+ /** One invocation's observed identity; wallet submission owns its final chain check. */
286
386
  export function readLifecycleChainId(client) {
287
387
  return client instanceof InvocationLifecycleClient
288
388
  ? client.observeChainId()
289
389
  : lifecycleRpc(client, "eth_chainId").then((value) => rpcQuantity(value, "chain ID"));
290
390
  }
391
+ /** A single operation-local recommendation, never a session or cross-head quote. */
392
+ export function readLifecycleGasPrice(client) {
393
+ return client instanceof InvocationLifecycleClient ? client.observeGasPrice() : lifecycleRpc(client, "eth_gasPrice");
394
+ }
395
+ /** Only the reviewed immutable factory identity may use an invocation-wide key. */
396
+ export function readLifecycleImmutable(client, key, work) {
397
+ return (client instanceof InvocationLifecycleClient ? client.immutableRead(key, work) : work());
398
+ }
399
+ /** Successful deployment/backend observations live for the caller's session, not one block. */
400
+ export function lifecycleSessionRead(client, key, work) {
401
+ const source = lifecycleSourceClient(client);
402
+ const owner = source.sessionCache ?? source;
403
+ let values = sessionObservations.get(owner);
404
+ if (values === undefined) {
405
+ values = new Map();
406
+ sessionObservations.set(owner, values);
407
+ }
408
+ let pending = values.get(key);
409
+ if (pending === undefined) {
410
+ pending = work();
411
+ values.set(key, pending);
412
+ const owned = pending;
413
+ void pending.catch(() => { if (values.get(key) === owned)
414
+ values.delete(key); });
415
+ }
416
+ return pending;
417
+ }
418
+ export async function attestLifecycleMulticall(client, block) {
419
+ const to = robinhoodMainnet.contracts.multicall3.address;
420
+ await lifecycleSessionRead(client, `4663:multicall:${to}`, async () => {
421
+ const code = rpcHex(await lifecycleRpc(client, "eth_getCode", [to, block === undefined ? "latest" : toHex(block.number)]), "Multicall3 code");
422
+ if (keccak256(code) !== multicall3CodeHash)
423
+ throw new LifecyclePlanningError("MULTICALL_CODE_MISMATCH", "Multicall3 runtime differs from the reviewed chain4663 deployment");
424
+ });
425
+ }
426
+ /** Installs only SDK-observed wire results from this invocation's aggregate/lens. */
427
+ export function seedLifecycleRead(client, method, params, block, value) {
428
+ if (!(client instanceof InvocationLifecycleClient))
429
+ throw new LifecyclePlanningError("INVALID_READ_CONTEXT", "Snapshot reads require an invocation owner");
430
+ client.observeBlock(block, true);
431
+ client.seed(method, params, block, value);
432
+ }
433
+ /** Recheck live policy after the owner's final asynchronous canonical guards. */
434
+ export function registerLifecycleFinalCheck(client, check) {
435
+ if (client instanceof InvocationLifecycleClient) {
436
+ client.assertOpen();
437
+ client.finalChecks.add(check);
438
+ }
439
+ }
440
+ /** SDK-selected caller-independent getters only; never poster quotes or execution. */
441
+ function lifecycleIndependentRpc(client, params, block, staticRead) {
442
+ return client instanceof InvocationLifecycleClient
443
+ ? client.independentRead(params, block, staticRead)
444
+ : lifecyclePinnedRpc(client, "eth_call", params, block, staticRead);
445
+ }
291
446
  export function rpcObject(value, label) {
292
447
  if (value === null || typeof value !== "object" || Array.isArray(value))
293
448
  throw new LifecyclePlanningError("INVALID_RPC_RESPONSE", `${label} must be an object`);
@@ -336,6 +491,8 @@ export async function readLifecycleBlock(client, tag = "latest") {
336
491
  return block;
337
492
  }
338
493
  export async function assertLifecycleBlock(client, block, expectedChainId) {
494
+ if (client instanceof InvocationLifecycleClient)
495
+ return;
339
496
  const [chainId, current] = await Promise.all([
340
497
  expectedChainId === undefined ? undefined : lifecycleRpc(client, "eth_chainId"),
341
498
  readLifecycleBlock(client, toHex(block.number)),
@@ -351,13 +508,15 @@ export async function assertLifecycleBlock(client, block, expectedChainId) {
351
508
  throw new LifecyclePlanningError("STATE_REORGED", "Pinned launch state changed during the operation; read canonical progress again");
352
509
  }
353
510
  }
354
- export async function readLifecycleContract(client, to, abi, functionName, args, block, from, staticRead = false) {
511
+ export async function readLifecycleContract(client, to, abi, functionName, args, block, from, staticRead = false, independent = false) {
355
512
  const data = encodeFunctionData({ abi, functionName, args });
356
513
  const request = [{ to, from, data }, toHex(block.number)];
357
514
  const getter = abi.some((item) => item.type === "function" && item.name === functionName && (item.stateMutability === "view" || item.stateMutability === "pure"));
358
- const result = rpcHex(await (getter && functionName !== "readLaunchProgress"
359
- ? staticRead ? lifecycleStaticRpc(client, "eth_call", request, block) : lifecyclePinnedRpc(client, "eth_call", request, block)
360
- : lifecycleRpc(client, "eth_call", request)), functionName);
515
+ const result = rpcHex(await (independent
516
+ ? lifecycleIndependentRpc(client, request, block, staticRead)
517
+ : getter
518
+ ? staticRead ? lifecycleStaticRpc(client, "eth_call", request, block) : lifecyclePinnedRpc(client, "eth_call", request, block)
519
+ : lifecycleRpc(client, "eth_call", request)), functionName);
361
520
  // ABI decoding validates scalar widths and tuple layout; T names that exact frozen ABI result.
362
521
  const decoded = decodeFunctionResult({ abi, functionName, data: result });
363
522
  return decoded;
@@ -393,7 +552,7 @@ export async function readNitroPosterGas(transaction, context) {
393
552
  }
394
553
  async function readNitroScalar(context, to, abi, functionName) {
395
554
  const data = encodeFunctionData({ abi, functionName });
396
- const result = rpcHex(await lifecycleStaticRpc(context.client, "eth_call", [{ to, data }, toHex(context.block.number)], context.block), functionName);
555
+ const result = rpcHex(await lifecycleIndependentRpc(context.client, [{ to, data }, toHex(context.block.number)], context.block, true), functionName);
397
556
  if (result.length !== 66)
398
557
  throw new LifecyclePlanningError("INVALID_RPC_RESPONSE", `${functionName} must return exactly one ABI word`);
399
558
  return decodeFunctionResult({ abi, functionName, data: result });
@@ -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 admission always performs validated replay. */
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): 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;AA0S9V,qFAAqF;AACrF,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAClF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAAE,YAAY,CAAC,EAAE,uBAAuB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG;IACjK,4FAA4F;IAC5F,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,GAAG,wBAAwB,CAuH/L;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,SAAS,oBAAoB,EAAE,EAAE,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAOtO"}
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"}