@black-market/sdk 0.6.4 → 0.7.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 +28 -4
- package/dist/addresses.d.ts +1 -1
- package/dist/addresses.js +4 -4
- package/dist/launch.d.ts +61 -0
- package/dist/launch.d.ts.map +1 -1
- package/dist/launch.js +171 -6
- package/dist/launch.js.map +1 -1
- package/dist/lifecycle/abi.d.ts +1999 -253
- package/dist/lifecycle/abi.d.ts.map +1 -1
- package/dist/lifecycle/abi.js +43 -14
- package/dist/lifecycle/abi.js.map +1 -1
- package/dist/lifecycle/allocations.d.ts +11 -0
- package/dist/lifecycle/allocations.d.ts.map +1 -0
- package/dist/lifecycle/allocations.js +36 -0
- package/dist/lifecycle/allocations.js.map +1 -0
- package/dist/lifecycle/calibration.d.ts +19 -0
- package/dist/lifecycle/calibration.d.ts.map +1 -0
- package/dist/lifecycle/calibration.js +65 -0
- package/dist/lifecycle/calibration.js.map +1 -0
- package/dist/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.d.ts +11 -0
- package/dist/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.d.ts.map +1 -0
- package/dist/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.js +10 -0
- package/dist/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.js.map +1 -0
- package/dist/lifecycle/index.d.ts +4 -2
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +4 -2
- package/dist/lifecycle/index.js.map +1 -1
- package/dist/lifecycle/markets.d.ts +170 -6
- package/dist/lifecycle/markets.d.ts.map +1 -1
- package/dist/lifecycle/markets.js +164 -37
- package/dist/lifecycle/markets.js.map +1 -1
- package/dist/lifecycle/planner.d.ts +7 -14
- package/dist/lifecycle/planner.d.ts.map +1 -1
- package/dist/lifecycle/planner.js +354 -400
- package/dist/lifecycle/planner.js.map +1 -1
- package/dist/lifecycle/presets.d.ts +62 -0
- package/dist/lifecycle/presets.d.ts.map +1 -0
- package/dist/lifecycle/presets.js +195 -0
- package/dist/lifecycle/presets.js.map +1 -0
- package/dist/lifecycle/progress.d.ts +5 -1
- package/dist/lifecycle/progress.d.ts.map +1 -1
- package/dist/lifecycle/progress.js +212 -53
- package/dist/lifecycle/progress.js.map +1 -1
- package/dist/lifecycle/rpc.d.ts +13 -2
- package/dist/lifecycle/rpc.d.ts.map +1 -1
- package/dist/lifecycle/rpc.js +92 -8
- package/dist/lifecycle/rpc.js.map +1 -1
- package/dist/lifecycle/simulation.d.ts +14 -4
- package/dist/lifecycle/simulation.d.ts.map +1 -1
- package/dist/lifecycle/simulation.js +383 -116
- package/dist/lifecycle/simulation.js.map +1 -1
- package/dist/lifecycle/transactions.d.ts +6 -0
- package/dist/lifecycle/transactions.d.ts.map +1 -0
- package/dist/lifecycle/transactions.js +40 -0
- package/dist/lifecycle/transactions.js.map +1 -0
- package/dist/lifecycle/types.d.ts +39 -2
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/docs/launch-lifecycle.md +228 -54
- package/examples/README.md +108 -18
- package/examples/generate-lifecycle-commitment-fixture.mjs +3 -1
- package/examples/launch-example-support.mjs +1 -1
- package/examples/launch-example.mjs +73 -26
- package/examples/launch-lifecycle-smoke.mjs +13 -11
- package/examples/launch.mjs +12 -11
- package/examples/quickstart.mjs +1 -1
- package/package.json +1 -1
- package/src/addresses.ts +4 -4
- package/src/launch.ts +213 -6
- package/src/lifecycle/abi.ts +43 -14
- package/src/lifecycle/allocations.ts +35 -0
- package/src/lifecycle/calibration.ts +59 -0
- package/src/lifecycle/deployments/fixed-fee-pool-hook-v1-20261008.ts +11 -0
- package/src/lifecycle/index.ts +4 -2
- package/src/lifecycle/markets.ts +169 -35
- package/src/lifecycle/planner.ts +326 -330
- package/src/lifecycle/presets.ts +243 -0
- package/src/lifecycle/progress.ts +193 -50
- package/src/lifecycle/rpc.ts +97 -9
- package/src/lifecycle/simulation.ts +370 -109
- package/src/lifecycle/transactions.ts +34 -0
- package/src/lifecycle/types.ts +35 -3
package/README.md
CHANGED
|
@@ -40,10 +40,34 @@ Launch examples spend real funds and publish to your configured API.
|
|
|
40
40
|
Plans, transaction hashes, receipts, and errors are saved in `launch-results/`.
|
|
41
41
|
Keep `.env` and private recovery files out of Git.
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
The local, unpublished `0.7.0` candidate is a breaking lifecycle cutover.
|
|
44
|
+
`prepareAndPlanLifecycleLaunch` combines bound-hook preparation and complete admission;
|
|
45
|
+
`preparePoolBoundLifecyclePlan` and `PlannedLaunch.atomicAttempt` are removed.
|
|
46
|
+
Only the explicitly requested execution mode is simulated. Independent `planLaunch`,
|
|
47
|
+
recovery and build-next operations acquire fresh authority.
|
|
48
|
+
|
|
49
|
+
Known deployments/profiles/hooks ship as frozen construction presets selected by
|
|
50
|
+
typed keys without remote discovery. Explicit live discovery and unlisted profiles
|
|
51
|
+
remain supported. The current October8 mined graph supports pool-bound config6/V2
|
|
52
|
+
construction; historical config5 evidence is never reused or relabeled as that graph.
|
|
53
|
+
Creator minimum/maximum hook fees and upward-price sensitivity are independent
|
|
54
|
+
per-pool values frozen at launch. Optional `buySlippageBps` protects all ordered buys in one SDK
|
|
55
|
+
operation, returning only the final proved commitment. Pure transaction compilation
|
|
56
|
+
reports exact calldata sizes. Position recipes use Black Market's Early Scarcity,
|
|
57
|
+
Staircase and Smooth Ramp weights, widths and gaps with exact allocation maxima.
|
|
58
|
+
Position maxima sum to each market budget; market budgets sum to minted supply.
|
|
59
|
+
Actual mint-rounding residuals burn before buys, with no creator reserve.
|
|
60
|
+
Staircase can explicitly use adjacent shelf boundaries instead of source gaps;
|
|
61
|
+
this retains its weights and widths without zero-liquidity price jumps.
|
|
62
|
+
Only an explicit final-tail option extends the last band to the finite usable
|
|
63
|
+
protocol boundary; arbitrary equal-tick extrapolation is not a preset. See the API
|
|
64
|
+
guide for preset and admission scopes.
|
|
65
|
+
|
|
66
|
+
Lifecycle planning admits execution only after exact stateful proof. Robinhood
|
|
67
|
+
admission reads native Nitro compute/poster evidence; optional caller caps only
|
|
68
|
+
tighten it. Build-next can freshly prove an optional untrusted `reviewedTransaction`
|
|
69
|
+
without changing its exact gas/price, and separately preflight that immediate
|
|
70
|
+
envelope with an active `submissionClient`. Execution proof is not wallet submission.
|
|
47
71
|
|
|
48
72
|
[Example setup](https://github.com/abysshopper/black-market-node-sdk/tree/main/examples)
|
|
49
73
|
· [API guide](https://github.com/abysshopper/black-market-node-sdk/blob/main/docs/launch-lifecycle.md)
|
package/dist/addresses.d.ts
CHANGED
|
@@ -200,7 +200,7 @@ export declare const robinhoodMainnet: {
|
|
|
200
200
|
};
|
|
201
201
|
/** Canonical replacement: abyss/deployments/4663/abyss-canonical-replacement-20260830/deployment.json. */
|
|
202
202
|
export declare const robinhoodAbyssInfrastructure: AbyssInfrastructureAddresses;
|
|
203
|
-
/** Mined pool-launch-v1 deployment,
|
|
203
|
+
/** Mined pool-launch-v1 deployment, 20261008T000141Z-e174ce6 (manifest.json). */
|
|
204
204
|
export declare const robinhoodLaunchApplication: LaunchApplicationAddresses;
|
|
205
205
|
export declare const addresses: Record<SupportedChainId, ProtocolAddresses>;
|
|
206
206
|
export declare const chains: Record<SupportedChainId, Chain>;
|
package/dist/addresses.js
CHANGED
|
@@ -108,11 +108,11 @@ export const robinhoodAbyssInfrastructure = {
|
|
|
108
108
|
abyssFeeRouterImplementation: "0xB35b85db23fEF3A146Fbd755D76be12F9e1eBfFC",
|
|
109
109
|
abyssFeeRouter: "0x2c3B1b6fe0EDa8e10C0445567b47e66E825B34cd",
|
|
110
110
|
};
|
|
111
|
-
/** Mined pool-launch-v1 deployment,
|
|
111
|
+
/** Mined pool-launch-v1 deployment, 20261008T000141Z-e174ce6 (manifest.json). */
|
|
112
112
|
export const robinhoodLaunchApplication = {
|
|
113
|
-
launchOrchestrator: "
|
|
114
|
-
launchImplementationRegistry: "
|
|
115
|
-
launchFeeOwnerRegistry: "
|
|
113
|
+
launchOrchestrator: "0x91560876033d568d25CDe98C78c33ff8FC43962c",
|
|
114
|
+
launchImplementationRegistry: "0xB2B0f9F36617810D67b8fC175153Aa10024C1358",
|
|
115
|
+
launchFeeOwnerRegistry: "0x64b5ca1f21B8E84305b0e4D847924dca39Eb1fcb",
|
|
116
116
|
};
|
|
117
117
|
/** Robinhood-mainnet fork lending defaults; launch deployment remains explicit. */
|
|
118
118
|
const workbenchDefaults = {
|
package/dist/launch.d.ts
CHANGED
|
@@ -25,16 +25,77 @@ export type LaunchPoolRecipe = {
|
|
|
25
25
|
tickLower: number;
|
|
26
26
|
tickUpper: number;
|
|
27
27
|
};
|
|
28
|
+
export type LaunchPositionRangesInput = {
|
|
29
|
+
/** Exact, spacing-aligned opening ratio, as returned by deriveLaunchPoolRecipe. */
|
|
30
|
+
launchSqrtPriceX96: bigint;
|
|
31
|
+
/** Existing launch convention: true means the launched token is token0. */
|
|
32
|
+
launchedTokenIsQuote: boolean;
|
|
33
|
+
/** Raw launch-token units allocated to ONE pool, not the entire launch supply. */
|
|
34
|
+
tokenBudget: bigint;
|
|
35
|
+
tickSpacing: number;
|
|
36
|
+
venue: "abyss" | "uniswap-v4";
|
|
37
|
+
/** Source-defined Black Market inventory weights, widths and gaps. */
|
|
38
|
+
distributionPreset: "early-scarcity" | "staircase" | "smooth-ramp";
|
|
39
|
+
positionCount?: number;
|
|
40
|
+
/** Defaults to source-gaps; adjacent removes only Staircase's empty shelf gaps. */
|
|
41
|
+
staircaseBoundaries?: "source-gaps" | "adjacent";
|
|
42
|
+
/** Defaults to false; extends only the final band's far endpoint. */
|
|
43
|
+
extendFinalRangeToBoundary?: boolean;
|
|
44
|
+
};
|
|
45
|
+
export type LaunchPositionRange = {
|
|
46
|
+
tickLower: number;
|
|
47
|
+
tickUpper: number;
|
|
48
|
+
sqrtPriceLowerX96: bigint;
|
|
49
|
+
sqrtPriceUpperX96: bigint;
|
|
50
|
+
inventoryBps: number;
|
|
51
|
+
/** Intended inventory allocation, including any rounding dust burned before buys. */
|
|
52
|
+
allocatedTokenAmount: bigint;
|
|
53
|
+
liquidity: bigint;
|
|
54
|
+
/** Admitted maximum: equals allocatedTokenAmount, not the smaller actual mint debit. */
|
|
55
|
+
maxTokenAmount: bigint;
|
|
56
|
+
maxQuoteAmount: 0n;
|
|
57
|
+
};
|
|
58
|
+
export type LaunchPositionRanges = {
|
|
59
|
+
launchTick: number;
|
|
60
|
+
launchSqrtPriceX96: bigint;
|
|
61
|
+
boundaryTick: number;
|
|
62
|
+
boundarySqrtPriceX96: bigint;
|
|
63
|
+
positions: readonly LaunchPositionRange[];
|
|
64
|
+
tokenAmountMaximum: bigint;
|
|
65
|
+
/** Expected rounding residual burned before buys; not an unallocated creator reserve. */
|
|
66
|
+
unspentTokenAmount: bigint;
|
|
67
|
+
totalLiquidity: bigint;
|
|
68
|
+
openingActiveLiquidity: bigint;
|
|
69
|
+
buySideLiquidity: bigint;
|
|
70
|
+
maxLiquidityPerTick: bigint;
|
|
71
|
+
};
|
|
28
72
|
export type LaunchBuySqrtPriceLimitInput = {
|
|
29
73
|
launchSqrtPriceX96: bigint;
|
|
30
74
|
launchedTokenIsQuote: boolean;
|
|
31
75
|
slippageBps?: number;
|
|
32
76
|
};
|
|
77
|
+
/** Canonical Q64.96 endpoint ratio, rounded up; MAX is not a usable swap limit. */
|
|
78
|
+
export declare function getSqrtRatioAtTick(tick: number): bigint;
|
|
33
79
|
/**
|
|
34
80
|
* Derives one-sided launch geometry from explicit supply, budget and fully diluted market cap.
|
|
35
81
|
* The raw price remains a rational bigint until the canonical Q64.96 square root conversion.
|
|
36
82
|
*/
|
|
37
83
|
export declare function deriveLaunchPoolRecipe(input: LaunchPoolRecipeInput): LaunchPoolRecipe;
|
|
84
|
+
/**
|
|
85
|
+
* Source-defined one-sided Black Market presets, ordered toward higher launch-token
|
|
86
|
+
* prices. The first position starts at launch; later bands are contiguous or leave
|
|
87
|
+
* the preset's intentional gaps. Only an explicit final-tail adaptation reaches
|
|
88
|
+
* the usable protocol boundary; no equal-tick extrapolation is applied.
|
|
89
|
+
* Supply allocation across pools belongs to the caller: pass each pool's share.
|
|
90
|
+
* Budget caps floor all but the final allocation, which receives the remainder.
|
|
91
|
+
* Exact rational funding floors guarantee canonical rounded-up mint debits fit
|
|
92
|
+
* their caps, without a percentage liquidity reserve or creator allocation.
|
|
93
|
+
* Gross liquidity is checked at each endpoint, including adjacent shared ticks.
|
|
94
|
+
* Active liquidity follows [lower, upper); the first downward token1 buy crosses
|
|
95
|
+
* the opening upper endpoint and activates only the first reachable band.
|
|
96
|
+
* Boundary ratios are position endpoints, not exclusive swap-price guards.
|
|
97
|
+
*/
|
|
98
|
+
export declare function deriveLaunchPositionRanges(input: LaunchPositionRangesInput): LaunchPositionRanges;
|
|
38
99
|
export type LaunchInitialBuyEstimateInput = {
|
|
39
100
|
launchSqrtPriceX96: bigint;
|
|
40
101
|
liquidity: bigint;
|
package/dist/launch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAEvD,+HAA+H;AAC/H,eAAO,MAAM,uBAAuB,EAClC,oEAA6E,CAAC;AAChF,eAAO,MAAM,uBAAuB,QAAU,CAAC;AAC/C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,oCAAoC,OAAQ,CAAC;AAG1D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;AAEvE,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B,EAAE,MAAM,CAAC;IACnC,wBAAwB,EAAE,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"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"}
|
package/dist/launch.js
CHANGED
|
@@ -9,6 +9,7 @@ export const DEFAULT_LAUNCH_TARGET_MARKET_CAP_USD = 5_000;
|
|
|
9
9
|
const Q32 = 1n << 32n;
|
|
10
10
|
const Q96 = 1n << 96n;
|
|
11
11
|
const MAX_UINT128 = (1n << 128n) - 1n;
|
|
12
|
+
const MAX_INT128 = (1n << 127n) - 1n;
|
|
12
13
|
const MAX_UINT160 = (1n << 160n) - 1n;
|
|
13
14
|
const MAX_UINT256 = (1n << 256n) - 1n;
|
|
14
15
|
const MIN_INT24 = -(1 << 23);
|
|
@@ -89,7 +90,8 @@ function integerSqrt(value) {
|
|
|
89
90
|
}
|
|
90
91
|
return x0;
|
|
91
92
|
}
|
|
92
|
-
|
|
93
|
+
/** Canonical Q64.96 endpoint ratio, rounded up; MAX is not a usable swap limit. */
|
|
94
|
+
export function getSqrtRatioAtTick(tick) {
|
|
93
95
|
if (!Number.isInteger(tick) || tick < MIN_TICK || tick > MAX_TICK) {
|
|
94
96
|
throw new Error("Tick is outside the canonical TickMath range");
|
|
95
97
|
}
|
|
@@ -119,14 +121,12 @@ function getTickAtSqrtRatio(sqrtPriceX96) {
|
|
|
119
121
|
}
|
|
120
122
|
return low;
|
|
121
123
|
}
|
|
122
|
-
//
|
|
124
|
+
// Usable endpoints require mathematical floor/ceil, including negative ticks.
|
|
123
125
|
function alignDown(tick, tickSpacing) {
|
|
124
|
-
|
|
125
|
-
return remainder === 0 ? tick : tick - remainder;
|
|
126
|
+
return Math.floor(tick / tickSpacing) * tickSpacing;
|
|
126
127
|
}
|
|
127
128
|
function alignUp(tick, tickSpacing) {
|
|
128
|
-
|
|
129
|
-
return remainder === 0 ? tick : tick + (tickSpacing - remainder);
|
|
129
|
+
return Math.ceil(tick / tickSpacing) * tickSpacing;
|
|
130
130
|
}
|
|
131
131
|
function launchBand(launchTick, tickSpacing, launchedTokenIsQuote) {
|
|
132
132
|
const tickLower = launchedTokenIsQuote
|
|
@@ -148,6 +148,13 @@ function liquidityForAmount0(amount0, sqrtLowerX96, sqrtUpperX96) {
|
|
|
148
148
|
function liquidityForAmount1(amount1, sqrtLowerX96, sqrtUpperX96) {
|
|
149
149
|
return (amount1 * Q96) / (sqrtUpperX96 - sqrtLowerX96);
|
|
150
150
|
}
|
|
151
|
+
function divideRoundingUp(numerator, denominator) {
|
|
152
|
+
return (numerator + denominator - 1n) / denominator;
|
|
153
|
+
}
|
|
154
|
+
// Canonical SqrtPriceMath.getAmount0Delta(..., true) uses two ceiling divisions.
|
|
155
|
+
function amount0ForLiquidityRoundingUp(liquidity, sqrtLowerX96, sqrtUpperX96) {
|
|
156
|
+
return divideRoundingUp(divideRoundingUp((liquidity << 96n) * (sqrtUpperX96 - sqrtLowerX96), sqrtUpperX96), sqrtLowerX96);
|
|
157
|
+
}
|
|
151
158
|
/**
|
|
152
159
|
* Derives one-sided launch geometry from explicit supply, budget and fully diluted market cap.
|
|
153
160
|
* The raw price remains a rational bigint until the canonical Q64.96 square root conversion.
|
|
@@ -195,6 +202,164 @@ export function deriveLaunchPoolRecipe(input) {
|
|
|
195
202
|
tickLower, tickUpper,
|
|
196
203
|
};
|
|
197
204
|
}
|
|
205
|
+
// Black Market apps/web/src/lib/launch.ts uses cumulative rounding for both
|
|
206
|
+
// preset inventory weights (10,000 bps) and active widths (64 spacing steps).
|
|
207
|
+
function apportionLaunchInventory(total, scores) {
|
|
208
|
+
const sum = scores.reduce((value, score) => value + score, 0);
|
|
209
|
+
let cumulative = 0;
|
|
210
|
+
let allocated = 0;
|
|
211
|
+
return scores.map((score) => {
|
|
212
|
+
cumulative += score;
|
|
213
|
+
const next = Math.round((total * cumulative) / sum);
|
|
214
|
+
const share = next - allocated;
|
|
215
|
+
allocated = next;
|
|
216
|
+
return share;
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Source-defined one-sided Black Market presets, ordered toward higher launch-token
|
|
221
|
+
* prices. The first position starts at launch; later bands are contiguous or leave
|
|
222
|
+
* the preset's intentional gaps. Only an explicit final-tail adaptation reaches
|
|
223
|
+
* the usable protocol boundary; no equal-tick extrapolation is applied.
|
|
224
|
+
* Supply allocation across pools belongs to the caller: pass each pool's share.
|
|
225
|
+
* Budget caps floor all but the final allocation, which receives the remainder.
|
|
226
|
+
* Exact rational funding floors guarantee canonical rounded-up mint debits fit
|
|
227
|
+
* their caps, without a percentage liquidity reserve or creator allocation.
|
|
228
|
+
* Gross liquidity is checked at each endpoint, including adjacent shared ticks.
|
|
229
|
+
* Active liquidity follows [lower, upper); the first downward token1 buy crosses
|
|
230
|
+
* the opening upper endpoint and activates only the first reachable band.
|
|
231
|
+
* Boundary ratios are position endpoints, not exclusive swap-price guards.
|
|
232
|
+
*/
|
|
233
|
+
export function deriveLaunchPositionRanges(input) {
|
|
234
|
+
assertCanonicalSqrtPrice(input.launchSqrtPriceX96, "launchSqrtPriceX96");
|
|
235
|
+
assertPositiveUint(input.tokenBudget, MAX_UINT256, "tokenBudget");
|
|
236
|
+
if (typeof input.launchedTokenIsQuote !== "boolean")
|
|
237
|
+
throw new Error("launchedTokenIsQuote must be a boolean");
|
|
238
|
+
const { tickSpacing, venue, distributionPreset } = input;
|
|
239
|
+
if (!Number.isInteger(tickSpacing) || tickSpacing < 1 || tickSpacing > 32767)
|
|
240
|
+
throw new Error("tickSpacing must be 1..32767");
|
|
241
|
+
if (venue !== "abyss" && venue !== "uniswap-v4")
|
|
242
|
+
throw new Error("venue must be abyss or uniswap-v4");
|
|
243
|
+
if (distributionPreset !== "early-scarcity" && distributionPreset !== "staircase" && distributionPreset !== "smooth-ramp") {
|
|
244
|
+
throw new Error("distributionPreset must be early-scarcity, staircase or smooth-ramp");
|
|
245
|
+
}
|
|
246
|
+
const positionCount = input.positionCount ?? 5;
|
|
247
|
+
if (!Number.isInteger(positionCount) || positionCount < 2 || positionCount > 16)
|
|
248
|
+
throw new Error("positionCount must be 2..16");
|
|
249
|
+
const extendFinalRangeToBoundary = input.extendFinalRangeToBoundary ?? false;
|
|
250
|
+
if (typeof extendFinalRangeToBoundary !== "boolean")
|
|
251
|
+
throw new Error("extendFinalRangeToBoundary must be a boolean");
|
|
252
|
+
const staircaseBoundaries = input.staircaseBoundaries === undefined ? "source-gaps" : input.staircaseBoundaries;
|
|
253
|
+
if (staircaseBoundaries !== "source-gaps" && staircaseBoundaries !== "adjacent") {
|
|
254
|
+
throw new Error("staircaseBoundaries must be source-gaps or adjacent");
|
|
255
|
+
}
|
|
256
|
+
if (input.staircaseBoundaries !== undefined && distributionPreset !== "staircase") {
|
|
257
|
+
throw new Error("staircaseBoundaries is only valid for the staircase preset");
|
|
258
|
+
}
|
|
259
|
+
const launchTick = getTickAtSqrtRatio(input.launchSqrtPriceX96);
|
|
260
|
+
if (launchTick % tickSpacing !== 0 || getSqrtRatioAtTick(launchTick) !== input.launchSqrtPriceX96) {
|
|
261
|
+
throw new Error("Opening sqrt price must be an exact spacing-aligned tick");
|
|
262
|
+
}
|
|
263
|
+
const band = launchBand(launchTick, tickSpacing, input.launchedTokenIsQuote);
|
|
264
|
+
const boundaryTick = input.launchedTokenIsQuote ? band.tickUpper : band.tickLower;
|
|
265
|
+
const inventoryBps = apportionLaunchInventory(10_000, Array.from({ length: positionCount }, (_, index) => {
|
|
266
|
+
if (distributionPreset === "early-scarcity")
|
|
267
|
+
return (positionCount - 1) ** 2 + 15 * index ** 2;
|
|
268
|
+
if (distributionPreset === "staircase")
|
|
269
|
+
return (Math.floor((index * 4) / positionCount) + 1) ** 2;
|
|
270
|
+
return positionCount + 2 * index;
|
|
271
|
+
}));
|
|
272
|
+
const widths = apportionLaunchInventory(64, inventoryBps.map((_, index) => {
|
|
273
|
+
if (distributionPreset === "early-scarcity")
|
|
274
|
+
return positionCount - 1 + 3 * index;
|
|
275
|
+
if (distributionPreset === "staircase")
|
|
276
|
+
return Math.floor((index * 4) / positionCount) + 1;
|
|
277
|
+
return 2 * positionCount - index;
|
|
278
|
+
}));
|
|
279
|
+
// V4 Pool.sol floors the negative tick INDEX; Abyss Tick.sol truncates toward
|
|
280
|
+
// zero, equivalent to ceil here. The resulting canonical capacities differ.
|
|
281
|
+
const minimumTickIndex = venue === "uniswap-v4" ? Math.floor(MIN_TICK / tickSpacing) : Math.ceil(MIN_TICK / tickSpacing);
|
|
282
|
+
const maximumTickIndex = Math.floor(MAX_TICK / tickSpacing);
|
|
283
|
+
const maxLiquidityPerTick = MAX_UINT128 / BigInt(maximumTickIndex - minimumTickIndex + 1);
|
|
284
|
+
const positions = [];
|
|
285
|
+
const grossLiquidityByTick = new Map();
|
|
286
|
+
const direction = input.launchedTokenIsQuote ? 1 : -1;
|
|
287
|
+
let distance = 0;
|
|
288
|
+
let allocated = 0n;
|
|
289
|
+
let totalLiquidity = 0n;
|
|
290
|
+
let tokenAmountMaximum = 0n;
|
|
291
|
+
let tokenAmountSpent = 0n;
|
|
292
|
+
let openingActiveLiquidity = 0n;
|
|
293
|
+
for (let index = 0; index < positionCount; index += 1) {
|
|
294
|
+
const weight = inventoryBps[index];
|
|
295
|
+
const allocatedTokenAmount = index === positionCount - 1
|
|
296
|
+
? input.tokenBudget - allocated
|
|
297
|
+
: (input.tokenBudget * BigInt(weight)) / 10000n;
|
|
298
|
+
if (allocatedTokenAmount <= 0n)
|
|
299
|
+
throw new Error("Every position must have a positive allocated token cap");
|
|
300
|
+
allocated += allocatedTokenAmount;
|
|
301
|
+
if (index > 0) {
|
|
302
|
+
if (distributionPreset === "early-scarcity") {
|
|
303
|
+
distance += 2 + Math.floor((4 * index) / (positionCount - 1));
|
|
304
|
+
}
|
|
305
|
+
else if (distributionPreset === "staircase" && staircaseBoundaries === "source-gaps" &&
|
|
306
|
+
Math.floor((index * 4) / positionCount) !== Math.floor(((index - 1) * 4) / positionCount)) {
|
|
307
|
+
distance += 3;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
const start = launchTick + direction * distance * tickSpacing;
|
|
311
|
+
distance += widths[index];
|
|
312
|
+
const canonicalEnd = launchTick + direction * distance * tickSpacing;
|
|
313
|
+
if (Math.min(start, canonicalEnd) < band.tickLower || Math.max(start, canonicalEnd) > band.tickUpper) {
|
|
314
|
+
throw new Error("The launch tick leaves too little room for this distribution preset");
|
|
315
|
+
}
|
|
316
|
+
const end = extendFinalRangeToBoundary && index === positionCount - 1 ? boundaryTick : canonicalEnd;
|
|
317
|
+
const tickLower = Math.min(start, end);
|
|
318
|
+
const tickUpper = Math.max(start, end);
|
|
319
|
+
const sqrtLowerX96 = tickLower === launchTick ? input.launchSqrtPriceX96 : getSqrtRatioAtTick(tickLower);
|
|
320
|
+
const sqrtUpperX96 = tickUpper === launchTick ? input.launchSqrtPriceX96 : getSqrtRatioAtTick(tickUpper);
|
|
321
|
+
// For integer caps, flooring the exact rational inverse guarantees the
|
|
322
|
+
// two-ceiling amount0 debit (or one-ceiling amount1 debit) cannot exceed cap.
|
|
323
|
+
const liquidity = input.launchedTokenIsQuote
|
|
324
|
+
? (allocatedTokenAmount * sqrtLowerX96 * sqrtUpperX96) / (Q96 * (sqrtUpperX96 - sqrtLowerX96))
|
|
325
|
+
: liquidityForAmount1(allocatedTokenAmount, sqrtLowerX96, sqrtUpperX96);
|
|
326
|
+
if (liquidity <= 0n || liquidity > MAX_INT128)
|
|
327
|
+
throw new Error("Derived position liquidity is outside the positive int128 mint range");
|
|
328
|
+
const mintDebit = input.launchedTokenIsQuote
|
|
329
|
+
? amount0ForLiquidityRoundingUp(liquidity, sqrtLowerX96, sqrtUpperX96)
|
|
330
|
+
: divideRoundingUp(liquidity * (sqrtUpperX96 - sqrtLowerX96), Q96);
|
|
331
|
+
if (mintDebit <= 0n || mintDebit > allocatedTokenAmount || (venue === "uniswap-v4" && mintDebit > MAX_INT128)) {
|
|
332
|
+
throw new Error("Derived position mint debit exceeds its budget or settlement range");
|
|
333
|
+
}
|
|
334
|
+
const lowerGross = (grossLiquidityByTick.get(tickLower) ?? 0n) + liquidity;
|
|
335
|
+
const upperGross = (grossLiquidityByTick.get(tickUpper) ?? 0n) + liquidity;
|
|
336
|
+
if (lowerGross > maxLiquidityPerTick || upperGross > maxLiquidityPerTick) {
|
|
337
|
+
throw new Error(`Gross position liquidity exceeds the tick capacity at ${lowerGross > maxLiquidityPerTick ? tickLower : tickUpper}`);
|
|
338
|
+
}
|
|
339
|
+
grossLiquidityByTick.set(tickLower, lowerGross);
|
|
340
|
+
grossLiquidityByTick.set(tickUpper, upperGross);
|
|
341
|
+
totalLiquidity += liquidity;
|
|
342
|
+
tokenAmountMaximum += allocatedTokenAmount;
|
|
343
|
+
tokenAmountSpent += mintDebit;
|
|
344
|
+
if (tickLower <= launchTick && launchTick < tickUpper)
|
|
345
|
+
openingActiveLiquidity += liquidity;
|
|
346
|
+
positions.push({ tickLower, tickUpper, sqrtPriceLowerX96: sqrtLowerX96, sqrtPriceUpperX96: sqrtUpperX96,
|
|
347
|
+
inventoryBps: weight, allocatedTokenAmount, liquidity, maxTokenAmount: allocatedTokenAmount, maxQuoteAmount: 0n });
|
|
348
|
+
}
|
|
349
|
+
return {
|
|
350
|
+
launchTick,
|
|
351
|
+
launchSqrtPriceX96: input.launchSqrtPriceX96,
|
|
352
|
+
boundaryTick,
|
|
353
|
+
boundarySqrtPriceX96: getSqrtRatioAtTick(boundaryTick),
|
|
354
|
+
positions,
|
|
355
|
+
tokenAmountMaximum,
|
|
356
|
+
unspentTokenAmount: input.tokenBudget - tokenAmountSpent,
|
|
357
|
+
totalLiquidity,
|
|
358
|
+
openingActiveLiquidity,
|
|
359
|
+
buySideLiquidity: positions[0].liquidity,
|
|
360
|
+
maxLiquidityPerTick,
|
|
361
|
+
};
|
|
362
|
+
}
|
|
198
363
|
/**
|
|
199
364
|
* Pure estimate for the first exact-input buy against a fresh one-sided
|
|
200
365
|
* launch position. No wallet balance, allowance, pool deployment, or RPC state.
|
package/dist/launch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"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"}
|