@black-market/sdk 0.14.1 → 0.15.1
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 +9 -7
- package/dist/lifecycle/authors.js +2 -2
- package/dist/lifecycle/authors.js.map +1 -1
- package/dist/lifecycle/auto-compound.d.ts +21 -0
- package/dist/lifecycle/auto-compound.d.ts.map +1 -0
- package/dist/lifecycle/auto-compound.js +34 -0
- package/dist/lifecycle/auto-compound.js.map +1 -0
- package/dist/lifecycle/calibration.d.ts +2 -4
- package/dist/lifecycle/calibration.d.ts.map +1 -1
- package/dist/lifecycle/calibration.js +1 -26
- package/dist/lifecycle/calibration.js.map +1 -1
- package/dist/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.d.ts +73 -0
- package/dist/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.d.ts.map +1 -0
- package/dist/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.js +75 -0
- package/dist/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.js.map +1 -0
- package/dist/lifecycle/deployments/auto-compound-static-pool-v1-20261028.d.ts +73 -0
- package/dist/lifecycle/deployments/auto-compound-static-pool-v1-20261028.d.ts.map +1 -0
- package/dist/lifecycle/deployments/auto-compound-static-pool-v1-20261028.js +75 -0
- package/dist/lifecycle/deployments/auto-compound-static-pool-v1-20261028.js.map +1 -0
- package/dist/lifecycle/gas-profile.d.ts +39 -0
- package/dist/lifecycle/gas-profile.d.ts.map +1 -0
- package/dist/lifecycle/gas-profile.js +193 -0
- package/dist/lifecycle/gas-profile.js.map +1 -0
- package/dist/lifecycle/index.d.ts +6 -4
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +6 -4
- package/dist/lifecycle/index.js.map +1 -1
- package/dist/lifecycle/markets.d.ts +2 -0
- package/dist/lifecycle/markets.d.ts.map +1 -1
- package/dist/lifecycle/markets.js +30 -3
- package/dist/lifecycle/markets.js.map +1 -1
- package/dist/lifecycle/opening-buys.d.ts +13 -0
- package/dist/lifecycle/opening-buys.d.ts.map +1 -0
- package/dist/lifecycle/opening-buys.js +171 -0
- package/dist/lifecycle/opening-buys.js.map +1 -0
- package/dist/lifecycle/planner.d.ts +6 -9
- package/dist/lifecycle/planner.d.ts.map +1 -1
- package/dist/lifecycle/planner.js +175 -265
- package/dist/lifecycle/planner.js.map +1 -1
- package/dist/lifecycle/presets.d.ts +10 -3
- package/dist/lifecycle/presets.d.ts.map +1 -1
- package/dist/lifecycle/presets.js +13 -1
- package/dist/lifecycle/presets.js.map +1 -1
- package/dist/lifecycle/progress.d.ts +1 -1
- package/dist/lifecycle/progress.d.ts.map +1 -1
- package/dist/lifecycle/progress.js +21 -20
- package/dist/lifecycle/progress.js.map +1 -1
- package/dist/lifecycle/rpc.d.ts +25 -30
- package/dist/lifecycle/rpc.d.ts.map +1 -1
- package/dist/lifecycle/rpc.js +63 -81
- package/dist/lifecycle/rpc.js.map +1 -1
- package/dist/lifecycle/snapshot.d.ts.map +1 -1
- package/dist/lifecycle/snapshot.js +2 -4
- package/dist/lifecycle/snapshot.js.map +1 -1
- package/dist/lifecycle/transactions.d.ts +29 -6
- package/dist/lifecycle/transactions.d.ts.map +1 -1
- package/dist/lifecycle/transactions.js +62 -27
- package/dist/lifecycle/transactions.js.map +1 -1
- package/dist/lifecycle/types.d.ts +55 -122
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js +3 -3
- package/dist/lifecycle/types.js.map +1 -1
- package/dist/lifecycle/ufg.d.ts +1 -1
- package/dist/lifecycle/ufg.d.ts.map +1 -1
- package/dist/lifecycle/ufg.js +4 -8
- package/dist/lifecycle/ufg.js.map +1 -1
- package/docs/launch-lifecycle.md +110 -78
- package/docs/lifecycle-gas-profiles.md +90 -0
- package/docs/reference.md +99 -47
- package/examples/.env.example +0 -3
- package/examples/README.md +14 -11
- package/examples/launch-example-support.ts +4 -9
- package/examples/launch-example.ts +30 -36
- package/examples/launch-lifecycle-smoke.ts +11 -21
- package/examples/launch.ts +8 -11
- package/package.json +1 -1
- package/src/lifecycle/authors.ts +2 -2
- package/src/lifecycle/auto-compound.ts +38 -0
- package/src/lifecycle/calibration.ts +3 -23
- package/src/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.ts +77 -0
- package/src/lifecycle/deployments/auto-compound-static-pool-v1-20261028.ts +77 -0
- package/src/lifecycle/gas-profile.ts +186 -0
- package/src/lifecycle/index.ts +6 -4
- package/src/lifecycle/markets.ts +25 -3
- package/src/lifecycle/opening-buys.ts +157 -0
- package/src/lifecycle/planner.ts +168 -247
- package/src/lifecycle/presets.ts +15 -1
- package/src/lifecycle/progress.ts +19 -20
- package/src/lifecycle/rpc.ts +58 -68
- package/src/lifecycle/snapshot.ts +2 -4
- package/src/lifecycle/transactions.ts +69 -27
- package/src/lifecycle/types.ts +60 -99
- package/src/lifecycle/ufg.ts +4 -8
- package/dist/lifecycle/fork.d.ts +0 -15
- package/dist/lifecycle/fork.d.ts.map +0 -1
- package/dist/lifecycle/fork.js +0 -36
- package/dist/lifecycle/fork.js.map +0 -1
- package/dist/lifecycle/simulation.d.ts +0 -18
- package/dist/lifecycle/simulation.d.ts.map +0 -1
- package/dist/lifecycle/simulation.js +0 -754
- package/dist/lifecycle/simulation.js.map +0 -1
- package/src/lifecycle/fork.ts +0 -36
- package/src/lifecycle/simulation.ts +0 -689
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simulation.js","sourceRoot":"","sources":["../../src/lifecycle/simulation.ts"],"names":[],"mappings":"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"}
|
package/src/lifecycle/fork.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { LifecyclePlanningError, type ControlledLifecycleFork, type LifecycleRpcClient } from "./types.js";
|
|
2
|
-
import { rpcObject } from "./rpc.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Connects an explicitly disposable loopback fork. Only the fork receives resets/transactions;
|
|
6
|
-
* sourceRpcUrl is used by the fork node for read-only canonical state synchronization.
|
|
7
|
-
*/
|
|
8
|
-
export function createControlledLifecycleFork(options: {
|
|
9
|
-
sourceRpcUrl: string; forkRpcUrl: string; allowTransactions: true;
|
|
10
|
-
fetch?: typeof globalThis.fetch; impersonation?: "anvil" | "hardhat" | "none";
|
|
11
|
-
resetMethod?: "anvil_reset" | "hardhat_reset"; receiptTimeoutMs?: number;
|
|
12
|
-
}): ControlledLifecycleFork {
|
|
13
|
-
const source = new URL(options.sourceRpcUrl);
|
|
14
|
-
const fork = new URL(options.forkRpcUrl);
|
|
15
|
-
if (!["http:", "https:"].includes(source.protocol) || !["http:", "https:"].includes(fork.protocol)) throw new LifecyclePlanningError("UNSAFE_FORK", "Controlled fork RPCs must use HTTP(S)");
|
|
16
|
-
const loopback = ["localhost", "127.0.0.1", "[::1]", "::1"];
|
|
17
|
-
const sourcePort = source.port || (source.protocol === "https:" ? "443" : "80");
|
|
18
|
-
const forkPort = fork.port || (fork.protocol === "https:" ? "443" : "80");
|
|
19
|
-
if (!loopback.includes(fork.hostname) || (loopback.includes(source.hostname) && sourcePort === forkPort) || source.href === fork.href || options.allowTransactions !== true) throw new LifecyclePlanningError("UNSAFE_FORK", "Controlled fork must be an explicit, distinct disposable loopback RPC, not a localhost/IP alias of the source");
|
|
20
|
-
const fetch = options.fetch ?? globalThis.fetch;
|
|
21
|
-
let id = 0;
|
|
22
|
-
const client: LifecycleRpcClient = {
|
|
23
|
-
async request({ method, params }: { method: string; params?: readonly unknown[] }) {
|
|
24
|
-
const response = await fetch(fork.href, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ jsonrpc: "2.0", id: ++id, method, params: params ?? [] }) });
|
|
25
|
-
if (!response.ok) throw new LifecyclePlanningError("FORK_RPC_ERROR", `Disposable fork RPC returned HTTP ${response.status}`);
|
|
26
|
-
const result = rpcObject(await response.json(), "fork JSON-RPC envelope");
|
|
27
|
-
if (result.error !== undefined) {
|
|
28
|
-
const error = rpcObject(result.error, "fork JSON-RPC error");
|
|
29
|
-
throw new LifecyclePlanningError("FORK_RPC_ERROR", typeof error.message === "string" ? error.message : "Disposable fork RPC returned an error");
|
|
30
|
-
}
|
|
31
|
-
if (!("result" in result)) throw new LifecyclePlanningError("INVALID_RPC_RESPONSE", "Disposable fork RPC omitted its result");
|
|
32
|
-
return result.result;
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
return { client, isolation: "disposable", allowTransactions: true, sourceRpcUrl: source.href, forkRpcUrl: fork.href, resetMethod: options.resetMethod ?? "anvil_reset", impersonation: options.impersonation ?? "anvil", receiptTimeoutMs: options.receiptTimeoutMs };
|
|
36
|
-
}
|