@black-market/sdk 0.5.1 → 0.6.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 +24 -133
- package/assets/abyss-social.webp +0 -0
- package/dist/lifecycle/planner.d.ts.map +1 -1
- package/dist/lifecycle/planner.js +45 -10
- package/dist/lifecycle/planner.js.map +1 -1
- package/dist/lifecycle/rpc.d.ts +37 -2
- package/dist/lifecycle/rpc.d.ts.map +1 -1
- package/dist/lifecycle/rpc.js +84 -26
- package/dist/lifecycle/rpc.js.map +1 -1
- package/dist/lifecycle/simulation.d.ts.map +1 -1
- package/dist/lifecycle/simulation.js +102 -30
- package/dist/lifecycle/simulation.js.map +1 -1
- package/dist/lifecycle/types.d.ts +27 -4
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/docs/launch-lifecycle.md +126 -15
- package/examples/.env.example +7 -10
- package/examples/README.md +24 -18
- package/examples/launch-example-support.mjs +8 -12
- package/examples/launch-example.mjs +15 -18
- package/package.json +2 -2
- package/src/lifecycle/planner.ts +37 -9
- package/src/lifecycle/rpc.ts +72 -25
- package/src/lifecycle/simulation.ts +90 -28
- package/src/lifecycle/types.ts +21 -5
- package/assets/splash.png +0 -0
package/README.md
CHANGED
|
@@ -1,83 +1,29 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# Abyss TypeScript SDK
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
[Robinhood Chain](https://robinhoodchain.blockscout.com). Built on
|
|
7
|
-
[viem](https://viem.sh): ESM, Node.js 20+, bigint amounts.
|
|
5
|
+
Token launches, swaps, and lending with [viem](https://viem.sh).
|
|
8
6
|
|
|
9
7
|
## Install
|
|
10
8
|
|
|
11
9
|
```sh
|
|
12
|
-
|
|
13
|
-
# or: pnpm add @black-market/sdk viem
|
|
10
|
+
pnpm add @black-market/sdk viem
|
|
14
11
|
```
|
|
15
12
|
|
|
16
|
-
##
|
|
13
|
+
## Examples
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
no wallet, private key, or transaction is needed.
|
|
20
|
-
|
|
21
|
-
```js
|
|
22
|
-
import {
|
|
23
|
-
createProtocolPublicClient, getAddresses, readLifecycleProfiles,
|
|
24
|
-
} from "@black-market/sdk";
|
|
25
|
-
|
|
26
|
-
const client = createProtocolPublicClient({ chainId: 4663 });
|
|
27
|
-
const { launchOrchestrator } = getAddresses(4663);
|
|
28
|
-
const profiles = await readLifecycleProfiles({ client, orchestrator: launchOrchestrator });
|
|
29
|
-
console.table(profiles.map(({ id, venueKind, topology, admitted, reason }) => ({
|
|
30
|
-
profile: id, venue: venueKind, config: topology.configVersion, admitted, reason,
|
|
31
|
-
})));
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
The mined deployment has **pool-bound V4 config 5** and **Abyss config 1**:
|
|
35
|
-
two adapters and five profiles. Discovery checks registry binding, runtime and
|
|
36
|
-
dependency commitments, and current admission—not a hard-coded template list.
|
|
37
|
-
|
|
38
|
-
From this repository, the same read-only example is available with:
|
|
15
|
+
Clone this repository to run the examples. Requires Node 24+.
|
|
39
16
|
|
|
40
17
|
```sh
|
|
41
|
-
pnpm install
|
|
42
|
-
|
|
43
|
-
# Optional RPC override: RPC_URL=https://your-robinhood-rpc pnpm examples
|
|
18
|
+
pnpm install && pnpm build
|
|
19
|
+
node examples/quickstart.mjs
|
|
44
20
|
```
|
|
45
21
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
1. Discover an admitted profile and copy its exact schema, bounds, and author terms.
|
|
49
|
-
2. Build an explicit `LaunchPlanV1`: creator, token, sorted funding/fee policies,
|
|
50
|
-
market budgets/configs, ordered buys, deadline, and selected developer rate.
|
|
51
|
-
3. For V4 config 5, finalize its hook salt with `preparePoolBoundLifecyclePlan`.
|
|
52
|
-
Save `serializeLaunchPlan(result.plan)`; do not submit a draft commitment.
|
|
53
|
-
4. Review `planLaunch` with an explicit `"atomic"` or `"staged"` mode and current
|
|
54
|
-
execution limits. Use `readLaunchProgress` and `buildNextTransaction` for recovery.
|
|
55
|
-
5. Your application authenticates the wallet chain, signs the exact admitted
|
|
56
|
-
transaction, and stores receipt references. SDK planning/builders never sign.
|
|
57
|
-
|
|
58
|
-
Staged preparation does **not** split activation: minting, permanent locking,
|
|
59
|
-
every initial buy, and public opening remain one transaction. Unavailable
|
|
60
|
-
stateful simulation or execution-limit evidence prevents executable admission.
|
|
22
|
+
The quickstart reads available launch profiles without a wallet.
|
|
61
23
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
also includes read-only discovery and unsigned saved-plan review. `LaunchApiClient`
|
|
66
|
-
handles signed metadata sessions and publication; it does not broadcast a chain launch.
|
|
67
|
-
|
|
68
|
-
## Launch examples: one command per case
|
|
69
|
-
|
|
70
|
-
**Running any command below deliberately signs, spends funds, launches a token,
|
|
71
|
-
and publishes through your configured API. Mainnet execution is irreversible.**
|
|
72
|
-
No flags, parameters, fixture files, default private keys or API skips are used.
|
|
73
|
-
|
|
74
|
-
Setup once with **Node 24+**: install dependencies (`pnpm install` in this repository,
|
|
75
|
-
or `pnpm add @black-market/sdk viem` in a consumer), copy
|
|
76
|
-
[`examples/.env.example`](https://github.com/abysshopper/black-market-node-sdk/blob/main/examples/.env.example)
|
|
77
|
-
to `.env` in your working directory, and set your funded wallet's `PRIVATE_KEY`
|
|
78
|
-
and actual `LAUNCH_API_URL`. Existing process environment wins over `.env`.
|
|
79
|
-
Consumer projects may copy the example files plus both shared helpers into `examples/`;
|
|
80
|
-
the implementation imports the installed public `@black-market/sdk` package.
|
|
24
|
+
For token launches, set `PRIVATE_KEY` and `LAUNCH_API_URL` in your working
|
|
25
|
+
folder's `.env`. An optional `RPC_URL` overrides the default endpoint.
|
|
26
|
+
Run one example for the token you want to create:
|
|
81
27
|
|
|
82
28
|
```sh
|
|
83
29
|
node examples/launch-erc20-v4.mjs
|
|
@@ -90,73 +36,18 @@ node examples/launch-erc20-burn-mixed.mjs
|
|
|
90
36
|
node examples/launch-erc404-dividends-mixed.mjs
|
|
91
37
|
```
|
|
92
38
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
support is required. Admission failures do not change mode or economics.
|
|
97
|
-
Gas/calldata defaults are **EXAMPLE ceilings, not verified provider/account limits**.
|
|
98
|
-
Full setup, exact case economics, optional environment caps, and recovery are in the
|
|
99
|
-
[example guide](https://github.com/abysshopper/black-market-node-sdk/blob/main/examples/README.md#individual-token-creation).
|
|
100
|
-
|
|
101
|
-
Every run creates a fresh `launch-results/<timestamp-case-random>/` and retains
|
|
102
|
-
redacted logs, plans, signed transaction hashes **before broadcast**, and real receipts
|
|
103
|
-
even on failure. Only `private-recovery.json` (mode `0600`) stores raw signed bytes,
|
|
104
|
-
API signatures and capabilities. **Do not blindly rerun after an ambiguous broadcast**;
|
|
105
|
-
inspect the retained hash first. There is no broadcast retry, relaunch or source rollback.
|
|
106
|
-
|
|
107
|
-
## Networks and configuration
|
|
108
|
-
|
|
109
|
-
| Chain | Use | Launch defaults |
|
|
110
|
-
| --- | --- | --- |
|
|
111
|
-
| `4663` | Robinhood mainnet | Current mined deployment |
|
|
112
|
-
| `46631` | Robinhood fork workbench | Explicit environment configuration |
|
|
113
|
-
| `31337` | Local Anvil | Explicit environment configuration |
|
|
114
|
-
|
|
115
|
-
Pass a chain ID explicitly: `getAddresses()` otherwise selects `46631`, while
|
|
116
|
-
client factories otherwise select local `31337`. Mainnet lending addresses come
|
|
117
|
-
from the replacement infrastructure; canonical Abyss DEX utilities remain available.
|
|
118
|
-
|
|
119
|
-
| Mainnet launch contract | Address |
|
|
120
|
-
| --- | --- |
|
|
121
|
-
| Orchestrator | `0xb75CBD17b9aecb7305B4DFcDa69595F783341c0E` |
|
|
122
|
-
| Implementation registry | `0xaa8a410709B79cBA6F118F1be1FF568877A3B8Ee` |
|
|
123
|
-
| Fee-owner registry | `0x15778Aad08e12D458B2848F035860e2a8c2a0725` |
|
|
124
|
-
|
|
125
|
-
Launch address overrides are evaluated on import: bare `LAUNCH_ORCHESTRATOR`,
|
|
126
|
-
`LAUNCH_IMPLEMENTATION_REGISTRY`, and `LAUNCH_FEE_OWNER_REGISTRY` take precedence
|
|
127
|
-
over their `VITE_` and `NEXT_PUBLIC_` forms. Configure the whole matching graph.
|
|
128
|
-
Client RPC precedence is explicit `rpcUrl`, then `RPC_URL`, then the selected
|
|
129
|
-
chain's default endpoint. See the guide for DEX/lending override details.
|
|
130
|
-
The browser-safe `@black-market/sdk/lifecycle` entrypoint contains launch codecs,
|
|
131
|
-
ABIs, planning, recovery, and author APIs without selecting a deployed address.
|
|
132
|
-
|
|
133
|
-
## Tests
|
|
134
|
-
|
|
135
|
-
```sh
|
|
136
|
-
pnpm test # Build and run the offline node:test unit suite
|
|
137
|
-
pnpm typecheck # TypeScript public surface
|
|
138
|
-
LAUNCH_API_TEST_URL=http://127.0.0.1:18763 pnpm test:api
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
`test:api` uses actual HTTP session reads and capability boundaries, without a key
|
|
142
|
-
or writes. It requires a running abyss-api service with launch-session routes and
|
|
143
|
-
real application storage. Missing configuration/storage or an unreachable service
|
|
144
|
-
fails the explicitly selected suite; integration tests are not part of `pnpm test`.
|
|
145
|
-
|
|
146
|
-
For signed metadata-only create/read/replay/conflict/authorization tests, use an
|
|
147
|
-
**owned disposable loopback service and database**, with an explicit disposable key:
|
|
148
|
-
|
|
149
|
-
```sh
|
|
150
|
-
LAUNCH_API_TEST_URL=http://127.0.0.1:18763 \
|
|
151
|
-
LAUNCH_API_TEST_PRIVATE_KEY="$DISPOSABLE_TEST_PRIVATE_KEY" pnpm test:api:write
|
|
152
|
-
```
|
|
39
|
+
Launch examples spend real funds and publish to your configured API.
|
|
40
|
+
Plans, transaction hashes, receipts, and errors are saved in `launch-results/`.
|
|
41
|
+
Keep `.env` and private recovery files out of Git.
|
|
153
42
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
Service requirements are in the [API integration section](https://github.com/abysshopper/black-market-node-sdk/blob/main/docs/launch-lifecycle.md#real-http-api-integration).
|
|
43
|
+
Lifecycle planning proves exact stateful execution without requiring a policy service.
|
|
44
|
+
Robinhood admission reads native Nitro compute/poster evidence; optional caller caps
|
|
45
|
+
only tighten it. Build-next can separately preflight the immediate unsigned envelope
|
|
46
|
+
with an active `submissionClient`. Execution proof is not guaranteed wallet submission.
|
|
159
47
|
|
|
160
|
-
|
|
48
|
+
[Example setup](https://github.com/abysshopper/black-market-node-sdk/tree/main/examples)
|
|
49
|
+
· [API guide](https://github.com/abysshopper/black-market-node-sdk/blob/main/docs/launch-lifecycle.md)
|
|
50
|
+
· [MIT license](https://github.com/abysshopper/black-market-node-sdk/blob/main/LICENSE)
|
|
161
51
|
|
|
162
|
-
|
|
52
|
+
[Agent guide](https://github.com/abysshopper/black-market-node-sdk/blob/main/AGENTS.md)
|
|
53
|
+
· [Skills](https://github.com/abysshopper/black-market-node-sdk/tree/main/.agents/skills)
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/lifecycle/planner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyX,KAAK,YAAY,EAAyB,MAAM,aAAa,CAAC;AAK9b,OAAO,EAA0B,KAAK,2BAA2B,EAAwF,KAAK,gCAAgC,EAAyB,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,qCAAqC,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAiOhb,0GAA0G;AAC1G,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,MAAM,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qCAAqC,KAAK,IAAI,CAAC;CACxE,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,SAAS,gCAAgC,EAAE,CAAA;CAAE,CAAC,CAiD5F;AAED,yGAAyG;AACzG,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CA+DnF;
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/lifecycle/planner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyX,KAAK,YAAY,EAAyB,MAAM,aAAa,CAAC;AAK9b,OAAO,EAA0B,KAAK,2BAA2B,EAAwF,KAAK,gCAAgC,EAAyB,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,qCAAqC,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAiOhb,0GAA0G;AAC1G,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,MAAM,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qCAAqC,KAAK,IAAI,CAAC;CACxE,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,SAAS,gCAAgC,EAAE,CAAA;CAAE,CAAC,CAiD5F;AAED,yGAAyG;AACzG,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CA+DnF;AA6BD,yGAAyG;AACzG,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CA4B1H;AAED;qFACqF;AACrF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAUzG"}
|
|
@@ -267,7 +267,7 @@ function orderedTransactions(plan, mode, progress, approvals, nativeValue, batch
|
|
|
267
267
|
function attachEstimates(transactions, simulation) {
|
|
268
268
|
return transactions.map((transaction) => {
|
|
269
269
|
const estimate = simulation.steps.find((step) => step.transactionId === transaction.id)?.estimate;
|
|
270
|
-
return { ...transaction, gas: estimate?.gasLimit, gasPrice: estimate?.gasPrice, estimate, admission: { admitted: simulation.admitted, confidence: simulation.confidence, reason: simulation.reason, limits: simulation.limits } };
|
|
270
|
+
return { ...transaction, gas: estimate?.gasLimit, gasPrice: estimate?.gasPrice, estimate, admission: { admitted: simulation.admitted, confidence: simulation.confidence, executionProof: simulation.executionProof, protocolFit: simulation.protocolFit, transportPreflight: simulation.transportPreflight, blockNumber: simulation.blockNumber, blockHash: simulation.blockHash, account: simulation.account, chainId: simulation.chainId, reason: simulation.reason, limits: simulation.limits } };
|
|
271
271
|
});
|
|
272
272
|
}
|
|
273
273
|
async function readTokenFactoryBinding(client, orchestrator, block) {
|
|
@@ -377,7 +377,7 @@ export async function planLaunch(options) {
|
|
|
377
377
|
const predictedToken = await readLifecycleContract(client, plan.orchestrator, launchLifecycleAbi, "predictToken", [plan], block);
|
|
378
378
|
const { tokenFactory, tokenFactoryCodeHash } = await readTokenFactoryBinding(client, plan.orchestrator, block);
|
|
379
379
|
const { limits } = await resolveLifecycleLimits({ client, account, orchestrator: plan.orchestrator, block, chainId: plan.chainId }, options.limits);
|
|
380
|
-
const placeholder = { backend: "unavailable", confidence: "provisional", admitted: false, blockNumber: block.number, blockHash: block.hash, account, chainId: plan.chainId, limits, steps: [] };
|
|
380
|
+
const placeholder = { backend: "unavailable", confidence: "provisional", admitted: false, executionProof: "unavailable", protocolFit: "unknown", transportPreflight: "not-requested", blockNumber: block.number, blockHash: block.hash, account, chainId: plan.chainId, limits, steps: [] };
|
|
381
381
|
const identity = { plan, planHash, launchId, predictedToken, account, mode, confirmations: options.confirmations ?? 1 };
|
|
382
382
|
const progress = await readLaunchProgress({ client, planned: identity, receipts: options.receipts }, block);
|
|
383
383
|
let planned = { ...identity, tokenFactory, tokenFactoryCodeHash, chainId: plan.chainId, transactions: [], prerequisites: [], profiles: [], hookDeployments: [], progress, simulation: placeholder, atomicAttempt: placeholder, preparationBatchSize: plan.markets.length, limits: options.limits };
|
|
@@ -395,7 +395,7 @@ export async function planLaunch(options) {
|
|
|
395
395
|
}
|
|
396
396
|
if (progress.canonical.phase === LifecyclePhase.Active || progress.canonical.phase === LifecyclePhase.Cancelled) {
|
|
397
397
|
await assertLifecycleBlock(client, block);
|
|
398
|
-
return { ...planned, simulation: { ...placeholder, confidence: "stateful", admitted: true, reason: "Canonical launch is terminal; no transaction remains" } };
|
|
398
|
+
return { ...planned, simulation: { ...placeholder, confidence: "stateful", executionProof: "proved", protocolFit: "proved", admitted: true, reason: "Canonical launch is terminal; no transaction remains" } };
|
|
399
399
|
}
|
|
400
400
|
const prerequisites = progress.canonical.phase === LifecyclePhase.None ? await readFunding(client, plan, block) : { prerequisites: [], approvals: [], nativeValue: 0n, reasons: [] };
|
|
401
401
|
const validation = await validatePendingInputs(client, planned, progress, block);
|
|
@@ -428,6 +428,40 @@ export async function planLaunch(options) {
|
|
|
428
428
|
simulation = { ...simulation, reason: `${simulation.reason ?? "Final activation failed"}; final mint/lock/all-buys/public-opening is indivisible and will not be partitioned` };
|
|
429
429
|
return { ...planned, atomicAttempt, simulation, preparationBatchSize, transactions: attachEstimates(transactions, simulation) };
|
|
430
430
|
}
|
|
431
|
+
async function preflightNextTransaction(options, next, simulation) {
|
|
432
|
+
if (next.gas === undefined || next.gas <= 0n || next.gas >= 1n << 64n || next.gasPrice === undefined || next.gasPrice < 0n ||
|
|
433
|
+
simulation.executionProof !== "proved" || simulation.protocolFit !== "proved" || !simulation.admitted ||
|
|
434
|
+
next.estimate === undefined || next.estimate.gasLimit !== next.gas || next.estimate.gasPrice !== next.gasPrice ||
|
|
435
|
+
simulation.limits.transactionGasCeiling !== undefined && next.gas > simulation.limits.transactionGasCeiling) {
|
|
436
|
+
throw new LifecyclePlanningError("MISSING_GAS_PROOF", "Next transaction has no current-state exact gas/headroom/fee-envelope proof", simulation);
|
|
437
|
+
}
|
|
438
|
+
const submissionClient = options.submissionClient;
|
|
439
|
+
if (submissionClient === undefined)
|
|
440
|
+
return { ...next, dependencies: [] };
|
|
441
|
+
try {
|
|
442
|
+
if (rpcQuantity(await lifecycleRpc(submissionClient, "eth_chainId"), "submission chain ID") !== simulation.chainId)
|
|
443
|
+
throw new Error("Active submission RPC chain differs from the reviewed transaction");
|
|
444
|
+
const estimated = rpcQuantity(await lifecycleRpc(submissionClient, "eth_estimateGas", [{
|
|
445
|
+
from: next.from, to: next.to, data: next.data, value: toHex(next.value), gas: toHex(next.gas), gasPrice: toHex(next.gasPrice),
|
|
446
|
+
}, "latest"]), "submission gas estimate");
|
|
447
|
+
if (estimated <= 0n || estimated > next.gas)
|
|
448
|
+
throw new Error("Submission RPC gas estimate exceeds the exact reviewed envelope or is zero");
|
|
449
|
+
if (rpcQuantity(await lifecycleRpc(submissionClient, "eth_chainId"), "submission chain ID") !== simulation.chainId)
|
|
450
|
+
throw new Error("Active submission RPC chain changed during preflight");
|
|
451
|
+
}
|
|
452
|
+
catch (failure) {
|
|
453
|
+
const reason = `Exact next-transaction submission preflight failed: ${failure instanceof Error ? failure.message : String(failure)}`;
|
|
454
|
+
throw new LifecyclePlanningError("SUBMISSION_PREFLIGHT_FAILED", reason, { ...simulation, transportPreflight: "failed", reason });
|
|
455
|
+
}
|
|
456
|
+
const canonical = await readLifecycleBlock(options.client, toHex(simulation.blockNumber));
|
|
457
|
+
if (canonical.hash.toLowerCase() !== simulation.blockHash.toLowerCase())
|
|
458
|
+
throw new LifecyclePlanningError("STATE_REORGED", "Pinned launch proof changed during submission preflight; rebuild from canonical progress");
|
|
459
|
+
if (rpcQuantity(await lifecycleRpc(options.client, "eth_chainId"), "chain ID") !== simulation.chainId)
|
|
460
|
+
throw new LifecyclePlanningError("CHAIN_MISMATCH", "Source RPC chain changed during submission preflight");
|
|
461
|
+
if (next.admission === undefined)
|
|
462
|
+
throw new LifecyclePlanningError("MISSING_GAS_PROOF", "Next transaction omitted its exact simulation admission", simulation);
|
|
463
|
+
return { ...next, dependencies: [], admission: { ...next.admission, transportPreflight: "passed" } };
|
|
464
|
+
}
|
|
431
465
|
/** Re-reads canonical state, revalidates all prerequisites, and proves the remaining sequence afresh. */
|
|
432
466
|
export async function buildNextTransaction(options) {
|
|
433
467
|
const block = await readLifecycleBlock(options.client);
|
|
@@ -448,21 +482,22 @@ export async function buildNextTransaction(options) {
|
|
|
448
482
|
throw new LifecyclePlanningError("NOT_STARTED", "An unstarted plan has no launch escrow to cancel");
|
|
449
483
|
const { planned } = options;
|
|
450
484
|
const transaction = { id: "cancel", kind: "cancel", chainId: Number(planned.chainId), from: planned.account, to: planned.plan.orchestrator, data: encodeFunctionData({ abi: launchLifecycleAbi, functionName: "cancelLaunch", args: [planned.plan] }), value: 0n, dependencies: [], postconditions: [{ kind: "launch", phase: "Cancelled", preparedMarkets: progress.canonical.preparedMarkets }] };
|
|
451
|
-
const simulation = await simulateLaunchTransactions({ client: options.client, planned, limits: options.limits
|
|
485
|
+
const simulation = await simulateLaunchTransactions({ client: options.client, planned, limits: options.limits === undefined ? planned.limits : options.limits, fork: options.fork }, [transaction], block);
|
|
452
486
|
if (!simulation.admitted)
|
|
453
487
|
throw new LifecyclePlanningError("CANCEL_NOT_ADMITTED", simulation.reason ?? "Cancellation could not be proved against current canonical state", simulation);
|
|
454
|
-
|
|
488
|
+
const next = attachEstimates([transaction], simulation)[0];
|
|
489
|
+
if (next === undefined)
|
|
490
|
+
throw new LifecyclePlanningError("MISSING_GAS_PROOF", "Cancellation omitted its exact simulation admission", simulation);
|
|
491
|
+
return preflightNextTransaction(options, next, simulation);
|
|
455
492
|
}
|
|
456
|
-
const refreshed = await planLaunch({ client: options.client, plan: options.planned.plan, account: options.planned.account, mode: options.planned.mode, limits: options.limits
|
|
493
|
+
const refreshed = await planLaunch({ client: options.client, plan: options.planned.plan, account: options.planned.account, mode: options.planned.mode, limits: options.limits === undefined ? options.planned.limits : options.limits, fork: options.fork, receipts: options.receipts, confirmations: options.confirmations ?? options.planned.confirmations });
|
|
457
494
|
if (!refreshed.simulation.admitted)
|
|
458
495
|
throw new LifecyclePlanningError("PLAN_NOT_ADMITTED", refreshed.simulation.reason ?? "Remaining exact launch sequence is not admitted", refreshed.simulation);
|
|
459
496
|
assertPlannedDeploymentBindings(options.planned, refreshed);
|
|
460
497
|
const next = refreshed.transactions[0];
|
|
461
498
|
if (next === undefined)
|
|
462
499
|
return undefined;
|
|
463
|
-
|
|
464
|
-
throw new LifecyclePlanningError("MISSING_GAS_PROOF", "Next transaction has no current-state exact gas/headroom/fee-envelope proof");
|
|
465
|
-
return { ...next, dependencies: [] };
|
|
500
|
+
return preflightNextTransaction(options, next, refreshed.simulation);
|
|
466
501
|
}
|
|
467
502
|
/** Re-simulates only canonical unfinished work with the same submitted receipt
|
|
468
503
|
* evidence and confirmation depth as build-next, never silently dropping context. */
|
|
@@ -472,7 +507,7 @@ export async function simulateLaunchPlan(options) {
|
|
|
472
507
|
throw new LifecyclePlanningError("PLAN_MUTATED", "Stored economic plan no longer matches its commitment");
|
|
473
508
|
const current = await planLaunch({
|
|
474
509
|
client, plan: planned.plan, account: planned.account, mode: planned.mode,
|
|
475
|
-
limits: options.limits
|
|
510
|
+
limits: options.limits === undefined ? planned.limits : options.limits, fork: options.fork,
|
|
476
511
|
receipts: options.receipts, confirmations: options.confirmations ?? planned.confirmations,
|
|
477
512
|
});
|
|
478
513
|
assertPlannedDeploymentBindings(planned, current);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/lifecycle/planner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/lifecycle/planner.ts"],"names":[],"mappings":"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"}
|
package/dist/lifecycle/rpc.d.ts
CHANGED
|
@@ -1,15 +1,50 @@
|
|
|
1
1
|
import { type Abi, type Address, type Hex } from "viem";
|
|
2
|
-
import { type LifecycleBlock, type LifecycleLimitContext, type LifecycleLimitSource, type LifecycleLimits, type LifecycleRpcClient, type ResolvedLifecycleLimits } from "./types.js";
|
|
2
|
+
import { type LifecycleBlock, type LifecycleLimitContext, type LifecycleLimitSource, type LifecycleLimits, type LifecycleRpcClient, type LifecycleTransaction, type ResolvedLifecycleLimits } from "./types.js";
|
|
3
3
|
import type { ProfileTopologyV1 } from "./schema.js";
|
|
4
4
|
export declare function lifecycleRpc(client: LifecycleRpcClient, method: string, params?: readonly unknown[]): Promise<unknown>;
|
|
5
5
|
export declare function rpcObject(value: unknown, label: string): Record<string, unknown>;
|
|
6
6
|
export declare function rpcHex(value: unknown, label: string): Hex;
|
|
7
7
|
export declare function rpcQuantity(value: unknown, label: string): bigint;
|
|
8
8
|
export declare function readLifecycleBlock(client: LifecycleRpcClient, tag?: Hex | "latest"): Promise<LifecycleBlock>;
|
|
9
|
-
export declare function assertLifecycleBlock(client: LifecycleRpcClient, block: LifecycleBlock): Promise<void>;
|
|
9
|
+
export declare function assertLifecycleBlock(client: LifecycleRpcClient, block: LifecycleBlock, expectedChainId?: bigint): Promise<void>;
|
|
10
10
|
export declare function readLifecycleContract<T>(client: LifecycleRpcClient, to: Address, abi: Abi, functionName: string, args: readonly unknown[], block: LifecycleBlock, from?: Address): Promise<T>;
|
|
11
11
|
/** A reviewed registry must supply topology; missing selectors never certify a profile. */
|
|
12
12
|
export declare function readLifecycleProfileTopology(client: LifecycleRpcClient, registry: Address, profileId: Hex, block: LifecycleBlock): Promise<ProfileTopologyV1>;
|
|
13
|
+
export declare const nitroArbSys = "0x0000000000000000000000000000000000000064";
|
|
14
|
+
export declare const nitroGasInfo = "0x000000000000000000000000000000000000006c";
|
|
15
|
+
export declare const nitroNodeInterface = "0x00000000000000000000000000000000000000c8";
|
|
16
|
+
export declare const nitroArbSysAbi: readonly [{
|
|
17
|
+
readonly name: "arbOSVersion";
|
|
18
|
+
readonly type: "function";
|
|
19
|
+
readonly stateMutability: "view";
|
|
20
|
+
readonly inputs: readonly [];
|
|
21
|
+
readonly outputs: readonly [{
|
|
22
|
+
readonly type: "uint256";
|
|
23
|
+
}];
|
|
24
|
+
}];
|
|
25
|
+
export declare const nitroGasInfoAbi: readonly [{
|
|
26
|
+
readonly name: "getMaxTxGasLimit";
|
|
27
|
+
readonly type: "function";
|
|
28
|
+
readonly stateMutability: "view";
|
|
29
|
+
readonly inputs: readonly [];
|
|
30
|
+
readonly outputs: readonly [{
|
|
31
|
+
readonly type: "uint256";
|
|
32
|
+
}];
|
|
33
|
+
}, {
|
|
34
|
+
readonly name: "getMaxBlockGasLimit";
|
|
35
|
+
readonly type: "function";
|
|
36
|
+
readonly stateMutability: "view";
|
|
37
|
+
readonly inputs: readonly [];
|
|
38
|
+
readonly outputs: readonly [{
|
|
39
|
+
readonly type: "uint64";
|
|
40
|
+
}];
|
|
41
|
+
}];
|
|
42
|
+
/** A poster quote is an envelope budget, never an execution/compute proof. */
|
|
43
|
+
export declare function readNitroPosterGas(transaction: LifecycleTransaction, context: LifecycleLimitContext): Promise<{
|
|
44
|
+
posterGas: bigint;
|
|
45
|
+
baseFee: bigint;
|
|
46
|
+
l1BaseFeeEstimate: bigint;
|
|
47
|
+
}>;
|
|
13
48
|
export declare function resolveLifecycleLimits(context: LifecycleLimitContext, source?: LifecycleLimitSource): Promise<{
|
|
14
49
|
limits: ResolvedLifecycleLimits;
|
|
15
50
|
configuration: LifecycleLimits;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/lifecycle/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAExO,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,wBAAsB,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,SAAS,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhI;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;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,CAIrI;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,CAMnM;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,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,uBAAuB,CAAC;IAAC,aAAa,EAAE,eAAe,CAAA;CAAE,CAAC,CAyDxL"}
|