@bananapus/nana-sdk-core 3.3.0 → 3.4.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.
Files changed (69) hide show
  1. package/dist/cjs/review/heldWrite.js +1 -1
  2. package/dist/cjs/review/heldWrite.js.map +1 -1
  3. package/dist/cjs/review/messages.d.ts +3 -1
  4. package/dist/cjs/review/messages.d.ts.map +1 -1
  5. package/dist/cjs/review/messages.js +4 -2
  6. package/dist/cjs/review/messages.js.map +1 -1
  7. package/dist/cjs/review/writeHold.d.ts +9 -6
  8. package/dist/cjs/review/writeHold.d.ts.map +1 -1
  9. package/dist/cjs/review/writeHold.js +12 -4
  10. package/dist/cjs/review/writeHold.js.map +1 -1
  11. package/dist/cjs/review/writeRecovery.d.ts +3 -2
  12. package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
  13. package/dist/cjs/review/writeRecovery.js +3 -2
  14. package/dist/cjs/review/writeRecovery.js.map +1 -1
  15. package/dist/cjs/v6/defifa.d.ts +4 -2
  16. package/dist/cjs/v6/defifa.d.ts.map +1 -1
  17. package/dist/cjs/v6/defifa.js +10 -6
  18. package/dist/cjs/v6/defifa.js.map +1 -1
  19. package/dist/cjs/v6/executionErrors.d.ts +69 -11
  20. package/dist/cjs/v6/executionErrors.d.ts.map +1 -1
  21. package/dist/cjs/v6/executionErrors.js +160 -75
  22. package/dist/cjs/v6/executionErrors.js.map +1 -1
  23. package/dist/cjs/v6/index.d.ts +2 -1
  24. package/dist/cjs/v6/index.d.ts.map +1 -1
  25. package/dist/cjs/v6/index.js +4 -1
  26. package/dist/cjs/v6/index.js.map +1 -1
  27. package/dist/cjs/v6/pay.d.ts +23 -8
  28. package/dist/cjs/v6/pay.d.ts.map +1 -1
  29. package/dist/cjs/v6/pay.js +313 -32
  30. package/dist/cjs/v6/pay.js.map +1 -1
  31. package/dist/cjs/v6/uniswapV3.d.ts +21 -0
  32. package/dist/cjs/v6/uniswapV3.d.ts.map +1 -0
  33. package/dist/cjs/v6/uniswapV3.js +72 -0
  34. package/dist/cjs/v6/uniswapV3.js.map +1 -0
  35. package/dist/esm/review/heldWrite.js +2 -2
  36. package/dist/esm/review/heldWrite.js.map +1 -1
  37. package/dist/esm/review/messages.d.ts +3 -1
  38. package/dist/esm/review/messages.d.ts.map +1 -1
  39. package/dist/esm/review/messages.js +3 -1
  40. package/dist/esm/review/messages.js.map +1 -1
  41. package/dist/esm/review/writeHold.d.ts +9 -6
  42. package/dist/esm/review/writeHold.d.ts.map +1 -1
  43. package/dist/esm/review/writeHold.js +12 -4
  44. package/dist/esm/review/writeHold.js.map +1 -1
  45. package/dist/esm/review/writeRecovery.d.ts +3 -2
  46. package/dist/esm/review/writeRecovery.d.ts.map +1 -1
  47. package/dist/esm/review/writeRecovery.js +3 -2
  48. package/dist/esm/review/writeRecovery.js.map +1 -1
  49. package/dist/esm/v6/defifa.d.ts +4 -2
  50. package/dist/esm/v6/defifa.d.ts.map +1 -1
  51. package/dist/esm/v6/defifa.js +10 -6
  52. package/dist/esm/v6/defifa.js.map +1 -1
  53. package/dist/esm/v6/executionErrors.d.ts +69 -11
  54. package/dist/esm/v6/executionErrors.d.ts.map +1 -1
  55. package/dist/esm/v6/executionErrors.js +159 -76
  56. package/dist/esm/v6/executionErrors.js.map +1 -1
  57. package/dist/esm/v6/index.d.ts +2 -1
  58. package/dist/esm/v6/index.d.ts.map +1 -1
  59. package/dist/esm/v6/index.js +2 -1
  60. package/dist/esm/v6/index.js.map +1 -1
  61. package/dist/esm/v6/pay.d.ts +23 -8
  62. package/dist/esm/v6/pay.d.ts.map +1 -1
  63. package/dist/esm/v6/pay.js +313 -33
  64. package/dist/esm/v6/pay.js.map +1 -1
  65. package/dist/esm/v6/uniswapV3.d.ts +21 -0
  66. package/dist/esm/v6/uniswapV3.d.ts.map +1 -0
  67. package/dist/esm/v6/uniswapV3.js +68 -0
  68. package/dist/esm/v6/uniswapV3.js.map +1 -0
  69. package/package.json +1 -1
@@ -122,13 +122,15 @@ export interface PreparedUserPay {
122
122
  preview: PayPreview;
123
123
  minReturnedTokens: bigint;
124
124
  }
125
+ /** `prepareUserPay`'s tolerance on its quote and fallback minimum: 1%. */
126
+ export declare const PAY_DEFAULT_SLIPPAGE_BPS = 100n;
125
127
  /**
126
128
  * Prepare a person's payment with {@link buildUserPayMetadata}: preview it,
127
129
  * and set the minimum the terminal enforces on the beneficiary's balance.
128
130
  *
129
- * When the project's buyback hook has a pool in the paid token, this quotes
130
- * that pool (fee and price impact included) and sends the slippage-floored
131
- * quote as an explicit minimum, so the payer gets the pool's rate whenever it
131
+ * When the project's buyback hook would swap, this quotes its pool (fee and
132
+ * price impact included) and sends the slippage-floored quote as an explicit
133
+ * minimum, so the payer gets the pool's rate whenever it
132
134
  * beats minting. The hook compares that minimum to the swap output plus the
133
135
  * leftover mint: the whole leftover mint when the swapped tokens go through
134
136
  * the reserved split (`skipSplits` false, and always on hook 1.1.1, which
@@ -140,17 +142,30 @@ export interface PreparedUserPay {
140
142
  * which reaches zero on large buys against a thin pool and sends them to
141
143
  * minting even when the pool pays far more.
142
144
  *
143
- * Otherwise (no pool, a router converting the token first, or a failed quote)
144
- * the minimum is the payer's mint entitlement when the hook would swap, since
145
- * the hook never settles below it, and the terminal's own issuance when it
146
- * would not. If the payment then reverts, {@link decodePayFailure} says why.
145
+ * Behind a router terminal, its registry or its gateway, when the router
146
+ * converts the paid token first with one swap, the pool is the one in the
147
+ * token it converts to, quoted on what that swap is quoted to return. If the
148
+ * conversion returns noticeably less, the hook's minimum reverts the payment.
149
+ * If it returns more, the hook mints once minting reaches the minimum, which
150
+ * happens only when the pool beats minting by less than `slippageBps` plus
151
+ * that gain. The payer still receives at least the minimum, and no fixed
152
+ * minimum avoids this when the pool's edge is inside the conversion's
153
+ * uncertainty. Other routes, such as cashing a project token out first, keep
154
+ * the fallback.
155
+ *
156
+ * Otherwise (no pool, or a failed quote) the minimum is the payer's mint
157
+ * entitlement when the hook would swap, since the hook never settles below it,
158
+ * and the terminal's own issuance when it would not. If the payment then
159
+ * reverts, {@link decodePayFailure} says why. To let the payer accept less,
160
+ * prepare again with a larger `slippageBps`: the hook's minimum is in the
161
+ * metadata, so lowering `minReturnedTokens` alone does not relax it.
147
162
  *
148
163
  * When the ruleset calls buyback hook 1.4 directly (or through the omnichain
149
164
  * deployer) instead of through the registry, the metadata is keyed to the hook,
150
165
  * which reads nothing else.
151
166
  *
152
167
  * @param args.slippageBps Tolerance on the pool quote and on the fallback
153
- * minimum. Defaults to 100 (1%).
168
+ * minimum. Defaults to {@link PAY_DEFAULT_SLIPPAGE_BPS}.
154
169
  * @param args.skipSplits Whether the beneficiary keeps the swapped tokens
155
170
  * without the reserved split. Defaults to true, as a person's pay card does;
156
171
  * pass false for payments that should honor the project's splits, such as
@@ -1 +1 @@
1
- {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PAY_DEFAULT_SLIPPAGE_BPS = void 0;
3
4
  exports.buildPayTx = buildPayTx;
4
5
  exports.previewPay = previewPay;
5
6
  exports.effectivePayPreview = effectivePayPreview;
@@ -12,7 +13,9 @@ const constants_js_1 = require("../constants.js");
12
13
  const juicebox_js_1 = require("../generated/juicebox.js");
13
14
  const hook_js_1 = require("../utils/hook.js");
14
15
  const cashOut_js_1 = require("./cashOut.js");
16
+ const terminals_js_1 = require("./terminals.js");
15
17
  const types_js_1 = require("./types.js");
18
+ const uniswapV3_js_1 = require("./uniswapV3.js");
16
19
  const uniswapV4_js_1 = require("./uniswapV4.js");
17
20
  /**
18
21
  * Build a `pay(projectId, token, amount, beneficiary, minReturnedTokens, memo,
@@ -312,13 +315,252 @@ const poolKeyOfAbi = [
312
315
  ],
313
316
  },
314
317
  ];
318
+ /** `prepareUserPay`'s tolerance on its quote and fallback minimum: 1%. */
319
+ exports.PAY_DEFAULT_SLIPPAGE_BPS = 100n;
320
+ /**
321
+ * The buyback pool a payment's spec reports, and the terminal token it is
322
+ * keyed to, or null. A router converts the paid token first, so its pool is
323
+ * keyed to another token the project accepts. The pool id is the key's hash,
324
+ * so a match proves the key.
325
+ */
326
+ async function buybackPoolOf(client, { chainId, hook, projectId, token, poolId, }) {
327
+ const poolOf = async (terminalToken) => ({
328
+ terminalToken,
329
+ key: await client.readContract({
330
+ address: hook,
331
+ abi: poolKeyOfAbi,
332
+ functionName: "poolKeyOf",
333
+ args: [
334
+ projectId,
335
+ terminalToken.toLowerCase() === constants_js_1.NATIVE_TOKEN.toLowerCase()
336
+ ? viem_1.zeroAddress
337
+ : terminalToken,
338
+ ],
339
+ }),
340
+ });
341
+ const paid = await poolOf(token);
342
+ if ((0, uniswapV4_js_1.uniswapV4PoolId)(paid.key) === poolId)
343
+ return paid;
344
+ const contexts = await (0, terminals_js_1.getAccountingContexts)(client, { chainId, projectId });
345
+ const pools = await Promise.all(contexts
346
+ .filter((c) => c.token.toLowerCase() !== token.toLowerCase())
347
+ .map((c) => poolOf(c.token)));
348
+ return pools.find((p) => (0, uniswapV4_js_1.uniswapV4PoolId)(p.key) === poolId) ?? null;
349
+ }
350
+ const previewPayForOutputs = juicebox_js_1.jbMultiTerminalAbi.find((item) => item.type === "function" && item.name === "previewPayFor").outputs;
351
+ // Only these reads of the router and core: their full ABIs would weigh on every pay card.
352
+ const routerConversionAbi = [
353
+ {
354
+ type: "function",
355
+ name: "projectIdOf",
356
+ stateMutability: "view",
357
+ inputs: [{ name: "token", type: "address" }],
358
+ outputs: [{ name: "", type: "uint256" }],
359
+ },
360
+ {
361
+ type: "function",
362
+ name: "primaryTerminalOf",
363
+ stateMutability: "view",
364
+ inputs: [
365
+ { name: "projectId", type: "uint256" },
366
+ { name: "token", type: "address" },
367
+ ],
368
+ outputs: [{ name: "", type: "address" }],
369
+ },
370
+ {
371
+ type: "function",
372
+ name: "previewTerminalPayOf",
373
+ stateMutability: "view",
374
+ inputs: [
375
+ { name: "destTerminal", type: "address" },
376
+ { name: "projectId", type: "uint256" },
377
+ { name: "token", type: "address" },
378
+ { name: "amount", type: "uint256" },
379
+ { name: "beneficiary", type: "address" },
380
+ { name: "metadata", type: "bytes" },
381
+ ],
382
+ outputs: previewPayForOutputs,
383
+ },
384
+ {
385
+ type: "function",
386
+ name: "wrappedNativeToken",
387
+ stateMutability: "view",
388
+ inputs: [],
389
+ outputs: [{ name: "", type: "address" }],
390
+ },
391
+ {
392
+ type: "function",
393
+ name: "previewSwapAmountOutOf",
394
+ stateMutability: "view",
395
+ inputs: [
396
+ { name: "tokenIn", type: "address" },
397
+ { name: "tokenOut", type: "address" },
398
+ { name: "amount", type: "uint256" },
399
+ { name: "metadata", type: "bytes" },
400
+ ],
401
+ outputs: [{ name: "amountOut", type: "uint256" }],
402
+ },
403
+ {
404
+ type: "function",
405
+ name: "discoverBestPool",
406
+ stateMutability: "view",
407
+ inputs: [
408
+ { name: "normalizedTokenIn", type: "address" },
409
+ { name: "normalizedTokenOut", type: "address" },
410
+ ],
411
+ outputs: [
412
+ {
413
+ name: "",
414
+ type: "tuple",
415
+ components: [
416
+ { name: "isV4", type: "bool" },
417
+ { name: "v3Pool", type: "address" },
418
+ {
419
+ name: "v4Key",
420
+ type: "tuple",
421
+ components: [
422
+ { name: "currency0", type: "address" },
423
+ { name: "currency1", type: "address" },
424
+ { name: "fee", type: "uint24" },
425
+ { name: "tickSpacing", type: "int24" },
426
+ { name: "hooks", type: "address" },
427
+ ],
428
+ },
429
+ ],
430
+ },
431
+ ],
432
+ },
433
+ ];
434
+ const v3PoolFeeAbi = [
435
+ {
436
+ type: "function",
437
+ name: "fee",
438
+ stateMutability: "view",
439
+ inputs: [],
440
+ outputs: [{ name: "", type: "uint24" }],
441
+ },
442
+ ];
443
+ /**
444
+ * What the router terminal's swap of the whole payment into `tokenOut` is
445
+ * quoted to return (fee and price impact included), and the floor it reverts
446
+ * below, from the pool the router picks. Null when the route is not that one
447
+ * swap, such as when the router cashes a project token out first.
448
+ */
449
+ async function routerConversionOf(client, { chainId, tokenIn, tokenOut, amount, }) {
450
+ const router = (0, types_js_1.v6Address)("JBRouterTerminal", chainId);
451
+ const [sourceProjectId, wrapped] = await Promise.all([
452
+ client.readContract({
453
+ address: (0, types_js_1.v6Address)("JBTokens", chainId),
454
+ abi: routerConversionAbi,
455
+ functionName: "projectIdOf",
456
+ args: [tokenIn],
457
+ }),
458
+ client.readContract({
459
+ address: router,
460
+ abi: routerConversionAbi,
461
+ functionName: "wrappedNativeToken",
462
+ }),
463
+ ]);
464
+ // The router cashes a project token out before any swap.
465
+ if (sourceProjectId !== 0n)
466
+ return null;
467
+ const isNative = (t) => t.toLowerCase() === constants_js_1.NATIVE_TOKEN.toLowerCase() ||
468
+ t.toLowerCase() === viem_1.zeroAddress;
469
+ const wrap = (t) => (isNative(t) ? wrapped : t);
470
+ const [floor, pool] = await Promise.all([
471
+ client.readContract({
472
+ address: router,
473
+ abi: routerConversionAbi,
474
+ functionName: "previewSwapAmountOutOf",
475
+ args: [tokenIn, tokenOut, amount, "0x"],
476
+ }),
477
+ client.readContract({
478
+ address: router,
479
+ abi: routerConversionAbi,
480
+ functionName: "discoverBestPool",
481
+ args: [wrap(tokenIn), wrap(tokenOut)],
482
+ }),
483
+ ]);
484
+ let expected;
485
+ if (pool.isV4) {
486
+ // V4 pools hold the native token itself, which the router uses for wrapped input.
487
+ const unwrap = (t) => wrap(t).toLowerCase() === wrapped.toLowerCase() ? viem_1.zeroAddress : t;
488
+ const zeroForOne = (0, uniswapV4_js_1.uniswapV4SwapDirection)({
489
+ poolKey: pool.v4Key,
490
+ tokenIn: unwrap(tokenIn),
491
+ tokenOut: unwrap(tokenOut),
492
+ });
493
+ if (zeroForOne === null)
494
+ return null;
495
+ expected = await (0, uniswapV4_js_1.quoteUniswapV4ExactInputSingle)(client, {
496
+ chainId,
497
+ poolKey: pool.v4Key,
498
+ zeroForOne,
499
+ amountIn: amount,
500
+ });
501
+ }
502
+ else {
503
+ expected = await (0, uniswapV3_js_1.quoteUniswapV3ExactInputSingle)(client, {
504
+ chainId,
505
+ tokenIn: wrap(tokenIn),
506
+ tokenOut: wrap(tokenOut),
507
+ fee: await client.readContract({
508
+ address: pool.v3Pool,
509
+ abi: v3PoolFeeAbi,
510
+ functionName: "fee",
511
+ }),
512
+ amountIn: amount,
513
+ });
514
+ }
515
+ return expected >= floor ? { expected, floor } : null;
516
+ }
517
+ /**
518
+ * The buyback spec the destination returns when the router's conversion
519
+ * returns what it is quoted to, and the router's floor. The hook's input is
520
+ * the conversion less anything taken before it, such as an NFT split, and the
521
+ * hook mints instead of swapping once minting that input reaches a fixed
522
+ * minimum, so the minimum is set from this spec. Null when the route is not
523
+ * one swap of the whole payment.
524
+ */
525
+ async function routedBuybackSpecOf(client, { chainId, projectId, tokenIn, tokenOut, amount, beneficiary, metadata, hook, reservedPercent, }) {
526
+ const conversion = await routerConversionOf(client, {
527
+ chainId,
528
+ tokenIn,
529
+ tokenOut,
530
+ amount,
531
+ });
532
+ if (!conversion)
533
+ return null;
534
+ const destination = await client.readContract({
535
+ address: (0, types_js_1.v6Address)("JBDirectory", chainId),
536
+ abi: routerConversionAbi,
537
+ functionName: "primaryTerminalOf",
538
+ args: [projectId, tokenOut],
539
+ });
540
+ const [, , , specs] = await client.readContract({
541
+ address: (0, types_js_1.v6Address)("JBRouterTerminal", chainId),
542
+ abi: routerConversionAbi,
543
+ functionName: "previewTerminalPayOf",
544
+ args: [
545
+ destination,
546
+ projectId,
547
+ tokenOut,
548
+ conversion.expected,
549
+ beneficiary,
550
+ metadata,
551
+ ],
552
+ });
553
+ const raw = specs.find((s) => s.hook.toLowerCase() === hook.toLowerCase());
554
+ const spec = raw && decodeBuybackPaySpec(raw, reservedPercent);
555
+ return spec ? { spec, floor: conversion.floor } : null;
556
+ }
315
557
  /**
316
558
  * Prepare a person's payment with {@link buildUserPayMetadata}: preview it,
317
559
  * and set the minimum the terminal enforces on the beneficiary's balance.
318
560
  *
319
- * When the project's buyback hook has a pool in the paid token, this quotes
320
- * that pool (fee and price impact included) and sends the slippage-floored
321
- * quote as an explicit minimum, so the payer gets the pool's rate whenever it
561
+ * When the project's buyback hook would swap, this quotes its pool (fee and
562
+ * price impact included) and sends the slippage-floored quote as an explicit
563
+ * minimum, so the payer gets the pool's rate whenever it
322
564
  * beats minting. The hook compares that minimum to the swap output plus the
323
565
  * leftover mint: the whole leftover mint when the swapped tokens go through
324
566
  * the reserved split (`skipSplits` false, and always on hook 1.1.1, which
@@ -330,23 +572,36 @@ const poolKeyOfAbi = [
330
572
  * which reaches zero on large buys against a thin pool and sends them to
331
573
  * minting even when the pool pays far more.
332
574
  *
333
- * Otherwise (no pool, a router converting the token first, or a failed quote)
334
- * the minimum is the payer's mint entitlement when the hook would swap, since
335
- * the hook never settles below it, and the terminal's own issuance when it
336
- * would not. If the payment then reverts, {@link decodePayFailure} says why.
575
+ * Behind a router terminal, its registry or its gateway, when the router
576
+ * converts the paid token first with one swap, the pool is the one in the
577
+ * token it converts to, quoted on what that swap is quoted to return. If the
578
+ * conversion returns noticeably less, the hook's minimum reverts the payment.
579
+ * If it returns more, the hook mints once minting reaches the minimum, which
580
+ * happens only when the pool beats minting by less than `slippageBps` plus
581
+ * that gain. The payer still receives at least the minimum, and no fixed
582
+ * minimum avoids this when the pool's edge is inside the conversion's
583
+ * uncertainty. Other routes, such as cashing a project token out first, keep
584
+ * the fallback.
585
+ *
586
+ * Otherwise (no pool, or a failed quote) the minimum is the payer's mint
587
+ * entitlement when the hook would swap, since the hook never settles below it,
588
+ * and the terminal's own issuance when it would not. If the payment then
589
+ * reverts, {@link decodePayFailure} says why. To let the payer accept less,
590
+ * prepare again with a larger `slippageBps`: the hook's minimum is in the
591
+ * metadata, so lowering `minReturnedTokens` alone does not relax it.
337
592
  *
338
593
  * When the ruleset calls buyback hook 1.4 directly (or through the omnichain
339
594
  * deployer) instead of through the registry, the metadata is keyed to the hook,
340
595
  * which reads nothing else.
341
596
  *
342
597
  * @param args.slippageBps Tolerance on the pool quote and on the fallback
343
- * minimum. Defaults to 100 (1%).
598
+ * minimum. Defaults to {@link PAY_DEFAULT_SLIPPAGE_BPS}.
344
599
  * @param args.skipSplits Whether the beneficiary keeps the swapped tokens
345
600
  * without the reserved split. Defaults to true, as a person's pay card does;
346
601
  * pass false for payments that should honor the project's splits, such as
347
602
  * fees or revenue routed into a project.
348
603
  */
349
- async function prepareUserPay(client, { tiers, slippageBps = 100n, skipSplits = true, ...args }) {
604
+ async function prepareUserPay(client, { tiers, slippageBps = exports.PAY_DEFAULT_SLIPPAGE_BPS, skipSplits = true, ...args }) {
350
605
  const { chainId, projectId, token } = args;
351
606
  let metadata = buildUserPayMetadata({ chainId, tiers, skipSplits });
352
607
  let read = await readPay(client, { ...args, metadata });
@@ -371,29 +626,50 @@ async function prepareUserPay(client, { tiers, slippageBps = 100n, skipSplits =
371
626
  if (!buyback || buyback.amountToSwapWith === 0n)
372
627
  return fallback;
373
628
  try {
374
- const poolKey = await client.readContract({
375
- address: buyback.hook,
376
- abi: poolKeyOfAbi,
377
- functionName: "poolKeyOf",
378
- args: [
379
- projectId,
380
- token.toLowerCase() === constants_js_1.NATIVE_TOKEN.toLowerCase()
381
- ? viem_1.zeroAddress
382
- : token,
383
- ],
629
+ const pool = await buybackPoolOf(client, {
630
+ chainId,
631
+ hook: buyback.hook,
632
+ projectId,
633
+ token,
634
+ poolId: buyback.poolId,
384
635
  });
385
- // A router converts the paid token first, so its pool is a different one.
386
- if ((0, uniswapV4_js_1.uniswapV4PoolId)(poolKey) !== buyback.poolId)
636
+ if (!pool)
387
637
  return fallback;
638
+ let swap = buyback;
639
+ if (pool.terminalToken !== token) {
640
+ // A router converts the payment first, and its preview gave the hook the
641
+ // router's slippage floor. A minimum quoted on that would let a normal
642
+ // conversion mint while the pool pays more, so quote what the hook
643
+ // receives when the conversion returns its quote. A conversion well
644
+ // below its quote then fails with a reason.
645
+ const routed = await routedBuybackSpecOf(client, {
646
+ chainId,
647
+ projectId,
648
+ tokenIn: token,
649
+ tokenOut: pool.terminalToken,
650
+ amount: args.amount,
651
+ beneficiary: args.beneficiary,
652
+ metadata,
653
+ hook: buyback.hook,
654
+ reservedPercent: buyback.reservedPercent,
655
+ });
656
+ // The floor preview must be this route's: no more than the floor reached the hook.
657
+ if (!routed ||
658
+ routed.floor < buyback.amountToSwapWith ||
659
+ routed.spec.poolId !== buyback.poolId) {
660
+ return fallback;
661
+ }
662
+ swap = routed.spec;
663
+ }
388
664
  const quote = await (0, uniswapV4_js_1.quoteUniswapV4ExactInputSingle)(client, {
389
665
  chainId,
390
- poolKey,
391
- zeroForOne: !buyback.projectTokenIs0,
392
- amountIn: buyback.amountToSwapWith,
666
+ poolKey: pool.key,
667
+ zeroForOne: !swap.projectTokenIs0,
668
+ amountIn: swap.amountToSwapWith,
393
669
  });
394
670
  const minimumSwapAmountOut = (0, cashOut_js_1.slippageFloor)(quote, slippageBps);
395
671
  // The pool loses to minting: leave the payment on the mint path.
396
- if (minimumSwapAmountOut <= buyback.tokenCountWithoutHook)
672
+ if (minimumSwapAmountOut <= swap.tokenCountWithoutHook)
397
673
  return fallback;
398
674
  const quotedMetadata = buildUserPayMetadata({
399
675
  chainId,
@@ -410,9 +686,14 @@ async function prepareUserPay(client, { tiers, slippageBps = 100n, skipSplits =
410
686
  functionName: "previewPayFor",
411
687
  args: [projectId, token, args.amount, args.beneficiary, quotedMetadata],
412
688
  });
413
- const swaps = quotedSpecs.some((s) => !s.noop && s.hook.toLowerCase() === buyback.hook.toLowerCase());
414
- if (!swaps)
689
+ // It must still swap, and in the quoted pool: a router may pick another route.
690
+ const quotedSpec = quotedSpecs.find((s) => s.hook.toLowerCase() === buyback.hook.toLowerCase());
691
+ if (!quotedSpec ||
692
+ quotedSpec.noop ||
693
+ decodeBuybackPaySpec(quotedSpec, buyback.reservedPercent)?.poolId !==
694
+ buyback.poolId) {
415
695
  return fallback;
696
+ }
416
697
  // A router folds the hook's estimate into its counts, so only the
417
698
  // multi-terminal's own counts are known to be its issuance.
418
699
  const issuedByTerminal = args.terminal.toLowerCase() ===
@@ -422,15 +703,15 @@ async function prepareUserPay(client, { tiers, slippageBps = 100n, skipSplits =
422
703
  reservedTokenCount: quotedReservedCount,
423
704
  }
424
705
  : { beneficiaryTokenCount: 0n, reservedTokenCount: 0n };
425
- const directMint = directMintOf(buyback, weight);
706
+ const directMint = directMintOf(swap, weight);
426
707
  // The swapped tokens skip the split, or are reminted through it with the
427
708
  // direct mint. The terminal's own issuance, such as for NFT splits, adds.
428
709
  const settle = (swapTokenCount) => {
429
- const split = buyback.skipSplits
430
- ? splitOf(directMint, buyback.reservedPercent)
431
- : splitOf(swapTokenCount + directMint, buyback.reservedPercent);
710
+ const split = swap.skipSplits
711
+ ? splitOf(directMint, swap.reservedPercent)
712
+ : splitOf(swapTokenCount + directMint, swap.reservedPercent);
432
713
  return {
433
- beneficiaryTokenCount: (buyback.skipSplits ? swapTokenCount : 0n) +
714
+ beneficiaryTokenCount: (swap.skipSplits ? swapTokenCount : 0n) +
434
715
  split.beneficiaryTokenCount +
435
716
  issuedByTerminal.beneficiaryTokenCount,
436
717
  reservedTokenCount: split.reservedTokenCount + issuedByTerminal.reservedTokenCount,
@@ -1 +1 @@
1
- {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Address, PublicClient } from "viem";
2
+ import { JBChainId } from "../types.js";
3
+ /**
4
+ * Canonical Uniswap V3 QuoterV2 deployments. Each one's `factory()` and
5
+ * `WETH9()` match the factory and wrapped native token the v6 router terminal
6
+ * swaps through on that chain. Missing chains must fail closed.
7
+ */
8
+ export declare const UNISWAP_V3_QUOTER_V2_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
9
+ /**
10
+ * Quote an exact-input swap through one Uniswap V3 pool, fee and price impact
11
+ * included. Tokens are ERC-20s: pass the wrapped native token, not the native
12
+ * sentinel.
13
+ */
14
+ export declare function quoteUniswapV3ExactInputSingle(client: PublicClient, { chainId, tokenIn, tokenOut, fee, amountIn, }: {
15
+ chainId: JBChainId;
16
+ tokenIn: Address;
17
+ tokenOut: Address;
18
+ fee: number;
19
+ amountIn: bigint;
20
+ }): Promise<bigint>;
21
+ //# sourceMappingURL=uniswapV3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniswapV3.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV3.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,YAAY,EAGb,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CACnD,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CASpC,CAAC;AA6BF;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,YAAY,EACpB,EACE,OAAO,EACP,OAAO,EACP,QAAQ,EACR,GAAG,EACH,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,MAAM,CAAC,CAmBjB"}