@black-market/sdk 0.15.0 → 0.16.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 +10 -8
- 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/deployments/raeto-dynamic-pool-v1-20261029.d.ts +71 -0
- package/dist/lifecycle/deployments/raeto-dynamic-pool-v1-20261029.d.ts.map +1 -0
- package/dist/lifecycle/deployments/raeto-dynamic-pool-v1-20261029.js +73 -0
- package/dist/lifecycle/deployments/raeto-dynamic-pool-v1-20261029.js.map +1 -0
- package/dist/lifecycle/deployments/raeto-fixed-pool-v1-20261029.d.ts +71 -0
- package/dist/lifecycle/deployments/raeto-fixed-pool-v1-20261029.d.ts.map +1 -0
- package/dist/lifecycle/deployments/raeto-fixed-pool-v1-20261029.js +73 -0
- package/dist/lifecycle/deployments/raeto-fixed-pool-v1-20261029.js.map +1 -0
- package/dist/lifecycle/gas-profile.d.ts +17 -13
- package/dist/lifecycle/gas-profile.d.ts.map +1 -1
- package/dist/lifecycle/gas-profile.js +133 -113
- package/dist/lifecycle/gas-profile.js.map +1 -1
- 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 +4 -0
- package/dist/lifecycle/markets.d.ts.map +1 -1
- package/dist/lifecycle/markets.js +58 -3
- package/dist/lifecycle/markets.js.map +1 -1
- package/dist/lifecycle/opening-buys.js +3 -3
- package/dist/lifecycle/opening-buys.js.map +1 -1
- package/dist/lifecycle/planner.d.ts +6 -9
- package/dist/lifecycle/planner.d.ts.map +1 -1
- package/dist/lifecycle/planner.js +122 -208
- package/dist/lifecycle/planner.js.map +1 -1
- package/dist/lifecycle/presets.d.ts +9 -3
- package/dist/lifecycle/presets.d.ts.map +1 -1
- package/dist/lifecycle/presets.js +17 -1
- package/dist/lifecycle/presets.js.map +1 -1
- package/dist/lifecycle/raeto-abi.d.ts +175 -0
- package/dist/lifecycle/raeto-abi.d.ts.map +1 -0
- package/dist/lifecycle/raeto-abi.js +224 -0
- package/dist/lifecycle/raeto-abi.js.map +1 -0
- package/dist/lifecycle/raeto.d.ts +21 -0
- package/dist/lifecycle/raeto.d.ts.map +1 -0
- package/dist/lifecycle/raeto.js +59 -0
- package/dist/lifecycle/raeto.js.map +1 -0
- package/dist/lifecycle/rpc.d.ts +3 -13
- package/dist/lifecycle/rpc.d.ts.map +1 -1
- package/dist/lifecycle/rpc.js +11 -37
- package/dist/lifecycle/rpc.js.map +1 -1
- package/dist/lifecycle/snapshot.d.ts.map +1 -1
- package/dist/lifecycle/snapshot.js +1 -2
- package/dist/lifecycle/snapshot.js.map +1 -1
- package/dist/lifecycle/transactions.d.ts +10 -3
- package/dist/lifecycle/transactions.d.ts.map +1 -1
- package/dist/lifecycle/transactions.js +47 -10
- package/dist/lifecycle/transactions.js.map +1 -1
- package/dist/lifecycle/types.d.ts +32 -107
- 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 +1 -1
- package/dist/lifecycle/ufg.js.map +1 -1
- package/docs/launch-lifecycle.md +113 -1
- package/docs/lifecycle-gas-profiles.md +141 -24
- package/docs/reference.md +112 -3
- package/examples/.env.example +0 -3
- package/examples/README.md +11 -11
- package/examples/launch-example-support.ts +4 -9
- package/examples/launch-example.ts +12 -28
- package/examples/launch-lifecycle-smoke.ts +10 -22
- package/examples/launch.ts +8 -11
- package/package.json +1 -1
- 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/deployments/raeto-dynamic-pool-v1-20261029.ts +74 -0
- package/src/lifecycle/deployments/raeto-fixed-pool-v1-20261029.ts +74 -0
- package/src/lifecycle/gas-profile.ts +125 -104
- package/src/lifecycle/index.ts +6 -4
- package/src/lifecycle/markets.ts +47 -3
- package/src/lifecycle/opening-buys.ts +3 -3
- package/src/lifecycle/planner.ts +116 -191
- package/src/lifecycle/presets.ts +17 -1
- package/src/lifecycle/raeto-abi.ts +223 -0
- package/src/lifecycle/raeto.ts +61 -0
- package/src/lifecycle/rpc.ts +10 -32
- package/src/lifecycle/snapshot.ts +1 -2
- package/src/lifecycle/transactions.ts +46 -9
- package/src/lifecycle/types.ts +38 -87
- package/src/lifecycle/ufg.ts +1 -1
- 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 -17
- package/dist/lifecycle/simulation.d.ts.map +0 -1
- package/dist/lifecycle/simulation.js +0 -605
- package/dist/lifecycle/simulation.js.map +0 -1
- package/src/lifecycle/fork.ts +0 -36
- package/src/lifecycle/simulation.ts +0 -543
|
@@ -1,41 +1,23 @@
|
|
|
1
|
-
import { toHex
|
|
2
|
-
import { AUCTION_QUOTE_OPTIONS } from "../auction.js";
|
|
3
|
-
import { getTickAtSqrtRatio } from "../launch.js";
|
|
1
|
+
import { toHex } from "viem";
|
|
4
2
|
import { decodeAbyssLifecycleMarketConfig, decodePoolBoundV4LifecycleMarketConfig } from "./markets.js";
|
|
5
3
|
import { computeLifecycleOpeningBuys, hasProfiledOpeningMath } from "./opening-buys.js";
|
|
6
|
-
import {
|
|
7
|
-
import { lifecyclePinnedRpc,
|
|
4
|
+
import { hmmV2ForwardingReserve } from "./presets.js";
|
|
5
|
+
import { lifecyclePinnedRpc, lifecycleSourceClient, nitroPosterGasBound, readLifecycleGasPrice, readNitroPrices, registerLifecycleFinalCheck, resolveLifecycleLimits, rpcQuantity } from "./rpc.js";
|
|
8
6
|
import { LifecycleFundingKind, LifecycleRewardMode, LifecycleTokenKind } from "./schema.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
7
|
+
import { isAutoCompoundProfile } from "./auto-compound.js";
|
|
8
|
+
import { buildLifecycleCommand, LIFECYCLE_CAPACITY_PADDING_BPS, preparationCalldataGas, preparationGasEstimate } from "./transactions.js";
|
|
9
|
+
import { UFG_LAUNCH_PROXY_ADDRESS, isUfgProfile, ufgPlanPrincipal } from "./ufg-config.js";
|
|
11
10
|
import { LifecyclePlanningError } from "./types.js";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
for (const quote of AUCTION_QUOTE_OPTIONS)
|
|
16
|
-
if (quote.address !== zeroAddress)
|
|
17
|
-
profiledQuotes.add(quote.address.toLowerCase());
|
|
11
|
+
import { isHmmProfile } from "./hmm.js";
|
|
12
|
+
import { isRaetoProfile } from "./raeto.js";
|
|
13
|
+
export const LIFECYCLE_GAS_PROFILE_VERSION = "robinhood-4663-capacity-v4";
|
|
18
14
|
const ceil = (value, divisor) => (value + divisor - 1n) / divisor;
|
|
19
15
|
const approval = (transaction) => transaction.kind === "approve" || transaction.kind === "approve-reset";
|
|
20
|
-
function covered(plan) {
|
|
21
|
-
return plan.chainId === 4663n && hasProfiledOpeningMath(plan) &&
|
|
22
|
-
plan.markets.every((market) => profiledQuotes.has(market.quoteAsset.toLowerCase())) &&
|
|
23
|
-
plan.funding.every((funding) => funding.kind !== LifecycleFundingKind.ERC20 || profiledQuotes.has(funding.inputAsset.toLowerCase()));
|
|
24
|
-
}
|
|
25
16
|
function marketGas(plan) {
|
|
26
17
|
return plan.markets.map((market) => {
|
|
27
|
-
const preset = getKnownLifecycleProfile({ chainId: plan.chainId, orchestrator: plan.orchestrator, profileId: market.profileId });
|
|
28
18
|
const abyss = market.configVersion === 1;
|
|
29
19
|
const config = abyss ? decodeAbyssLifecycleMarketConfig(market.config) : decodePoolBoundV4LifecycleMarketConfig(market.config, 6);
|
|
30
|
-
|
|
31
|
-
const spacing = "tickSpacing" in config ? config.tickSpacing : config.fee === 100 ? 1 : config.fee === 500 ? 10 : config.fee === 3000 ? 60 : 200;
|
|
32
|
-
const ticks = new Set();
|
|
33
|
-
for (const position of config.positions) {
|
|
34
|
-
ticks.add(position.tickLower);
|
|
35
|
-
ticks.add(position.tickUpper);
|
|
36
|
-
}
|
|
37
|
-
return { abyss, hmm: preset.key.includes("hmm"), ufgHook: preset.key.includes("ufg"), positions: config.positions.length,
|
|
38
|
-
spacing, openingTick: getTickAtSqrtRatio(price), ticks: [...ticks] };
|
|
20
|
+
return { abyss, hmm: isHmmProfile(market.profileId), ufgHook: isUfgProfile(market.profileId), raeto: isRaetoProfile(market.profileId), autoCompound: isAutoCompoundProfile(market.profileId), positions: config.positions.length };
|
|
39
21
|
});
|
|
40
22
|
}
|
|
41
23
|
function utf8Bytes(value) {
|
|
@@ -58,126 +40,164 @@ function utf8Bytes(value) {
|
|
|
58
40
|
function tokenCreationGas(token) {
|
|
59
41
|
return (token.kind === LifecycleTokenKind.ERC404 ? 2500000n : 0n) +
|
|
60
42
|
(token.rewardMode === LifecycleRewardMode.Staking ? 2500000n : token.rewardMode === LifecycleRewardMode.Dividends ? 500000n : 0n) +
|
|
61
|
-
|
|
43
|
+
25000n * BigInt(Math.ceil(utf8Bytes(token.name) / 32) + Math.ceil(utf8Bytes(token.symbol) / 32) + Math.ceil(utf8Bytes(token.metadataURI) / 32));
|
|
62
44
|
}
|
|
63
|
-
|
|
45
|
+
// Max observed compute: native Abyss atomic21,584,262; V4 fixed20,833,003;
|
|
46
|
+
// HMM26,395,772; UFG27,941,420 (historical-receipts.json,195 transactions).
|
|
47
|
+
// fork-matrix.json: Abyss activation8 positions11.08M/32 positions39.72M;
|
|
48
|
+
// fork-v4-matrix.json: dynamic V4 eight positions5,906,285.
|
|
49
|
+
// Native mixed HMM8/Abyss8/HMM8 activation23,883,893 (0xf05e…fe98).
|
|
50
|
+
const activationCosts = {
|
|
51
|
+
call: 1500000n,
|
|
52
|
+
abyss: { market: 500000n, position: 1250000n },
|
|
53
|
+
v4: { market: 250000n, position: 500000n },
|
|
54
|
+
raeto: { market: 500000n, position: 500000n },
|
|
55
|
+
autoCompound: { market: 750000n, position: 500000n },
|
|
56
|
+
hmm: 1000000n,
|
|
57
|
+
ufg: 250000n,
|
|
58
|
+
// Fork Abyss32: 64 buys78.44M minimum versus one buy47.49M;
|
|
59
|
+
// max observed marginal is below0.5M/buy. ERC404 pairs add below0.1M/NFT.
|
|
60
|
+
buy: 500000n,
|
|
61
|
+
nft: 100000n,
|
|
62
|
+
};
|
|
63
|
+
/** Measured-max template budgets, never gas-limit sizing or execution evidence. */
|
|
64
64
|
function capacityBasis(plan, transaction, markets, quotes, ufgRoute) {
|
|
65
65
|
const atomic = transaction.kind === "atomic";
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
// template-gas-matrix.json: Raeto/auto-compound atomic1 <=19.60M,
|
|
67
|
+
// atomic8 <=23.99M; atomic32 exceeds32M. The18M calibration base plus
|
|
68
|
+
// position/buy work and25% padding bounds compute and forwarding envelopes.
|
|
69
|
+
let gas = atomic ? (markets[0].raeto || markets[0].autoCompound ? 18000000n : 22000000n) + tokenCreationGas(plan.token) + (ufgRoute ? 6500000n : 0n)
|
|
70
|
+
: activationCosts.call + (ufgRoute ? activationCosts.ufg : 0n);
|
|
71
|
+
for (const market of markets) {
|
|
72
|
+
if (atomic)
|
|
73
|
+
gas += (market.hmm ? 7000000n : market.ufgHook ? 1000000n : market.abyss ? 500000n : 0n) +
|
|
73
74
|
(market.abyss ? 1500000n : 600000n) * BigInt(market.positions - 1);
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
else {
|
|
76
|
+
const cost = market.abyss ? activationCosts.abyss : market.raeto ? activationCosts.raeto : market.autoCompound ? activationCosts.autoCompound : activationCosts.v4;
|
|
77
|
+
gas += cost.market + cost.position * BigInt(market.positions) + (market.hmm ? activationCosts.hmm : market.ufgHook ? activationCosts.ufg : 0n);
|
|
78
|
+
}
|
|
76
79
|
}
|
|
77
|
-
|
|
80
|
+
gas += activationCosts.buy * BigInt(quotes.length);
|
|
81
|
+
// These collectors revalidate the prepared position set for each buy. At32
|
|
82
|
+
// positions the measured marginal exceeds1M/buy; flat0.5M is insufficient.
|
|
78
83
|
for (const quote of quotes) {
|
|
79
|
-
const market = markets[quote.marketIndex]
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
let crossings = 0;
|
|
83
|
-
for (const tick of market.ticks)
|
|
84
|
-
if (tick >= low && tick <= high)
|
|
85
|
-
crossings += 1;
|
|
86
|
-
gas += 300000n + 8000n * BigInt(words) + 80000n * BigInt(crossings);
|
|
87
|
-
if (plan.token.kind === LifecycleTokenKind.ERC404)
|
|
88
|
-
gas += 70000n * ceil(quote.tokenOut, plan.token.nftUnit);
|
|
89
|
-
ticks[quote.marketIndex] = after;
|
|
84
|
+
const market = markets[quote.marketIndex];
|
|
85
|
+
if (market.raeto || market.autoCompound)
|
|
86
|
+
gas += 25000n * BigInt(market.positions);
|
|
90
87
|
}
|
|
88
|
+
if (plan.token.kind === LifecycleTokenKind.ERC404)
|
|
89
|
+
for (const quote of quotes)
|
|
90
|
+
gas += activationCosts.nft * ceil(quote.tokenOut, plan.token.nftUnit);
|
|
91
91
|
return gas + 24n * BigInt((transaction.data.length - 2) / 2) + 100000n * BigInt(plan.feeAssets.length);
|
|
92
92
|
}
|
|
93
|
-
/**
|
|
93
|
+
/** No quote-token allowlist: costs and exact curve math belong to the release template. */
|
|
94
94
|
export function deriveLifecycleLaunchCapacity(options, openingBuys) {
|
|
95
95
|
const { plan, ufg } = options;
|
|
96
|
-
if (!
|
|
97
|
-
(plan.creator.toLowerCase() === UFG_LAUNCH_PROXY_ADDRESS.toLowerCase()) !== (ufg !== undefined))
|
|
96
|
+
if (!hasProfiledOpeningMath(plan) || (plan.creator.toLowerCase() === UFG_LAUNCH_PROXY_ADDRESS.toLowerCase()) !== (ufg !== undefined))
|
|
98
97
|
return undefined;
|
|
99
98
|
const headroomBps = options.headroomBps ?? 1500;
|
|
100
99
|
if (!Number.isSafeInteger(headroomBps) || headroomBps < 0 || headroomBps > 10000)
|
|
101
|
-
throw new LifecyclePlanningError("INVALID_LIMITS", "Headroom must be between zero
|
|
100
|
+
throw new LifecyclePlanningError("INVALID_LIMITS", "Headroom must be between zero and 10000 basis points");
|
|
102
101
|
const initialBuys = openingBuys ?? computeLifecycleOpeningBuys(options);
|
|
103
102
|
const route = ufg === undefined ? undefined : { account: ufgPlanPrincipal(plan), config: ufg.config };
|
|
104
|
-
const atomic =
|
|
103
|
+
const atomic = plan.markets.length === 1 && !plan.funding.some((funding) => funding.kind === LifecycleFundingKind.Swap)
|
|
104
|
+
? buildLifecycleCommand(plan, { kind: "atomic" }, route) : undefined;
|
|
105
|
+
const activation = buildLifecycleCommand(plan, { kind: "activate" }, route);
|
|
105
106
|
const markets = marketGas(plan), reserve = hmmV2ForwardingReserve(plan);
|
|
106
107
|
const bound = (transaction) => {
|
|
107
108
|
const basis = capacityBasis(plan, transaction, markets, initialBuys, ufg !== undefined);
|
|
108
|
-
const buffered = ceil(basis * BigInt(10000 + headroomBps), 10000n);
|
|
109
|
+
const buffered = ceil(basis * BigInt(10000 + Math.max(LIFECYCLE_CAPACITY_PADDING_BPS, headroomBps)), 10000n);
|
|
109
110
|
return buffered > basis + reserve ? buffered : basis + reserve;
|
|
110
111
|
};
|
|
111
|
-
return { bounds: { atomicComputeGasUpperBound: bound(atomic), activationComputeGasUpperBound: bound(activation) }, initialBuys, headroomBps, atomic, activation };
|
|
112
|
+
return { bounds: { ...(atomic === undefined ? {} : { atomicComputeGasUpperBound: bound(atomic) }), activationComputeGasUpperBound: bound(activation) }, initialBuys, headroomBps, atomic, activation };
|
|
112
113
|
}
|
|
113
|
-
/** Pure
|
|
114
|
-
*
|
|
114
|
+
/** Pure release-template budgets with headroom, excluding poster allocation.
|
|
115
|
+
* Missing coverage refuses planning; there is no execution fallback. */
|
|
115
116
|
export function computeLifecycleLaunchGasBounds(options) {
|
|
116
117
|
return deriveLifecycleLaunchCapacity(options)?.bounds;
|
|
117
118
|
}
|
|
118
|
-
/**
|
|
119
|
-
|
|
120
|
-
export async function profileLifecycleTransactions(options, transactions, block, reviewed, openingBuys, capacity) {
|
|
119
|
+
/** Checks pinned inputs and deterministic capacity only. Never executes launch calldata. */
|
|
120
|
+
export async function assessLifecycleTransactions(options, transactions, block, reviewed, openingBuys, capacity) {
|
|
121
121
|
const { client, planned } = options, plan = planned.plan;
|
|
122
|
-
const onlyApprovals = transactions.every(approval);
|
|
123
|
-
if (planned.chainId !== 4663n || !onlyApprovals && !covered(plan))
|
|
124
|
-
return undefined;
|
|
125
122
|
const context = { client, account: planned.account, orchestrator: plan.orchestrator, block, chainId: planned.chainId };
|
|
126
123
|
const observed = await resolveLifecycleLimits(context, options.limits === undefined ? planned.limits : options.limits);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
const [prices, balanceValue, accountCode] = await Promise.all([
|
|
130
|
-
readNitroPrices(client, block),
|
|
124
|
+
const [recommendation, balanceValue, prices] = await Promise.all([
|
|
125
|
+
readLifecycleGasPrice(client, block, planned.chainId),
|
|
131
126
|
lifecyclePinnedRpc(client, "eth_getBalance", [planned.account, toHex(block.number)], block),
|
|
132
|
-
|
|
127
|
+
observed.limits.protocol === "nitro" ? readNitroPrices(client, block) : undefined,
|
|
133
128
|
]);
|
|
134
|
-
if (rpcHex(accountCode, "account code") !== "0x")
|
|
135
|
-
return undefined;
|
|
136
129
|
options.signal?.throwIfAborted();
|
|
137
130
|
observed.assertCurrent();
|
|
138
131
|
registerLifecycleFinalCheck(client, observed.assertCurrent);
|
|
139
|
-
const { limits } = observed, baseFee = block.baseFeePerGas ?? 0n;
|
|
140
|
-
const requiredGasPrice =
|
|
141
|
-
const gasPrice = reviewed?.gasPrice ?? (
|
|
142
|
-
if (reviewed !== undefined &&
|
|
143
|
-
throw new LifecyclePlanningError("STALE_REVIEWED_GAS", "Reviewed gas differs from the native transaction ceiling
|
|
144
|
-
const
|
|
145
|
-
const currentCapacity =
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
132
|
+
const { limits } = observed, baseFee = block.baseFeePerGas ?? 0n, gasLimit = limits.executionGasCeiling;
|
|
133
|
+
const requiredGasPrice = limits.protocol === "nitro" && recommendation > baseFee ? recommendation : baseFee;
|
|
134
|
+
const gasPrice = reviewed?.gasPrice ?? (recommendation > baseFee * 2n ? recommendation : baseFee * 2n);
|
|
135
|
+
if (reviewed !== undefined && reviewed.gas !== gasLimit)
|
|
136
|
+
throw new LifecyclePlanningError("STALE_REVIEWED_GAS", "Reviewed gas differs from the native transaction ceiling. Refresh the review before continuing.");
|
|
137
|
+
const cancelOnly = transactions.every((transaction) => transaction.kind === "cancel");
|
|
138
|
+
const currentCapacity = cancelOnly ? undefined : capacity?.headroomBps === limits.headroomBps ? capacity
|
|
139
|
+
: deriveLifecycleLaunchCapacity({ plan, predictedToken: planned.predictedToken, ufg: planned.ufg, headroomBps: limits.headroomBps }, openingBuys);
|
|
140
|
+
const immediate = transactions[0], launch = transactions.find((transaction) => !approval(transaction));
|
|
141
|
+
const poster = (transaction) => prices === undefined ? 0n : nitroPosterGasBound(transaction, prices).posterGas;
|
|
142
|
+
const assessment = { ready: true, blockNumber: block.number, blockHash: block.hash,
|
|
143
|
+
account: planned.account, chainId: planned.chainId, limits,
|
|
144
|
+
...(currentCapacity === undefined ? {} : { gasProfile: { version: LIFECYCLE_GAS_PROFILE_VERSION, bounds: currentCapacity.bounds, initialBuys: currentCapacity.initialBuys } }) };
|
|
145
|
+
const refuse = (code, reason, failureCategory, capacityConstraint, failedTransactionId) => ({ ...assessment, ready: false, code, reason, failureCategory, capacityConstraint, failedTransactionId });
|
|
146
|
+
if (!cancelOnly && currentCapacity === undefined)
|
|
147
|
+
return refuse("UNKNOWN_GAS_PROFILE", "Gas budgets are unavailable for this launch profile. Use a supported profile or update the SDK.", "capacity");
|
|
148
|
+
if (!cancelOnly && currentCapacity.bounds.activationComputeGasUpperBound + poster(currentCapacity.activation) > gasLimit) {
|
|
149
|
+
return refuse("ACTIVATION_GAS_LIMIT", "Too many positions or pools for one activation. Reduce them to fit the native transaction ceiling.", "capacity", "activation", "activate");
|
|
150
|
+
}
|
|
151
151
|
for (const transaction of transactions) {
|
|
152
|
-
if (transaction.kind
|
|
152
|
+
if (transaction.kind === "atomic" && (currentCapacity?.bounds.atomicComputeGasUpperBound === undefined || currentCapacity.bounds.atomicComputeGasUpperBound + poster(transaction) > gasLimit))
|
|
153
|
+
return refuse("STAGED_EXECUTION_REQUIRED", "This launch requires staged execution. Refresh the review before continuing.", "capacity", "gas-envelope", transaction.id);
|
|
154
|
+
if (transaction.kind === "prepare" && ceil((preparationGasEstimate(plan, transaction.marketStart, transaction.marketCount) + preparationCalldataGas(transaction.data)) * BigInt(10000 + Math.max(LIFECYCLE_CAPACITY_PADDING_BPS, limits.headroomBps)), 10000n) + poster(transaction) > gasLimit)
|
|
155
|
+
return refuse("PREPARATION_GAS_LIMIT", "This preparation batch exceeds the gas budget. Refresh the review to split it.", "capacity", "preparation", transaction.id);
|
|
156
|
+
if (limits.maxCalldataBytes !== undefined && (transaction.data.length - 2) / 2 > limits.maxCalldataBytes)
|
|
157
|
+
return refuse("CALLDATA_LIMIT", "The launch exceeds the transaction data limit. Reduce its positions or pools.", "capacity", "calldata", transaction.id);
|
|
158
|
+
}
|
|
159
|
+
if (launch !== undefined && limits.transactionGasCeiling !== undefined && gasLimit > limits.transactionGasCeiling)
|
|
160
|
+
return refuse("GAS_POLICY_LIMIT", "The configured gas limit is below the chain's native transaction ceiling.", "capacity", "gas-envelope", launch.id);
|
|
161
|
+
if (reviewed !== undefined && gasPrice < requiredGasPrice)
|
|
162
|
+
return refuse("REVIEWED_FEE_TOO_LOW", "The reviewed gas price is below the current required fee. Refresh the review before continuing.", "semantic", undefined, immediate?.id);
|
|
163
|
+
const quotes = currentCapacity?.initialBuys ?? [];
|
|
164
|
+
if (quotes.some((quote) => quote.tokenOut < plan.buys[quote.buyIndex].minTokenOut))
|
|
165
|
+
return refuse("BUY_MINIMUM_NOT_MET", "An opening buy is below its minimum output. Refresh the review before continuing.", "semantic");
|
|
166
|
+
if (block.timestamp > plan.deadline && !cancelOnly)
|
|
167
|
+
return refuse("PLAN_EXPIRED", "The launch deadline has passed. Cancel an unfinished launch to recover its funds.", "semantic");
|
|
168
|
+
const inputs = new Map();
|
|
169
|
+
for (const prerequisite of planned.prerequisites) {
|
|
170
|
+
if (prerequisite.allowance === undefined)
|
|
153
171
|
continue;
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
|
|
172
|
+
const key = prerequisite.funding.inputAsset.toLowerCase(), total = inputs.get(key) ?? { required: 0n, balance: prerequisite.inputBalance };
|
|
173
|
+
total.required += prerequisite.requiredInput;
|
|
174
|
+
inputs.set(key, total);
|
|
157
175
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
181
|
-
|
|
176
|
+
if ([...inputs.values()].some((input) => input.required > input.balance))
|
|
177
|
+
return refuse("INSUFFICIENT_FUNDING_BALANCE", "There are not enough tokens to fund this launch. Add funds or reduce the purchase.", "affordability");
|
|
178
|
+
const balance = rpcQuantity(balanceValue, "creator native balance");
|
|
179
|
+
if (gasPrice >= 1n << 256n || launch !== undefined && launch.value + gasLimit * gasPrice >= 1n << 256n)
|
|
180
|
+
throw new LifecyclePlanningError("INVALID_GAS_ENVELOPE", "Transaction value and native-ceiling fee must fit uint256");
|
|
181
|
+
if (launch !== undefined && launch.value + gasLimit * gasPrice > balance)
|
|
182
|
+
return refuse("INSUFFICIENT_NATIVE_BALANCE", "There is not enough native currency for the launch amount and gas budget. Add funds or reduce the purchase.", "affordability", undefined, launch.id);
|
|
183
|
+
if (immediate !== undefined && !approval(immediate)) {
|
|
184
|
+
const source = lifecycleSourceClient(client);
|
|
185
|
+
const dataFee = limits.protocol === "nitro" ? 0n : observed.configuration.estimateDataFee === undefined ? undefined
|
|
186
|
+
: await observed.configuration.estimateDataFee({ ...immediate, gas: gasLimit, gasPrice }, source === client ? context : { ...context, client: source });
|
|
187
|
+
if (dataFee !== undefined && (typeof dataFee !== "bigint" || dataFee < 0n || dataFee >= 1n << 256n))
|
|
188
|
+
throw new LifecyclePlanningError("INVALID_DATA_FEE", "Data-fee estimate must be a nonnegative uint256 amount");
|
|
189
|
+
const executionFee = gasLimit * gasPrice, required = immediate.value + executionFee + (dataFee ?? 0n);
|
|
190
|
+
if (required >= 1n << 256n)
|
|
191
|
+
throw new LifecyclePlanningError("INVALID_GAS_ENVELOPE", "Transaction value and gas/data fee budget must fit uint256");
|
|
192
|
+
if (required > balance)
|
|
193
|
+
return refuse("INSUFFICIENT_NATIVE_BALANCE", "There is not enough native currency for the launch amount and gas budget. Add funds or reduce the purchase.", "affordability", undefined, immediate.id);
|
|
194
|
+
const posterGas = prices === undefined ? undefined : poster(immediate);
|
|
195
|
+
assessment.estimate = { gasLimit, gasPrice, executionFee, dataFee, totalFee: dataFee === undefined ? undefined : executionFee + dataFee,
|
|
196
|
+
posterGas, posterFee: posterGas === undefined ? undefined : posterGas * gasPrice, dataFeeIncludedInGas: limits.protocol === "nitro",
|
|
197
|
+
feeConfidence: dataFee === undefined ? "native-ceiling-only" : "native-ceiling-and-data" };
|
|
198
|
+
}
|
|
199
|
+
options.signal?.throwIfAborted();
|
|
200
|
+
observed.assertCurrent();
|
|
201
|
+
return assessment;
|
|
182
202
|
}
|
|
183
203
|
//# sourceMappingURL=gas-profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas-profile.js","sourceRoot":"","sources":["../../src/lifecycle/gas-profile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gas-profile.js","sourceRoot":"","sources":["../../src/lifecycle/gas-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
/** Versioned construction metadata and
|
|
1
|
+
/** Versioned construction metadata, exact local curve math and launch budgets. */
|
|
2
2
|
export * from "./schema.js";
|
|
3
3
|
export * from "./types.js";
|
|
4
4
|
export * from "./abi.js";
|
|
5
5
|
export * from "./markets.js";
|
|
6
6
|
export * from "./hmm.js";
|
|
7
7
|
export * from "./ufg.js";
|
|
8
|
+
export * from "./auto-compound.js";
|
|
9
|
+
export * from "./raeto.js";
|
|
10
|
+
export * from "./raeto-abi.js";
|
|
8
11
|
export { ABYSS_LIFECYCLE_CONFIG_SCHEMA, readLifecycleTokenAtBlock, readLifecycleHeadProgress, predictLifecycleToken, validateV4LifecycleOracle, readLifecycleProfiles, readPoolBoundHookDeployment, buildPoolBoundHookDeploymentTransaction, validateLifecycleMarketIdentity, readLaunchProgress } from "./progress.js";
|
|
9
|
-
export * from "./fork.js";
|
|
10
12
|
export * from "./authors.js";
|
|
11
13
|
export * from "./presets.js";
|
|
12
|
-
export { preparationGasEstimate, packPreparationBatches, buildLaunchTransactions } from "./transactions.js";
|
|
14
|
+
export { preparationGasEstimate, packPreparationBatches, buildLaunchTransactions, LIFECYCLE_CAPACITY_PADDING_BPS } from "./transactions.js";
|
|
13
15
|
export { createLifecycleSessionCache } from "./rpc.js";
|
|
14
16
|
export { launchLensAbi } from "./lens.js";
|
|
15
17
|
export { hookSaltMinerAbi } from "./mining.js";
|
|
16
|
-
export { planLaunch,
|
|
18
|
+
export { planLaunch, buildNextTransaction, prepareAndPlanLifecycleLaunch } from "./planner.js";
|
|
17
19
|
export { computeLifecycleOpeningBuys } from "./opening-buys.js";
|
|
18
20
|
export { computeLifecycleLaunchGasBounds } from "./gas-profile.js";
|
|
19
21
|
export { assertLaunchTopologyCoverage, getTickAtSqrtRatio, type LaunchTopologyCoverageInput, type LaunchTopologyPosition } from "../launch.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,qBAAqB,EACjH,yBAAyB,EAAE,qBAAqB,EAAE,2BAA2B,EAC7E,uCAAuC,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtH,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAC5I,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,KAAK,2BAA2B,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/lifecycle/index.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
/** Versioned construction metadata and
|
|
1
|
+
/** Versioned construction metadata, exact local curve math and launch budgets. */
|
|
2
2
|
export * from "./schema.js";
|
|
3
3
|
export * from "./types.js";
|
|
4
4
|
export * from "./abi.js";
|
|
5
5
|
export * from "./markets.js";
|
|
6
6
|
export * from "./hmm.js";
|
|
7
7
|
export * from "./ufg.js";
|
|
8
|
+
export * from "./auto-compound.js";
|
|
9
|
+
export * from "./raeto.js";
|
|
10
|
+
export * from "./raeto-abi.js";
|
|
8
11
|
export { ABYSS_LIFECYCLE_CONFIG_SCHEMA, readLifecycleTokenAtBlock, readLifecycleHeadProgress, predictLifecycleToken, validateV4LifecycleOracle, readLifecycleProfiles, readPoolBoundHookDeployment, buildPoolBoundHookDeploymentTransaction, validateLifecycleMarketIdentity, readLaunchProgress } from "./progress.js";
|
|
9
|
-
export * from "./fork.js";
|
|
10
12
|
export * from "./authors.js";
|
|
11
13
|
export * from "./presets.js";
|
|
12
|
-
export { preparationGasEstimate, packPreparationBatches, buildLaunchTransactions } from "./transactions.js";
|
|
14
|
+
export { preparationGasEstimate, packPreparationBatches, buildLaunchTransactions, LIFECYCLE_CAPACITY_PADDING_BPS } from "./transactions.js";
|
|
13
15
|
export { createLifecycleSessionCache } from "./rpc.js";
|
|
14
16
|
export { launchLensAbi } from "./lens.js";
|
|
15
17
|
export { hookSaltMinerAbi } from "./mining.js";
|
|
16
|
-
export { planLaunch,
|
|
18
|
+
export { planLaunch, buildNextTransaction, prepareAndPlanLifecycleLaunch } from "./planner.js";
|
|
17
19
|
export { computeLifecycleOpeningBuys } from "./opening-buys.js";
|
|
18
20
|
export { computeLifecycleLaunchGasBounds } from "./gas-profile.js";
|
|
19
21
|
export { assertLaunchTopologyCoverage, getTickAtSqrtRatio } from "../launch.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,qBAAqB,EACjH,yBAAyB,EAAE,qBAAqB,EAAE,2BAA2B,EAC7E,uCAAuC,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtH,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAC5I,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAiE,MAAM,cAAc,CAAC"}
|
|
@@ -3,6 +3,8 @@ import type { MarketConfigV1 } from "./schema.js";
|
|
|
3
3
|
import { type LifecycleProfile, type PoolBoundHookSaltProgress } from "./types.js";
|
|
4
4
|
import { type HmmLaunchConfig } from "./hmm.js";
|
|
5
5
|
import { type UfgLaunchConfig } from "./ufg-config.js";
|
|
6
|
+
import { type AutoCompoundConfigV1 } from "./auto-compound.js";
|
|
7
|
+
import { type RaetoLaunchConfigV1 } from "./raeto.js";
|
|
6
8
|
export type V4LifecyclePositionConfig = {
|
|
7
9
|
tickLower: number;
|
|
8
10
|
tickUpper: number;
|
|
@@ -121,6 +123,8 @@ export type V4PoolBoundLifecycleMarketConfigV6 = Omit<V4LifecycleMarketConfig, "
|
|
|
121
123
|
hookSalt: Hex;
|
|
122
124
|
hmmLaunchConfig?: HmmLaunchConfig;
|
|
123
125
|
ufgLaunchConfig?: UfgLaunchConfig;
|
|
126
|
+
autoCompoundConfig?: AutoCompoundConfigV1;
|
|
127
|
+
raetoLaunchConfig?: RaetoLaunchConfigV1;
|
|
124
128
|
};
|
|
125
129
|
export type V4PoolBoundLifecycleMarketConfig = V4PoolBoundLifecycleMarketConfigV5 | V4PoolBoundLifecycleMarketConfigV6;
|
|
126
130
|
export declare const V4_LIFECYCLE_CONFIG_SCHEMA: `0x${string}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../src/lifecycle/markets.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6H,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AACzK,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAA0B,KAAK,gBAAgB,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC3G,OAAO,EAA0D,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AACxG,OAAO,EAA8D,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"markets.d.ts","sourceRoot":"","sources":["../../src/lifecycle/markets.ts"],"names":[],"mappings":"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"}
|