@arcnow/mcp 0.1.2 → 0.2.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.
@@ -9,14 +9,24 @@
9
9
  * fill, with **two** charges already inside them, and this module's job is to
10
10
  * take them back out and name each one:
11
11
  *
12
- * - **arcnow.io's 1%**, the same flat fee the curve took, charged in the pool's
13
- * quote token by `ArcNowFeeHook` inside the swap — off the input on a buy,
14
- * out of the payout on a sell. The SDK reports it as `feeQuote`.
15
- * - **The pool's own LP fee**, which is Uniswap's and not arcnow.io's: the
16
- * `fee` field of the pool key, in hundredths of a bip (3000 is 0.3%), charged
12
+ * - **arcnow.io's fee hook's 0.80%**, charged in the pool's quote token by
13
+ * `ArcNowFeeHook` inside the swap — off the input on a buy, out of the payout
14
+ * on a sell and split creator / platform / protocol on the hook's own split.
15
+ * The SDK reports the amount as `feeQuote`.
16
+ * - **The pool's own 0.20% LP fee**, which is Uniswap's and not arcnow.io's: the
17
+ * `fee` field of the pool key, in hundredths of a bip (2000 is 0.20%), charged
17
18
  * by the pool on the amount it swaps and kept by its liquidity. The SDK does
18
- * not report it as an amount; its rate is read from `pool.key()` and the
19
- * amount follows from the rate.
19
+ * not report it as an amount; the amount follows from the rate.
20
+ *
21
+ * Together 1.00% of the trade — the same as the curve charged before graduation.
22
+ *
23
+ * # Every rate is read, never assumed
24
+ *
25
+ * Both rates, their total and the hook's split come from the SDK's
26
+ * `Pool.fees()`, which reads the hook's `feeBps()` and `feeConfigOf()` and the
27
+ * pool key's `fee`. Nothing here holds a fee constant: a hook of another
28
+ * version is refused by the SDK before it is read, and a pool whose key carries
29
+ * another LP fee is reported at the fee it carries.
20
30
  *
21
31
  * # The quote is the SDK's, whichever currency of the key it is
22
32
  *
@@ -37,8 +47,8 @@
37
47
  *
38
48
  * @module
39
49
  */
40
- import { Bps, minQuoteOutFromQuote, minTokensOutFromQuote, QuoteAmount, Tokens, TRADE_FEE_BPS, WAD, } from "@arcnow/sdk";
41
- import { addr, effectivePrice, money, note, price, priceMove, qty, report, section } from "../format.js";
50
+ import { Bps, minQuoteOutFromQuote, minTokensOutFromQuote, QuoteAmount, Tokens, WAD, } from "@arcnow/sdk";
51
+ import { addr, bpsPercent, effectivePrice, hookFeeRate, lpFee, money, note, poolFeeSplitSection, poolFeesLine, price, priceMove, qty, report, section, } from "../format.js";
42
52
  import { renderPoolError } from "./errors.js";
43
53
  import { parseQuoteAmount } from "./quote.js";
44
54
  import { refuseCurveOnly, routerName, venueMovedText } from "./venue.js";
@@ -54,49 +64,47 @@ const TOLERANCES = [50n, 100n, 300n, 1000n];
54
64
  * Large enough that the hook and the pool, which charge their fees on RAW
55
65
  * units, round by at most one part in ten thousand: for 18-decimal native USDC
56
66
  * that is 0.000001 USDC, and for 6-decimal EURC it is 0.01 EURC — a millionth
57
- * of a EURC is one raw unit, on which a 1% fee floors to nothing.
67
+ * of a EURC is one raw unit, on which a 0.80% fee floors to nothing.
58
68
  */
59
69
  export function spotProbe(quote) {
60
70
  return QuoteAmount.fromRaw(quote, 10n ** BigInt(Math.max(4, quote.decimals - 6)));
61
71
  }
62
- /** A v4 LP fee, in hundredths of a bip, said both ways. */
63
- export function lpFee(fee) {
64
- return `${fee / 10_000}% (${fee} hundredths of a bip)`;
65
- }
66
- /** What reaches the pool on a buy: the input after arcnow.io's 1%. */
67
- function afterHookFee(quoteIn) {
68
- return (quoteIn.wad * (BPS - TRADE_FEE_BPS)) / BPS;
72
+ /** What reaches the pool on a buy: the input after the hook's cut, at the rate the hook reports. */
73
+ function afterHookFee(quoteIn, fees) {
74
+ return (quoteIn.wad * (BPS - fees.hookFeeBps.bps)) / BPS;
69
75
  }
70
76
  /** The LP fee on a buy, in the quote: charged on what reaches the pool. */
71
- export function buyLpFee(quoteIn, fee) {
72
- const lp = (afterHookFee(quoteIn) * BigInt(fee)) / LP_FEE_DENOMINATOR;
77
+ export function buyLpFee(quoteIn, fees) {
78
+ const lp = (afterHookFee(quoteIn, fees) * BigInt(fees.lpFeePips)) / LP_FEE_DENOMINATOR;
73
79
  return QuoteAmount.fromWad(quoteIn.token, lp);
74
80
  }
75
81
  /** The LP fee on a sell, in tokens: charged on the tokens the pool takes in. */
76
- export function sellLpFee(tokensIn, fee) {
77
- return Tokens.fromWad((tokensIn.wad * BigInt(fee)) / LP_FEE_DENOMINATOR);
82
+ export function sellLpFee(tokensIn, fees) {
83
+ return Tokens.fromWad((tokensIn.wad * BigInt(fees.lpFeePips)) / LP_FEE_DENOMINATOR);
78
84
  }
79
85
  /** The quote per token a buy filled at, with both fees taken back out. */
80
- export function buyFillExFees(quoteIn, tokensOut, fee) {
86
+ export function buyFillExFees(quoteIn, tokensOut, fees) {
81
87
  if (tokensOut.wad === 0n)
82
88
  return undefined;
83
- const swapped = (afterHookFee(quoteIn) * (LP_FEE_DENOMINATOR - BigInt(fee))) / LP_FEE_DENOMINATOR;
89
+ const swapped = (afterHookFee(quoteIn, fees) * (LP_FEE_DENOMINATOR - BigInt(fees.lpFeePips)))
90
+ / LP_FEE_DENOMINATOR;
84
91
  return QuoteAmount.fromWad(quoteIn.token, (swapped * WAD) / tokensOut.wad);
85
92
  }
86
93
  /** The quote per token a sell filled at, with both fees taken back out. */
87
- export function sellFillExFees(tokensIn, quoteOut, fee) {
88
- const swapped = (tokensIn.wad * (LP_FEE_DENOMINATOR - BigInt(fee))) / LP_FEE_DENOMINATOR;
94
+ export function sellFillExFees(tokensIn, quoteOut, fees) {
95
+ const swapped = (tokensIn.wad * (LP_FEE_DENOMINATOR - BigInt(fees.lpFeePips)))
96
+ / LP_FEE_DENOMINATOR;
89
97
  if (swapped === 0n)
90
98
  return undefined;
91
- const gross = (quoteOut.wad * BPS) / (BPS - TRADE_FEE_BPS);
99
+ const gross = (quoteOut.wad * BPS) / (BPS - fees.hookFeeBps.bps);
92
100
  return QuoteAmount.fromWad(quoteOut.token, (gross * WAD) / swapped);
93
101
  }
94
102
  /** The pool's spot price, fees out, from the SDK's quote of {@link spotProbe}. */
95
- export async function poolSpotPrice(pool, quote, fee) {
103
+ export async function poolSpotPrice(pool, quote, fees) {
96
104
  const probe = spotProbe(quote);
97
105
  try {
98
106
  const quoted = await pool.quoteBuy(probe);
99
- return buyFillExFees(probe, quoted.tokensOut, fee);
107
+ return buyFillExFees(probe, quoted.tokensOut, fees);
100
108
  }
101
109
  catch {
102
110
  return undefined;
@@ -126,14 +134,15 @@ function againstSpot(spot, fill, side) {
126
134
  + `own size alone (a ${side} fills ${side === "buy" ? "above" : "below"} spot)`],
127
135
  ]);
128
136
  }
129
- function spotNote(quote) {
137
+ function spotNote(quote, fees) {
130
138
  return `How the spot price is read: @arcnow/sdk has no reader for a pool's price, so it is the `
131
139
  + `SDK's own quote of a ${spotProbe(quote).format()} probe buy with both fees taken back `
132
- + "out — an order too small to move the price. A pool swap names no referrer and no "
133
- + "developer: arcnow.io's fee hook pays those two shares of its 1% to the platform recipient.";
140
+ + "out — an order too small to move the price. A pool swap names no referrer: the fee hook "
141
+ + `splits its ${bpsPercent(fees.hookFeeBps)} between the creator, the platform and the `
142
+ + "protocol, and the pool's LP fee is nobody's revenue — the migrator burned its position.";
134
143
  }
135
144
  function curveOnlyNamed(args) {
136
- return ["referrer", "developer"].filter((field) => args[field] !== undefined);
145
+ return ["referrer"].filter((field) => args[field] !== undefined);
137
146
  }
138
147
  // ─────────────────────────────────────────────────────────────────────────────
139
148
  export async function quotePoolBuy(args, ctx, market, symbol) {
@@ -153,10 +162,12 @@ export async function quotePoolBuy(args, ctx, market, symbol) {
153
162
  }
154
163
  if (quote.venue !== "pool")
155
164
  return { isError: true, text: venueMovedText("arcnow_quote_buy") };
156
- const key = await pool.key();
157
- const spot = await poolSpotPrice(pool, quoteToken, key.fee);
165
+ // The rates come off the chain — the hook's feeBps() and the key's fee — and
166
+ // every figure below is derived from them, not from a constant here.
167
+ const fees = await pool.fees();
168
+ const spot = await poolSpotPrice(pool, quoteToken, fees);
158
169
  const avg = effectivePrice(quote.quoteIn, quote.tokensOut);
159
- const fill = buyFillExFees(quote.quoteIn, quote.tokensOut, key.fee);
170
+ const fill = buyFillExFees(quote.quoteIn, quote.tokensOut, fees);
160
171
  const router = routerName(ctx.port.config);
161
172
  return {
162
173
  text: report(`Buy quote — POOL — ${money(quoteIn)} into ${symbol}, in its Uniswap v4 pool`, note(`This is a Uniswap v4 pool quote, not a bonding-curve quote. ${symbol} graduated and `
@@ -164,19 +175,20 @@ export async function quotePoolBuy(args, ctx, market, symbol) {
164
175
  + `swap through arcnow.io's router at ${router} against the pool as it is now.`), section("what you pay and get", [
165
176
  ["venue", `Uniswap v4 pool, through arcnow.io's router ${router}`],
166
177
  ["you send", buyPaymentLine(quote.quoteIn, `arcnow.io's router ${router}`)],
167
- ["arcnow.io fee", `${money(quote.feeQuote)} — the same flat 1% the curve charged, taken in `
168
- + `${quoteToken.symbol} by arcnow.io's fee hook inside the swap`],
169
- ["pool fee", `${lpFee(key.fee)} Uniswap's LP fee, charged by the pool on top of `
170
- + `arcnow.io's 1% and kept by its liquidity: about ${money(buyLpFee(quote.quoteIn, key.fee))} `
178
+ ["fees in all", poolFeesLine(fees, quoteToken)],
179
+ ["arcnow.io fee", `${money(quote.feeQuote)} ${hookFeeRate(fees)}, taken in `
180
+ + `${quoteToken.symbol} by arcnow.io's fee hook off the input, inside the swap`],
181
+ ["pool fee", `${lpFee(fees.lpFeePips)} — Uniswap's LP fee, charged by the pool on what `
182
+ + `reaches it and kept by its liquidity: about ${money(buyLpFee(quote.quoteIn, fees))} `
171
183
  + "of this order"],
172
184
  ["tokens out", qty(quote.tokensOut, symbol)],
173
185
  ["average fill price", avg === undefined
174
186
  ? "n/a"
175
187
  : `${price(avg)} — everything you pay, both fees in, over everything you get`],
176
- ]), againstSpot(spot, fill, "buy"), section("minimum tokens out, by tolerance", TOLERANCES.map((bps) => [
188
+ ]), poolFeeSplitSection(fees), againstSpot(spot, fill, "buy"), section("minimum tokens out, by tolerance", TOLERANCES.map((bps) => [
177
189
  `${bps} bps (${Number(bps) / 100}%)`,
178
190
  qty(minTokensOutFromQuote(quote, Bps.of(bps)), symbol),
179
- ])), note(spotNote(quoteToken)), note("This quote is one block old the moment it is returned. Anybody's trade in this pool "
191
+ ])), note(spotNote(quoteToken, fees)), note("This quote is one block old the moment it is returned. Anybody's trade in this pool "
180
192
  + "moves it, which is what the minimum-out floor is for.")),
181
193
  };
182
194
  }
@@ -210,10 +222,10 @@ export async function quotePoolSell(args, ctx, market, symbol) {
210
222
  }
211
223
  if (quote.venue !== "pool")
212
224
  return { isError: true, text: venueMovedText("arcnow_quote_sell") };
213
- const [key, approved] = await Promise.all([pool.key(), pool.routerAllowance(holder)]);
214
- const spot = await poolSpotPrice(pool, quoteToken, key.fee);
225
+ const [fees, approved] = await Promise.all([pool.fees(), pool.routerAllowance(holder)]);
226
+ const spot = await poolSpotPrice(pool, quoteToken, fees);
215
227
  const avg = effectivePrice(quote.quoteOut, quote.tokensIn);
216
- const fill = sellFillExFees(quote.tokensIn, quote.quoteOut, key.fee);
228
+ const fill = sellFillExFees(quote.tokensIn, quote.quoteOut, fees);
217
229
  const router = routerName(ctx.port.config);
218
230
  return {
219
231
  text: report(`Sell quote — POOL — ${qty(tokensIn, symbol)}, in its Uniswap v4 pool`, note(`This is a Uniswap v4 pool quote, not a bonding-curve quote. ${symbol} graduated and `
@@ -222,15 +234,16 @@ export async function quotePoolSell(args, ctx, market, symbol) {
222
234
  ["venue", `Uniswap v4 pool, through arcnow.io's router ${router}`],
223
235
  ["you send", `${qty(quote.tokensIn, symbol)} — pulled by the router, which needs an `
224
236
  + "ERC-20 approval first (below)"],
225
- ["pool fee", `${lpFee(key.fee)} — Uniswap's LP fee, taken by the pool from the tokens `
226
- + `you sell and kept by its liquidity: about ${qty(sellLpFee(quote.tokensIn, key.fee), symbol)}`],
227
- ["arcnow.io fee", `${money(quote.feeQuote)} the same flat 1% the curve charged, taken `
228
- + `by arcnow.io's fee hook out of the ${quoteToken.symbol} the pool pays`],
237
+ ["fees in all", poolFeesLine(fees, quoteToken)],
238
+ ["pool fee", `${lpFee(fees.lpFeePips)} Uniswap's LP fee, taken by the pool from the tokens `
239
+ + `you sell and kept by its liquidity: about ${qty(sellLpFee(quote.tokensIn, fees), symbol)}`],
240
+ ["arcnow.io fee", `${money(quote.feeQuote)} ${hookFeeRate(fees)}, taken by arcnow.io's `
241
+ + `fee hook out of the ${quoteToken.symbol} the pool pays`],
229
242
  ["you receive", `${money(quote.quoteOut)} — net of both fees`],
230
243
  ["average fill price", avg === undefined
231
244
  ? "n/a"
232
245
  : `${price(avg)} — what you receive, net of both fees, over what you give`],
233
- ]), againstSpot(spot, fill, "sell"), section("the approval a pool sell needs", [
246
+ ]), poolFeeSplitSection(fees), againstSpot(spot, fill, "sell"), section("the approval a pool sell needs", [
234
247
  ["spender", `${router} — arcnow.io's v4 router`],
235
248
  ["holder", addr(holder)],
236
249
  ["approved now", qty(approved, symbol)],
@@ -242,7 +255,7 @@ export async function quotePoolSell(args, ctx, market, symbol) {
242
255
  ]), section(`minimum ${quoteToken.symbol} out, by tolerance`, TOLERANCES.map((bps) => [
243
256
  `${bps} bps (${Number(bps) / 100}%)`,
244
257
  money(minQuoteOutFromQuote(quote, Bps.of(bps)).ceilToRepresentable()),
245
- ])), note(spotNote(quoteToken)), note("A bonding-curve sell never needed an approval; a pool sell always does, because the "
258
+ ])), note(spotNote(quoteToken, fees)), note("A bonding-curve sell never needed an approval; a pool sell always does, because the "
246
259
  + "router has no privileged path. This quote is a snapshot of one block.")),
247
260
  };
248
261
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/tools/pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,OAAO,EACL,GAAG,EACH,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,MAAM,EACN,aAAa,EACb,GAAG,GACJ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,GAAG,GAAG,MAAO,CAAC;AACpB,MAAM,kBAAkB,GAAG,QAAU,CAAC;AAEtC,kFAAkF;AAClF,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,GAAG,GAAG,GAAG,MAAM,MAAM,GAAG,uBAAuB,CAAC;AACzD,CAAC;AAED,sEAAsE;AACtE,SAAS,YAAY,CAAC,OAAoB;IACxC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,GAAG,GAAG,CAAC;AACrD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,QAAQ,CAAC,OAAoB,EAAE,GAAW;IACxD,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC;IACtE,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,GAAW;IACrD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC;AAC3E,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,aAAa,CAC3B,OAAoB,EACpB,SAAiB,EACjB,GAAW;IAEX,IAAI,SAAS,CAAC,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;IAClG,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,QAAqB,EACrB,GAAW;IAEX,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;IACzF,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC;IAC3D,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAgB,EAChB,KAAqB,EACrB,GAAW;IAEX,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB,EAAE,MAAc;IAChE,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,sEAAsE;QACxF,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,MAAM,qBAAqB,MAAM,CAAC,KAAK,CAAC,MAAM,kBAAkB;cAC9F,yFAAyF;cACzF,wFAAwF;cACxF,cAAc,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,IAA6B,EAAE,IAA6B,EAAE,IAAoB;IACrG,OAAO,OAAO,CAAC,8BAA8B,EAAE;QAC7C,CAAC,iBAAiB,EAAE,IAAI,KAAK,SAAS;gBACpC,CAAC,CAAC,0DAA0D;gBAC5D,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC;QAC7E,CAAC,gBAAgB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC,cAAc,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;gBACvD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,2DAA2D;sBACjF,qBAAqB,IAAI,UAAU,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC;KACrF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,KAAqB;IACrC,OAAO,yFAAyF;UAC5F,wBAAwB,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,uCAAuC;UACxF,mFAAmF;UACnF,4FAA4F,CAAC;AACnG,CAAC;AAED,SAAS,cAAc,CAAC,IAAuE;IAC7F,OAAQ,CAAC,UAAU,EAAE,WAAW,CAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;AAC3F,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAwF,EACxF,GAAgB,EAChB,MAAc,EACd,MAAc;IAEd,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,kBAAkB,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;IAC3C,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IAC/B,IAAI,KAAoB,CAAC;IACzB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IACpF,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAE/F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3C,OAAO;QACL,IAAI,EAAE,MAAM,CACV,sBAAsB,KAAK,CAAC,OAAO,CAAC,SAAS,MAAM,0BAA0B,EAC7E,IAAI,CAAC,+DAA+D,MAAM,iBAAiB;cACvF,sFAAsF;cACtF,sCAAsC,MAAM,iCAAiC,CAAC,EAClF,OAAO,CAAC,sBAAsB,EAAE;YAC9B,CAAC,OAAO,EAAE,+CAA+C,MAAM,EAAE,CAAC;YAClE,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,kDAAkD;sBAC1F,GAAG,UAAU,CAAC,MAAM,0CAA0C,CAAC;YACjE,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,qDAAqD;sBACjF,mDAAmD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG;sBAC7F,eAAe,CAAC;YAClB,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC5C,CAAC,oBAAoB,EAAE,GAAG,KAAK,SAAS;oBACtC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC;SACjF,CAAC,EACF,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAC9B,OAAO,CAAC,kCAAkC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YAClE,GAAG,GAAG,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;YACpC,GAAG,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;SACnC,CAAC,CAAC,EACvB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAC1B,IAAI,CAAC,sFAAsF;cACvF,uDAAuD,CAAC,CAC7D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAKC,EACD,GAAgB,EAChB,MAAc,EACd,MAAc;IAEd,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,mBAAmB,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC1F,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAwB,CAAC;IAC9E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM,CACV,wFAAwF;kBACtF,qFAAqF;kBACrF,aAAa,EACf,IAAI,CAAC,oFAAoF;kBACrF,oFAAoF;kBACpF,+EAA+E;kBAC/E,gFAAgF;kBAChF,kCAAkC,CAAC,CACxC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IAC/B,IAAI,KAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAAC;IAEhG,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3C,OAAO;QACL,IAAI,EAAE,MAAM,CACV,uBAAuB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,0BAA0B,EACtE,IAAI,CAAC,+DAA+D,MAAM,iBAAiB;cACvF,sFAAsF;cACtF,WAAW,IAAI,CAAC,MAAM,CAAC,kCAAkC,MAAM,GAAG,CAAC,EACvE,OAAO,CAAC,uBAAuB,EAAE;YAC/B,CAAC,OAAO,EAAE,+CAA+C,MAAM,EAAE,CAAC;YAClE,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,0CAA0C;sBACnF,+BAA+B,CAAC;YAClC,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,yDAAyD;sBACrF,6CAA6C,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;YACjG,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,+CAA+C;sBACvF,sCAAsC,UAAU,CAAC,MAAM,gBAAgB,CAAC;YAC1E,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC9D,CAAC,oBAAoB,EAAE,GAAG,KAAK,SAAS;oBACtC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC;SAC9E,CAAC,EACF,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,gCAAgC,EAAE;YACxC,CAAC,SAAS,EAAE,GAAG,MAAM,0BAA0B,CAAC;YAChD,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC,cAAc,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC;oBACvC,CAAC,CAAC,yBAAyB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,uCAAuC;0BACrF,kFAAkF;0BAClF,kFAAkF;oBACpF,CAAC,CAAC,yDAAyD,CAAC;SAC/D,CAAC,EACF,OAAO,CAAC,WAAW,UAAU,CAAC,MAAM,oBAAoB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YAChF,GAAG,GAAG,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;YACpC,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;SAClD,CAAC,CAAC,EACvB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAC1B,IAAI,CAAC,sFAAsF;cACvF,uEAAuE,CAAC,CAC7E;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/tools/pool.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,6 @@
13
13
  *
14
14
  * @module
15
15
  */
16
- import type { FeeSplit } from "@arcnow/sdk";
17
16
  import { QuoteAmount } from "@arcnow/sdk";
18
17
  import { z } from "./schema.js";
19
18
  import type { AnyTool } from "./schema.js";
@@ -21,6 +20,11 @@ import type { AnyTool } from "./schema.js";
21
20
  export declare function quoteArg(): z.ZodOptional<z.ZodString>;
22
21
  export declare const GRADUATING_BUY_WARNING: string;
23
22
  export declare function statusLine(graduated: boolean, migrated: boolean): string;
24
- export declare function feeSplitSection(fee: QuoteAmount, split: FeeSplit, referrer: string | undefined, developer: string | undefined): string;
23
+ /**
24
+ * A launch fee, as the registry reports it. Zero on every quote arcnow.io
25
+ * registers — launching is free — and said so; anything else is printed as the
26
+ * amount it is, because the figure is read, not assumed.
27
+ */
28
+ export declare function launchFeeLine(fee: QuoteAmount): string;
25
29
  export declare const READ_TOOLS: readonly AnyTool[];
26
30
  //# sourceMappingURL=read.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAsC,MAAM,aAAa,CAAC;AAChF,OAAO,EAGL,WAAW,EAGZ,MAAM,aAAa,CAAC;AAoBrB,OAAO,EAAgF,CAAC,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAgwBxD,0CAA0C;AAC1C,wBAAgB,QAAQ,+BAOvB;AAkOD,eAAO,MAAM,sBAAsB,QAUoD,CAAC;AAExF,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAQxE;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAaR;AAMD,eAAO,MAAM,UAAU,EAAE,SAAS,OAAO,EAUxC,CAAC"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAML,WAAW,EAGZ,MAAM,aAAa,CAAC;AA0BrB,OAAO,EAAgF,CAAC,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AA0wBxD,0CAA0C;AAC1C,wBAAgB,QAAQ,+BAOvB;AAgOD,eAAO,MAAM,sBAAsB,QAUoD,CAAC;AAExF,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAItD;AAMD,eAAO,MAAM,UAAU,EAAE,SAAS,OAAO,EAUxC,CAAC"}