@bananapus/nana-sdk-core 3.1.0 → 3.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.
@@ -67,8 +67,12 @@ export interface PayPreview {
67
67
  * reports zero; the hook's pay specification carries the swap quote. This folds
68
68
  * it in with the router terminal's scoring rule (see
69
69
  * {@link effectivePayPreview}), for the hook the buyback registry resolves for
70
- * the project, 1.4 or 1.1.1. The swap figure ignores pool fees and price
71
- * impact, so use {@link prepareUserPay} for a payment's minimum.
70
+ * the project, 1.4 or 1.1.1, or for buyback 1.4 when the ruleset calls it
71
+ * directly. It only recognizes that hook's spec: it sends `metadata` as given,
72
+ * and a direct hook reads only an entry keyed to its own address, so
73
+ * registry-keyed metadata is ignored there. {@link prepareUserPay} rekeys it.
74
+ * The swap figure ignores pool fees and price impact, so use
75
+ * {@link prepareUserPay} for a payment's minimum.
72
76
  *
73
77
  * @param client A viem public client on the given chain.
74
78
  * @param args.chainId The chain to preview on.
@@ -135,12 +139,21 @@ export interface PreparedUserPay {
135
139
  * entitlement when the hook would swap, since the hook never settles below it,
136
140
  * and the terminal's own issuance when it would not.
137
141
  *
142
+ * When the ruleset calls buyback hook 1.4 directly (or through the omnichain
143
+ * deployer) instead of through the registry, the metadata is keyed to the hook,
144
+ * which reads nothing else.
145
+ *
138
146
  * @param args.slippageBps Tolerance on the pool quote and on the fallback
139
147
  * minimum. Defaults to 100 (1%).
148
+ * @param args.skipSplits Whether the beneficiary keeps the swapped tokens
149
+ * without the reserved split. Defaults to true, as a person's pay card does;
150
+ * pass false for payments that should honor the project's splits, such as
151
+ * fees or revenue routed into a project.
140
152
  */
141
- export declare function prepareUserPay(client: PublicClient, { tiers, slippageBps, ...args }: PayArgs & {
153
+ export declare function prepareUserPay(client: PublicClient, { tiers, slippageBps, skipSplits, ...args }: PayArgs & {
142
154
  tiers?: UserPayTiers;
143
155
  slippageBps?: bigint;
156
+ skipSplits?: boolean;
144
157
  }): Promise<PreparedUserPay>;
145
158
  /**
146
159
  * Build pay metadata instructing a project's JB721 tiers hook to mint specific tiers.
@@ -189,21 +202,26 @@ export interface UserPayTiers {
189
202
  }
190
203
  /**
191
204
  * The pay metadata a person's pay card sends: the buyback registry's quote
192
- * `(0, minimumSwapAmountOut, skipSplits=true)`, plus the 721 tiers when the
193
- * payment buys NFTs. Prefer {@link prepareUserPay}, which picks the minimum.
205
+ * `(0, minimumSwapAmountOut, skipSplits)`, plus the 721 tiers when the
206
+ * payment buys NFTs. Prefer {@link prepareUserPay}, which picks the minimum
207
+ * and the hook. `hook` keys the quote to a buyback hook the ruleset calls
208
+ * directly instead of to the registry.
194
209
  *
195
210
  * The registry rekeys its quote to the project's resolved hook. On buyback 1.4
196
211
  * the hook buys from the pool only when that gives the payer more than their
197
- * share of a mint, and hands the swapped tokens over without the reserved
198
- * split. Minting still goes through the split. A zero swap amount swaps the
212
+ * share of a mint. With `skipSplits` true (the default) it hands the swapped
213
+ * tokens over without the reserved split; with false they go through the
214
+ * split. Minting always goes through the split. A zero swap amount swaps the
199
215
  * whole payment. A zero minimum routes by the hook's TWAP floor; a nonzero one
200
216
  * replaces it and reverts below it. The terminal's `minReturnedTokens` checks
201
217
  * the beneficiary's balance change, which counts the swapped tokens.
202
218
  */
203
- export declare function buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut, }: {
219
+ export declare function buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut, skipSplits, hook, }: {
204
220
  chainId: JBChainId;
205
221
  tiers?: UserPayTiers;
206
222
  minimumSwapAmountOut?: bigint;
223
+ skipSplits?: boolean;
224
+ hook?: Address;
207
225
  }): Hex;
208
226
  export {};
209
227
  //# sourceMappingURL=pay.d.ts.map
@@ -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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"}
@@ -63,8 +63,12 @@ function buildPayTx({ chainId, terminal, projectId, token, amount, beneficiary,
63
63
  * reports zero; the hook's pay specification carries the swap quote. This folds
64
64
  * it in with the router terminal's scoring rule (see
65
65
  * {@link effectivePayPreview}), for the hook the buyback registry resolves for
66
- * the project, 1.4 or 1.1.1. The swap figure ignores pool fees and price
67
- * impact, so use {@link prepareUserPay} for a payment's minimum.
66
+ * the project, 1.4 or 1.1.1, or for buyback 1.4 when the ruleset calls it
67
+ * directly. It only recognizes that hook's spec: it sends `metadata` as given,
68
+ * and a direct hook reads only an entry keyed to its own address, so
69
+ * registry-keyed metadata is ignored there. {@link prepareUserPay} rekeys it.
70
+ * The swap figure ignores pool fees and price impact, so use
71
+ * {@link prepareUserPay} for a payment's minimum.
68
72
  *
69
73
  * @param client A viem public client on the given chain.
70
74
  * @param args.chainId The chain to preview on.
@@ -183,9 +187,13 @@ async function readPay(client, { chainId, terminal, projectId, token, amount, be
183
187
  args: [projectId, token, amount, beneficiary, metadata],
184
188
  });
185
189
  // Only a payment with hook specs needs to know which one is the buyback hook.
186
- const buybackHook = hookSpecifications.length > 0
187
- ? await resolvedBuybackHookOf(client, chainId, projectId)
190
+ const directBuybackHook = hookSpecifications.length > 0
191
+ ? await directBuybackHookOf(client, chainId, projectId, ruleset)
188
192
  : null;
193
+ const buybackHook = directBuybackHook ??
194
+ (hookSpecifications.length > 0
195
+ ? await resolvedBuybackHookOf(client, chainId, projectId)
196
+ : null);
189
197
  const reservedPercent = (ruleset.metadata >> 4n) & 0xffffn;
190
198
  const spec = buybackHook
191
199
  ? hookSpecifications.find((s) => s.hook.toLowerCase() === buybackHook.toLowerCase())
@@ -203,8 +211,64 @@ async function readPay(client, { chainId, terminal, projectId, token, amount, be
203
211
  weight: ruleset.weight,
204
212
  buyback: spec ? decodeBuybackPaySpec(spec, reservedPercent) : null,
205
213
  unreadableSwap: !!spec && !spec.noop && !decodeBuybackPaySpec(spec, reservedPercent),
214
+ directBuybackHook,
206
215
  };
207
216
  }
217
+ /**
218
+ * The buyback hook 1.4 when the ruleset's pay data hook is that hook itself, or
219
+ * the omnichain deployer forwarding to it, rather than the registry. The hook
220
+ * then reads only metadata keyed to its own address.
221
+ */
222
+ // Only this read of the omnichain deployer: its full ABI would weigh on every pay card.
223
+ const extraDataHookOfAbi = [
224
+ {
225
+ type: "function",
226
+ name: "extraDataHookOf",
227
+ stateMutability: "view",
228
+ inputs: [
229
+ { name: "projectId", type: "uint256" },
230
+ { name: "rulesetId", type: "uint256" },
231
+ ],
232
+ outputs: [
233
+ {
234
+ name: "hook",
235
+ type: "tuple",
236
+ components: [
237
+ { name: "dataHook", type: "address" },
238
+ { name: "useDataHookForPay", type: "bool" },
239
+ { name: "useDataHookForCashOut", type: "bool" },
240
+ ],
241
+ },
242
+ ],
243
+ },
244
+ ];
245
+ async function directBuybackHookOf(client, chainId, projectId, ruleset) {
246
+ if (((ruleset.metadata >> 80n) & 1n) === 0n)
247
+ return null;
248
+ let buyback, omnichain;
249
+ try {
250
+ buyback = (0, types_js_1.v6Address)("JBBuybackHook", chainId);
251
+ omnichain = (0, types_js_1.v6Address)("JBOmnichainDeployer", chainId);
252
+ }
253
+ catch {
254
+ return null;
255
+ }
256
+ const is = (a, b) => a.toLowerCase() === b.toLowerCase();
257
+ const dataHook = (0, viem_1.getAddress)(`0x${(ruleset.metadata >> 82n).toString(16).padStart(40, "0").slice(-40)}`);
258
+ if (is(dataHook, buyback))
259
+ return buyback;
260
+ if (!is(dataHook, omnichain))
261
+ return null;
262
+ const extra = await client.readContract({
263
+ address: omnichain,
264
+ abi: extraDataHookOfAbi,
265
+ functionName: "extraDataHookOf",
266
+ args: [projectId, BigInt(ruleset.id)],
267
+ });
268
+ return extra.useDataHookForPay && is(extra.dataHook, buyback)
269
+ ? buyback
270
+ : null;
271
+ }
208
272
  /** The buyback hook the registry resolves for a project, or null. */
209
273
  async function resolvedBuybackHookOf(client, chainId, projectId) {
210
274
  let registry;
@@ -265,13 +329,28 @@ const poolKeyOfAbi = [
265
329
  * entitlement when the hook would swap, since the hook never settles below it,
266
330
  * and the terminal's own issuance when it would not.
267
331
  *
332
+ * When the ruleset calls buyback hook 1.4 directly (or through the omnichain
333
+ * deployer) instead of through the registry, the metadata is keyed to the hook,
334
+ * which reads nothing else.
335
+ *
268
336
  * @param args.slippageBps Tolerance on the pool quote and on the fallback
269
337
  * minimum. Defaults to 100 (1%).
338
+ * @param args.skipSplits Whether the beneficiary keeps the swapped tokens
339
+ * without the reserved split. Defaults to true, as a person's pay card does;
340
+ * pass false for payments that should honor the project's splits, such as
341
+ * fees or revenue routed into a project.
270
342
  */
271
- async function prepareUserPay(client, { tiers, slippageBps = 100n, ...args }) {
343
+ async function prepareUserPay(client, { tiers, slippageBps = 100n, skipSplits = true, ...args }) {
272
344
  const { chainId, projectId, token } = args;
273
- const metadata = buildUserPayMetadata({ chainId, tiers });
274
- const { preview, terminalBeneficiaryTokenCount, weight, buyback, unreadableSwap, } = await readPay(client, { ...args, metadata });
345
+ let metadata = buildUserPayMetadata({ chainId, tiers, skipSplits });
346
+ let read = await readPay(client, { ...args, metadata });
347
+ // The direct hook ignores the registry's entry: preview again with its own.
348
+ const hook = read.directBuybackHook;
349
+ if (hook) {
350
+ metadata = buildUserPayMetadata({ chainId, tiers, skipSplits, hook });
351
+ read = await readPay(client, { ...args, metadata });
352
+ }
353
+ const { preview, terminalBeneficiaryTokenCount, weight, buyback, unreadableSwap, } = read;
275
354
  if (unreadableSwap) {
276
355
  throw new Error("The project's buyback hook swaps with an unknown specification, so no safe minimum can be set.");
277
356
  }
@@ -312,7 +391,13 @@ async function prepareUserPay(client, { tiers, slippageBps = 100n, ...args }) {
312
391
  return fallback;
313
392
  const directMint = splitOf(directMintOf(buyback, weight), buyback.reservedPercent);
314
393
  return {
315
- metadata: buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut }),
394
+ metadata: buildUserPayMetadata({
395
+ chainId,
396
+ tiers,
397
+ minimumSwapAmountOut,
398
+ skipSplits,
399
+ ...(hook ? { hook } : {}),
400
+ }),
316
401
  preview: {
317
402
  beneficiaryTokenCount: quote + directMint.beneficiaryTokenCount,
318
403
  reservedTokenCount: directMint.reservedTokenCount,
@@ -365,23 +450,24 @@ function buildBuybackPayMetadata({ hook, amountToSwapWith, minimumSwapAmountOut,
365
450
  }
366
451
  /**
367
452
  * The pay metadata a person's pay card sends: the buyback registry's quote
368
- * `(0, minimumSwapAmountOut, skipSplits=true)`, plus the 721 tiers when the
369
- * payment buys NFTs. Prefer {@link prepareUserPay}, which picks the minimum.
453
+ * `(0, minimumSwapAmountOut, skipSplits)`, plus the 721 tiers when the
454
+ * payment buys NFTs. Prefer {@link prepareUserPay}, which picks the minimum
455
+ * and the hook. `hook` keys the quote to a buyback hook the ruleset calls
456
+ * directly instead of to the registry.
370
457
  *
371
458
  * The registry rekeys its quote to the project's resolved hook. On buyback 1.4
372
459
  * the hook buys from the pool only when that gives the payer more than their
373
- * share of a mint, and hands the swapped tokens over without the reserved
374
- * split. Minting still goes through the split. A zero swap amount swaps the
460
+ * share of a mint. With `skipSplits` true (the default) it hands the swapped
461
+ * tokens over without the reserved split; with false they go through the
462
+ * split. Minting always goes through the split. A zero swap amount swaps the
375
463
  * whole payment. A zero minimum routes by the hook's TWAP floor; a nonzero one
376
464
  * replaces it and reverts below it. The terminal's `minReturnedTokens` checks
377
465
  * the beneficiary's balance change, which counts the swapped tokens.
378
466
  */
379
- function buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut = 0n, }) {
380
- const ids = [
381
- (0, hook_js_1.hookMetadataId)((0, types_js_1.v6Address)("JBBuybackHookRegistry", chainId), "pay"),
382
- ];
467
+ function buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut = 0n, skipSplits = true, hook = (0, types_js_1.v6Address)("JBBuybackHookRegistry", chainId), }) {
468
+ const ids = [(0, hook_js_1.hookMetadataId)(hook, "pay")];
383
469
  const data = [
384
- (0, viem_1.encodeAbiParameters)([{ type: "uint256" }, { type: "uint256" }, { type: "bool" }], [0n, minimumSwapAmountOut, true]),
470
+ (0, viem_1.encodeAbiParameters)([{ type: "uint256" }, { type: "uint256" }, { type: "bool" }], [0n, minimumSwapAmountOut, skipSplits]),
385
471
  ];
386
472
  if (tiers && tiers.tierIdsToMint.length > 0) {
387
473
  ids.push((0, hook_js_1.hookMetadataId)(tiers.metadataIdTarget, "pay"));
@@ -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":";;AA6DA,gCAuCC;AA0CD,gCAKC;AAwFD,kDAsDC;AAsOD,wCA2FC;AAsBD,kDA0BC;AAQD,0DAoBC;AAyBD,oDAiCC;AAxuBD,+BAOc;AACd,kDAIyB;AACzB,0DAGkC;AAElC,8CAAsE;AACtE,6CAA6C;AAC7C,yCAAuC;AACvC,iDAGwB;AAexB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,UAAU,CAAC,EACzB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,EACX,iBAAiB,GAAG,EAAE,EACtB,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,IAAI,GAWhB;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,2BAAY,CAAC,WAAW,EAAE,CAAC;IAEpE,OAAO;QACL,OAAO;QACP,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,gCAAkB;QACvB,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE;YACJ,SAAS;YACT,KAAK;YACL,MAAM;YACN,WAAW;YACX,iBAAiB;YACjB,IAAI;YACJ,QAAQ;SACT;QACD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;KAC9B,CAAC;AACJ,CAAC;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,UAAU,CAC9B,MAAoB,EACpB,IAAkC;IAElC,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAkCD;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,IAA0B,EAC1B,sBAA8B;IAE9B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CACzB,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAS,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;QAC/B,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzB,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7B,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9B,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACpB,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAChB,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;QACtB,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QAC/B,UAAU,EAAE,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1C,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB;KACjE,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,OAAO,CAAC,UAAkB,EAAE,eAAuB;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,mCAAoB,CAAC,CAAC;IACzC,MAAM,qBAAqB,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3E,OAAO;QACL,qBAAqB;QACrB,kBAAkB,EAAE,UAAU,GAAG,qBAAqB;KACvD,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAS,YAAY,CAAC,IAAoB,EAAE,MAAc;IACxD,OAAO,IAAI,CAAC,gBAAgB,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE;QAC5D,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW;QACrD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,MAAM,EACN,eAAe,GAAG,EAAE,EACpB,kBAAkB,GASnB;IACC,IAAI,IAAI,GAAe,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC;IACrE,IACE,CAAC,WAAW;QACZ,qBAAqB,KAAK,EAAE;QAC5B,kBAAkB,KAAK,EAAE,EACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;YACvE,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,cAAc,GAClB,CAAC,OAAO,CAAC,cAAc;YACvB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,oBAAoB;YACjD,CAAC,CAAC,OAAO,CAAC,YAAY;YACtB,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACnC,MAAM,SAAS,GAAG,OAAO,CACvB,OAAO,CAAC,UAAU;YAChB,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,cAAc,GAAG,oBAAoB,EACzC,OAAO,CAAC,eAAe,CACxB,CAAC;QACF,IAAI,OAAO,CAAC,UAAU;YAAE,SAAS,CAAC,qBAAqB,IAAI,cAAc,CAAC;QAE1E,IACE,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB;YAC5D,CAAC,SAAS,CAAC,qBAAqB,KAAK,IAAI,CAAC,qBAAqB;gBAC7D,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,EACzD,CAAC;YACD,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,IAAoB,EAAE,MAAc;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU;QAC7B,CAAC,CAAC,IAAI,CAAC,qBAAqB;QAC5B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,eAAe,CAAC;aACtD,qBAAqB,CAAC;IAC7B,OAAO,CACL,OAAO;QACP,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;aACtD,qBAAqB,CACzB,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,OAAO,CACpB,MAAoB,EACpB,EACE,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,EACX,QAAQ,GAAG,IAAI,GACc;IAW/B,MAAM,CACJ,OAAO,EACP,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EACnB,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QAC5B,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,gCAAkB;QACvB,YAAY,EAAE,eAAe;QAC7B,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC;KACxD,CAAC,CAAC;IACH,8EAA8E;IAC9E,MAAM,iBAAiB,GACrB,kBAAkB,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;QAChE,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,WAAW,GACf,iBAAiB;QACjB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC5B,CAAC,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,CAAC;IACZ,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAC3D,MAAM,IAAI,GAAG,WAAW;QACtB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAC1D;QACH,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,OAAO,EAAE,mBAAmB,CAAC;YAC3B,WAAW;YACX,qBAAqB;YACrB,kBAAkB;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe;YACf,kBAAkB;SACnB,CAAC;QACF,6BAA6B,EAAE,qBAAqB;QACpD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI;QAClE,cAAc,EACZ,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,eAAe,CAAC;QACtE,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,wFAAwF;AACxF,MAAM,kBAAkB,GAAG;IACzB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SACvC;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC3C,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE;iBAChD;aACF;SACF;KACF;CACO,CAAC;AAEX,KAAK,UAAU,mBAAmB,CAChC,MAAoB,EACpB,OAAkB,EAClB,SAAiB,EACjB,OAAkD;IAElD,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,OAAgB,EAAE,SAAkB,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,GAAG,IAAA,oBAAS,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC9C,SAAS,GAAG,IAAA,oBAAS,EAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,IAAA,iBAAU,EACzB,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAC3E,CAAC;IACF,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACtC,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,kBAAkB;QACvB,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KACtC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3D,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,qBAAqB,CAClC,MAAoB,EACpB,OAAkB,EAClB,SAAiB;IAEjB,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAA,oBAAS,EAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,6EAA6E;IAC7E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACrC,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,sCAAwB;QAC7B,YAAY,EAAE,QAAQ;QACtB,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,kBAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAS5D,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;SAC3C;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;oBACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;oBACtC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;oBACtC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;iBACnC;aACF;SACF;KACF;CACO,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACI,KAAK,UAAU,cAAc,CAClC,MAAoB,EACpB,EACE,KAAK,EACL,WAAW,GAAG,IAAI,EAClB,UAAU,GAAG,IAAI,EACjB,GAAG,IAAI,EAKR;IAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,QAAQ,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IACpE,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,4EAA4E;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACpC,IAAI,IAAI,EAAE,CAAC;QACT,QAAQ,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,EACJ,OAAO,EACP,6BAA6B,EAC7B,MAAM,EACN,OAAO,EACP,cAAc,GACf,GAAG,IAAI,CAAC;IACT,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAoB;QAChC,QAAQ;QACR,OAAO;QACP,iBAAiB,EAAE,IAAA,0BAAa,EAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;YACtB,CAAC,CAAC,uDAAuD;gBACvD,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;YACxD,CAAC,CAAC,6BAA6B,EACjC,WAAW,CACZ;KACF,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,gBAAgB,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAE7E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACxC,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE;gBACJ,SAAS;gBACT,KAAK,CAAC,WAAW,EAAE,KAAK,2BAAY,CAAC,WAAW,EAAE;oBAChD,CAAC,CAAC,kBAAW;oBACb,CAAC,CAAC,KAAK;aACV;SACF,CAAC,CAAC;QACH,0EAA0E;QAC1E,IAAI,IAAA,8BAAe,EAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,IAAA,6CAA8B,EAAC,MAAM,EAAE;YACzD,OAAO;YACP,OAAO;YACP,UAAU,EAAE,CAAC,OAAO,CAAC,eAAe;YACpC,QAAQ,EAAE,OAAO,CAAC,gBAAgB;SACnC,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,IAAA,0BAAa,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/D,iEAAiE;QACjE,IAAI,oBAAoB,IAAI,OAAO,CAAC,qBAAqB;YAAE,OAAO,QAAQ,CAAC;QAC3E,MAAM,UAAU,GAAG,OAAO,CACxB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAC7B,OAAO,CAAC,eAAe,CACxB,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,oBAAoB,CAAC;gBAC7B,OAAO;gBACP,KAAK;gBACL,oBAAoB;gBACpB,UAAU;gBACV,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1B,CAAC;YACF,OAAO,EAAE;gBACP,qBAAqB,EAAE,KAAK,GAAG,UAAU,CAAC,qBAAqB;gBAC/D,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;aAClD;YACD,iBAAiB,EAAE,oBAAoB;SACxC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,mBAAmB,CAAC,EAClC,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,iBAAiB,GAAG,yCAA0B,GAO/C;IACC,MAAM,MAAM,GAAG,gBAAgB,IAAI,WAAW,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,0BAAmB,EACrC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EACxC,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;IAEF,OAAO,IAAA,4BAAkB,EACvB,CAAC,IAAA,wBAAc,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAC/B,CAAC,WAAW,CAAC,CACP,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,GAAG,KAAK,GAMnB;IACC,OAAO,IAAA,4BAAkB,EACvB,CAAC,IAAA,wBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAC7B;QACE,IAAA,0BAAmB,EACjB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAC5D,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,CAAC,CACrD;KACF,CACF,CAAC;AACJ,CAAC;AASD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,oBAAoB,GAAG,EAAE,EACzB,UAAU,GAAG,IAAI,EACjB,IAAI,GAAG,IAAA,oBAAS,EAAC,uBAAuB,EAAE,OAAO,CAAC,GAOnD;IACC,MAAM,GAAG,GAAG,CAAC,IAAA,wBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAU;QAClB,IAAA,0BAAmB,EACjB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAC5D,CAAC,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,CACvC;KACF,CAAC;IACF,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,IAAA,wBAAc,EAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CACP,IAAA,0BAAmB,EACjB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EACxC;YACE,KAAK,CAAC,iBAAiB,IAAI,yCAA0B;YACrD,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;SAChC,CACF,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAA,4BAAkB,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC"}
@@ -67,8 +67,12 @@ export interface PayPreview {
67
67
  * reports zero; the hook's pay specification carries the swap quote. This folds
68
68
  * it in with the router terminal's scoring rule (see
69
69
  * {@link effectivePayPreview}), for the hook the buyback registry resolves for
70
- * the project, 1.4 or 1.1.1. The swap figure ignores pool fees and price
71
- * impact, so use {@link prepareUserPay} for a payment's minimum.
70
+ * the project, 1.4 or 1.1.1, or for buyback 1.4 when the ruleset calls it
71
+ * directly. It only recognizes that hook's spec: it sends `metadata` as given,
72
+ * and a direct hook reads only an entry keyed to its own address, so
73
+ * registry-keyed metadata is ignored there. {@link prepareUserPay} rekeys it.
74
+ * The swap figure ignores pool fees and price impact, so use
75
+ * {@link prepareUserPay} for a payment's minimum.
72
76
  *
73
77
  * @param client A viem public client on the given chain.
74
78
  * @param args.chainId The chain to preview on.
@@ -135,12 +139,21 @@ export interface PreparedUserPay {
135
139
  * entitlement when the hook would swap, since the hook never settles below it,
136
140
  * and the terminal's own issuance when it would not.
137
141
  *
142
+ * When the ruleset calls buyback hook 1.4 directly (or through the omnichain
143
+ * deployer) instead of through the registry, the metadata is keyed to the hook,
144
+ * which reads nothing else.
145
+ *
138
146
  * @param args.slippageBps Tolerance on the pool quote and on the fallback
139
147
  * minimum. Defaults to 100 (1%).
148
+ * @param args.skipSplits Whether the beneficiary keeps the swapped tokens
149
+ * without the reserved split. Defaults to true, as a person's pay card does;
150
+ * pass false for payments that should honor the project's splits, such as
151
+ * fees or revenue routed into a project.
140
152
  */
141
- export declare function prepareUserPay(client: PublicClient, { tiers, slippageBps, ...args }: PayArgs & {
153
+ export declare function prepareUserPay(client: PublicClient, { tiers, slippageBps, skipSplits, ...args }: PayArgs & {
142
154
  tiers?: UserPayTiers;
143
155
  slippageBps?: bigint;
156
+ skipSplits?: boolean;
144
157
  }): Promise<PreparedUserPay>;
145
158
  /**
146
159
  * Build pay metadata instructing a project's JB721 tiers hook to mint specific tiers.
@@ -189,21 +202,26 @@ export interface UserPayTiers {
189
202
  }
190
203
  /**
191
204
  * The pay metadata a person's pay card sends: the buyback registry's quote
192
- * `(0, minimumSwapAmountOut, skipSplits=true)`, plus the 721 tiers when the
193
- * payment buys NFTs. Prefer {@link prepareUserPay}, which picks the minimum.
205
+ * `(0, minimumSwapAmountOut, skipSplits)`, plus the 721 tiers when the
206
+ * payment buys NFTs. Prefer {@link prepareUserPay}, which picks the minimum
207
+ * and the hook. `hook` keys the quote to a buyback hook the ruleset calls
208
+ * directly instead of to the registry.
194
209
  *
195
210
  * The registry rekeys its quote to the project's resolved hook. On buyback 1.4
196
211
  * the hook buys from the pool only when that gives the payer more than their
197
- * share of a mint, and hands the swapped tokens over without the reserved
198
- * split. Minting still goes through the split. A zero swap amount swaps the
212
+ * share of a mint. With `skipSplits` true (the default) it hands the swapped
213
+ * tokens over without the reserved split; with false they go through the
214
+ * split. Minting always goes through the split. A zero swap amount swaps the
199
215
  * whole payment. A zero minimum routes by the hook's TWAP floor; a nonzero one
200
216
  * replaces it and reverts below it. The terminal's `minReturnedTokens` checks
201
217
  * the beneficiary's balance change, which counts the swapped tokens.
202
218
  */
203
- export declare function buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut, }: {
219
+ export declare function buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut, skipSplits, hook, }: {
204
220
  chainId: JBChainId;
205
221
  tiers?: UserPayTiers;
206
222
  minimumSwapAmountOut?: bigint;
223
+ skipSplits?: boolean;
224
+ hook?: Address;
207
225
  }): Hex;
208
226
  export {};
209
227
  //# sourceMappingURL=pay.d.ts.map
@@ -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,4 +1,4 @@
1
- import { encodeAbiParameters, zeroAddress, } from "viem";
1
+ import { encodeAbiParameters, getAddress, zeroAddress, } from "viem";
2
2
  import { DEFAULT_ALLOW_OVERSPENDING, MAX_RESERVED_PERCENT, NATIVE_TOKEN, } from "../constants.js";
3
3
  import { jbBuybackHookRegistryAbi, jbMultiTerminalAbi, } from "../generated/juicebox.js";
4
4
  import { createHookMetadata, hookMetadataId } from "../utils/hook.js";
@@ -54,8 +54,12 @@ export function buildPayTx({ chainId, terminal, projectId, token, amount, benefi
54
54
  * reports zero; the hook's pay specification carries the swap quote. This folds
55
55
  * it in with the router terminal's scoring rule (see
56
56
  * {@link effectivePayPreview}), for the hook the buyback registry resolves for
57
- * the project, 1.4 or 1.1.1. The swap figure ignores pool fees and price
58
- * impact, so use {@link prepareUserPay} for a payment's minimum.
57
+ * the project, 1.4 or 1.1.1, or for buyback 1.4 when the ruleset calls it
58
+ * directly. It only recognizes that hook's spec: it sends `metadata` as given,
59
+ * and a direct hook reads only an entry keyed to its own address, so
60
+ * registry-keyed metadata is ignored there. {@link prepareUserPay} rekeys it.
61
+ * The swap figure ignores pool fees and price impact, so use
62
+ * {@link prepareUserPay} for a payment's minimum.
59
63
  *
60
64
  * @param client A viem public client on the given chain.
61
65
  * @param args.chainId The chain to preview on.
@@ -174,9 +178,13 @@ async function readPay(client, { chainId, terminal, projectId, token, amount, be
174
178
  args: [projectId, token, amount, beneficiary, metadata],
175
179
  });
176
180
  // Only a payment with hook specs needs to know which one is the buyback hook.
177
- const buybackHook = hookSpecifications.length > 0
178
- ? await resolvedBuybackHookOf(client, chainId, projectId)
181
+ const directBuybackHook = hookSpecifications.length > 0
182
+ ? await directBuybackHookOf(client, chainId, projectId, ruleset)
179
183
  : null;
184
+ const buybackHook = directBuybackHook ??
185
+ (hookSpecifications.length > 0
186
+ ? await resolvedBuybackHookOf(client, chainId, projectId)
187
+ : null);
180
188
  const reservedPercent = (ruleset.metadata >> 4n) & 0xffffn;
181
189
  const spec = buybackHook
182
190
  ? hookSpecifications.find((s) => s.hook.toLowerCase() === buybackHook.toLowerCase())
@@ -194,8 +202,64 @@ async function readPay(client, { chainId, terminal, projectId, token, amount, be
194
202
  weight: ruleset.weight,
195
203
  buyback: spec ? decodeBuybackPaySpec(spec, reservedPercent) : null,
196
204
  unreadableSwap: !!spec && !spec.noop && !decodeBuybackPaySpec(spec, reservedPercent),
205
+ directBuybackHook,
197
206
  };
198
207
  }
208
+ /**
209
+ * The buyback hook 1.4 when the ruleset's pay data hook is that hook itself, or
210
+ * the omnichain deployer forwarding to it, rather than the registry. The hook
211
+ * then reads only metadata keyed to its own address.
212
+ */
213
+ // Only this read of the omnichain deployer: its full ABI would weigh on every pay card.
214
+ const extraDataHookOfAbi = [
215
+ {
216
+ type: "function",
217
+ name: "extraDataHookOf",
218
+ stateMutability: "view",
219
+ inputs: [
220
+ { name: "projectId", type: "uint256" },
221
+ { name: "rulesetId", type: "uint256" },
222
+ ],
223
+ outputs: [
224
+ {
225
+ name: "hook",
226
+ type: "tuple",
227
+ components: [
228
+ { name: "dataHook", type: "address" },
229
+ { name: "useDataHookForPay", type: "bool" },
230
+ { name: "useDataHookForCashOut", type: "bool" },
231
+ ],
232
+ },
233
+ ],
234
+ },
235
+ ];
236
+ async function directBuybackHookOf(client, chainId, projectId, ruleset) {
237
+ if (((ruleset.metadata >> 80n) & 1n) === 0n)
238
+ return null;
239
+ let buyback, omnichain;
240
+ try {
241
+ buyback = v6Address("JBBuybackHook", chainId);
242
+ omnichain = v6Address("JBOmnichainDeployer", chainId);
243
+ }
244
+ catch {
245
+ return null;
246
+ }
247
+ const is = (a, b) => a.toLowerCase() === b.toLowerCase();
248
+ const dataHook = getAddress(`0x${(ruleset.metadata >> 82n).toString(16).padStart(40, "0").slice(-40)}`);
249
+ if (is(dataHook, buyback))
250
+ return buyback;
251
+ if (!is(dataHook, omnichain))
252
+ return null;
253
+ const extra = await client.readContract({
254
+ address: omnichain,
255
+ abi: extraDataHookOfAbi,
256
+ functionName: "extraDataHookOf",
257
+ args: [projectId, BigInt(ruleset.id)],
258
+ });
259
+ return extra.useDataHookForPay && is(extra.dataHook, buyback)
260
+ ? buyback
261
+ : null;
262
+ }
199
263
  /** The buyback hook the registry resolves for a project, or null. */
200
264
  async function resolvedBuybackHookOf(client, chainId, projectId) {
201
265
  let registry;
@@ -256,13 +320,28 @@ const poolKeyOfAbi = [
256
320
  * entitlement when the hook would swap, since the hook never settles below it,
257
321
  * and the terminal's own issuance when it would not.
258
322
  *
323
+ * When the ruleset calls buyback hook 1.4 directly (or through the omnichain
324
+ * deployer) instead of through the registry, the metadata is keyed to the hook,
325
+ * which reads nothing else.
326
+ *
259
327
  * @param args.slippageBps Tolerance on the pool quote and on the fallback
260
328
  * minimum. Defaults to 100 (1%).
329
+ * @param args.skipSplits Whether the beneficiary keeps the swapped tokens
330
+ * without the reserved split. Defaults to true, as a person's pay card does;
331
+ * pass false for payments that should honor the project's splits, such as
332
+ * fees or revenue routed into a project.
261
333
  */
262
- export async function prepareUserPay(client, { tiers, slippageBps = 100n, ...args }) {
334
+ export async function prepareUserPay(client, { tiers, slippageBps = 100n, skipSplits = true, ...args }) {
263
335
  const { chainId, projectId, token } = args;
264
- const metadata = buildUserPayMetadata({ chainId, tiers });
265
- const { preview, terminalBeneficiaryTokenCount, weight, buyback, unreadableSwap, } = await readPay(client, { ...args, metadata });
336
+ let metadata = buildUserPayMetadata({ chainId, tiers, skipSplits });
337
+ let read = await readPay(client, { ...args, metadata });
338
+ // The direct hook ignores the registry's entry: preview again with its own.
339
+ const hook = read.directBuybackHook;
340
+ if (hook) {
341
+ metadata = buildUserPayMetadata({ chainId, tiers, skipSplits, hook });
342
+ read = await readPay(client, { ...args, metadata });
343
+ }
344
+ const { preview, terminalBeneficiaryTokenCount, weight, buyback, unreadableSwap, } = read;
266
345
  if (unreadableSwap) {
267
346
  throw new Error("The project's buyback hook swaps with an unknown specification, so no safe minimum can be set.");
268
347
  }
@@ -303,7 +382,13 @@ export async function prepareUserPay(client, { tiers, slippageBps = 100n, ...arg
303
382
  return fallback;
304
383
  const directMint = splitOf(directMintOf(buyback, weight), buyback.reservedPercent);
305
384
  return {
306
- metadata: buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut }),
385
+ metadata: buildUserPayMetadata({
386
+ chainId,
387
+ tiers,
388
+ minimumSwapAmountOut,
389
+ skipSplits,
390
+ ...(hook ? { hook } : {}),
391
+ }),
307
392
  preview: {
308
393
  beneficiaryTokenCount: quote + directMint.beneficiaryTokenCount,
309
394
  reservedTokenCount: directMint.reservedTokenCount,
@@ -356,23 +441,24 @@ export function buildBuybackPayMetadata({ hook, amountToSwapWith, minimumSwapAmo
356
441
  }
357
442
  /**
358
443
  * The pay metadata a person's pay card sends: the buyback registry's quote
359
- * `(0, minimumSwapAmountOut, skipSplits=true)`, plus the 721 tiers when the
360
- * payment buys NFTs. Prefer {@link prepareUserPay}, which picks the minimum.
444
+ * `(0, minimumSwapAmountOut, skipSplits)`, plus the 721 tiers when the
445
+ * payment buys NFTs. Prefer {@link prepareUserPay}, which picks the minimum
446
+ * and the hook. `hook` keys the quote to a buyback hook the ruleset calls
447
+ * directly instead of to the registry.
361
448
  *
362
449
  * The registry rekeys its quote to the project's resolved hook. On buyback 1.4
363
450
  * the hook buys from the pool only when that gives the payer more than their
364
- * share of a mint, and hands the swapped tokens over without the reserved
365
- * split. Minting still goes through the split. A zero swap amount swaps the
451
+ * share of a mint. With `skipSplits` true (the default) it hands the swapped
452
+ * tokens over without the reserved split; with false they go through the
453
+ * split. Minting always goes through the split. A zero swap amount swaps the
366
454
  * whole payment. A zero minimum routes by the hook's TWAP floor; a nonzero one
367
455
  * replaces it and reverts below it. The terminal's `minReturnedTokens` checks
368
456
  * the beneficiary's balance change, which counts the swapped tokens.
369
457
  */
370
- export function buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut = 0n, }) {
371
- const ids = [
372
- hookMetadataId(v6Address("JBBuybackHookRegistry", chainId), "pay"),
373
- ];
458
+ export function buildUserPayMetadata({ chainId, tiers, minimumSwapAmountOut = 0n, skipSplits = true, hook = v6Address("JBBuybackHookRegistry", chainId), }) {
459
+ const ids = [hookMetadataId(hook, "pay")];
374
460
  const data = [
375
- encodeAbiParameters([{ type: "uint256" }, { type: "uint256" }, { type: "bool" }], [0n, minimumSwapAmountOut, true]),
461
+ encodeAbiParameters([{ type: "uint256" }, { type: "uint256" }, { type: "bool" }], [0n, minimumSwapAmountOut, skipSplits]),
376
462
  ];
377
463
  if (tiers && tiers.tierIdsToMint.length > 0) {
378
464
  ids.push(hookMetadataId(tiers.metadataIdTarget, "pay"));
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bananapus/nana-sdk-core",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "repository": {