@bananapus/nana-sdk-core 1.6.0 → 1.6.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.
@@ -243,6 +243,13 @@ export interface CashOutRoute {
243
243
  * @param args.reclaimAmount `previewCashOutFrom`'s gross reclaim amount.
244
244
  * @param args.cashOutTaxRate `previewCashOutFrom`'s cash-out tax rate.
245
245
  * @param args.hookSpecifications `previewCashOutFrom`'s hook specifications.
246
+ * @param args.buybackHookAddress The chain's `JBBuybackHook` address. Only a
247
+ * specification from this exact hook is interpreted as the buyback route —
248
+ * other data hooks (e.g. a 721 tiers hook) also emit specifications with
249
+ * metadata, and decoding one as a buyback quote would submit a cash out with
250
+ * a zero terminal minimum. When omitted, every specification is treated as
251
+ * non-buyback and the deterministic treasury route (with its real
252
+ * `minTokensReclaimed` floor) is returned.
246
253
  * @param args.beneficiaryIsFeeless Whether the beneficiary is feeless.
247
254
  * Defaults to false (conservative: assumes the fee applies).
248
255
  * @param args.feeFreeSurplus The terminal's `feeFreeSurplusOf` for the token.
@@ -251,10 +258,11 @@ export interface CashOutRoute {
251
258
  * {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
252
259
  * @returns The protected route.
253
260
  */
254
- export declare function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications, beneficiaryIsFeeless, feeFreeSurplus, slippageBps, }: {
261
+ export declare function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications, buybackHookAddress, beneficiaryIsFeeless, feeFreeSurplus, slippageBps, }: {
255
262
  reclaimAmount: bigint;
256
263
  cashOutTaxRate: bigint;
257
264
  hookSpecifications: readonly CashOutHookSpecification[];
265
+ buybackHookAddress?: Address;
258
266
  beneficiaryIsFeeless?: boolean;
259
267
  feeFreeSurplus?: bigint;
260
268
  slippageBps?: bigint;
@@ -278,13 +286,18 @@ export declare function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hoo
278
286
  * @param args.beneficiary The reclaim beneficiary. Defaults to the holder.
279
287
  * @param args.terminal The terminal to quote against. Defaults to the chain's
280
288
  * canonical `JBMultiTerminal`.
289
+ * @param args.buybackHookAddress The buyback hook whose specification may win
290
+ * the pool route. Defaults to the chain's canonical `JBBuybackHook`; pass it
291
+ * explicitly for a project whose `JBBuybackHookRegistry` entry points at a
292
+ * custom hook. On a chain with no `JBBuybackHook` deployment, specifications
293
+ * are treated as non-buyback and the treasury route is returned.
281
294
  * @param args.beneficiaryIsFeeless Whether the beneficiary is feeless.
282
295
  * Defaults to false.
283
296
  * @param args.slippageBps Tolerance for quote-to-inclusion drift. Defaults to
284
297
  * {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
285
298
  * @returns The protected route (see {@link CashOutRoute}).
286
299
  */
287
- export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, beneficiaryIsFeeless, slippageBps, }: {
300
+ export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, buybackHookAddress, beneficiaryIsFeeless, slippageBps, }: {
288
301
  chainId: JBChainId;
289
302
  projectId: bigint;
290
303
  holder: Address;
@@ -292,6 +305,7 @@ export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId
292
305
  tokenToReclaim: Address;
293
306
  beneficiary?: Address;
294
307
  terminal?: Address;
308
+ buybackHookAddress?: Address;
295
309
  beneficiaryIsFeeless?: boolean;
296
310
  slippageBps?: bigint;
297
311
  }): Promise<CashOutRoute>;
@@ -1 +1 @@
1
- {"version":3,"file":"cashOut.d.ts","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cashOut.d.ts","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}
@@ -236,6 +236,13 @@ function buildBuybackCashOutMetadata({ hook, minimumSwapAmountOut, skip = false,
236
236
  * @param args.reclaimAmount `previewCashOutFrom`'s gross reclaim amount.
237
237
  * @param args.cashOutTaxRate `previewCashOutFrom`'s cash-out tax rate.
238
238
  * @param args.hookSpecifications `previewCashOutFrom`'s hook specifications.
239
+ * @param args.buybackHookAddress The chain's `JBBuybackHook` address. Only a
240
+ * specification from this exact hook is interpreted as the buyback route —
241
+ * other data hooks (e.g. a 721 tiers hook) also emit specifications with
242
+ * metadata, and decoding one as a buyback quote would submit a cash out with
243
+ * a zero terminal minimum. When omitted, every specification is treated as
244
+ * non-buyback and the deterministic treasury route (with its real
245
+ * `minTokensReclaimed` floor) is returned.
239
246
  * @param args.beneficiaryIsFeeless Whether the beneficiary is feeless.
240
247
  * Defaults to false (conservative: assumes the fee applies).
241
248
  * @param args.feeFreeSurplus The terminal's `feeFreeSurplusOf` for the token.
@@ -244,7 +251,7 @@ function buildBuybackCashOutMetadata({ hook, minimumSwapAmountOut, skip = false,
244
251
  * {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
245
252
  * @returns The protected route.
246
253
  */
247
- function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications, beneficiaryIsFeeless = false, feeFreeSurplus = 0n, slippageBps = exports.DEFAULT_CASH_OUT_SLIPPAGE_BPS, }) {
254
+ function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications, buybackHookAddress, beneficiaryIsFeeless = false, feeFreeSurplus = 0n, slippageBps = exports.DEFAULT_CASH_OUT_SLIPPAGE_BPS, }) {
248
255
  requireBps(slippageBps);
249
256
  const treasuryProtocolFee = cashOutProtocolFee({
250
257
  reclaimAmount,
@@ -253,7 +260,10 @@ function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications
253
260
  feeFreeSurplus,
254
261
  });
255
262
  const treasuryNet = reclaimAmount - treasuryProtocolFee;
256
- const specification = hookSpecifications.find((spec) => spec.metadata !== "0x") ?? null;
263
+ const buybackHook = buybackHookAddress?.toLowerCase() ?? null;
264
+ const specification = (buybackHook &&
265
+ hookSpecifications.find((spec) => spec.hook.toLowerCase() === buybackHook && spec.metadata !== "0x")) ||
266
+ null;
257
267
  const buyback = specification
258
268
  ? {
259
269
  hook: specification.hook,
@@ -321,14 +331,20 @@ function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications
321
331
  * @param args.beneficiary The reclaim beneficiary. Defaults to the holder.
322
332
  * @param args.terminal The terminal to quote against. Defaults to the chain's
323
333
  * canonical `JBMultiTerminal`.
334
+ * @param args.buybackHookAddress The buyback hook whose specification may win
335
+ * the pool route. Defaults to the chain's canonical `JBBuybackHook`; pass it
336
+ * explicitly for a project whose `JBBuybackHookRegistry` entry points at a
337
+ * custom hook. On a chain with no `JBBuybackHook` deployment, specifications
338
+ * are treated as non-buyback and the treasury route is returned.
324
339
  * @param args.beneficiaryIsFeeless Whether the beneficiary is feeless.
325
340
  * Defaults to false.
326
341
  * @param args.slippageBps Tolerance for quote-to-inclusion drift. Defaults to
327
342
  * {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
328
343
  * @returns The protected route (see {@link CashOutRoute}).
329
344
  */
330
- async function getHookAwareCashOutQuote(client, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, beneficiaryIsFeeless = false, slippageBps = exports.DEFAULT_CASH_OUT_SLIPPAGE_BPS, }) {
345
+ async function getHookAwareCashOutQuote(client, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, buybackHookAddress, beneficiaryIsFeeless = false, slippageBps = exports.DEFAULT_CASH_OUT_SLIPPAGE_BPS, }) {
331
346
  const terminalAddress = terminal ?? (0, types_js_1.v6Address)("JBMultiTerminal", chainId);
347
+ const buybackHook = buybackHookAddress ?? optionalV6Address("JBBuybackHook", chainId);
332
348
  const [, reclaimAmount, cashOutTaxRate, hookSpecifications] = await client.readContract({
333
349
  address: terminalAddress,
334
350
  abi: juicebox_js_1.jbMultiTerminalAbi,
@@ -355,9 +371,22 @@ async function getHookAwareCashOutQuote(client, { chainId, projectId, holder, ca
355
371
  reclaimAmount,
356
372
  cashOutTaxRate,
357
373
  hookSpecifications,
374
+ buybackHookAddress: buybackHook,
358
375
  beneficiaryIsFeeless,
359
376
  feeFreeSurplus,
360
377
  slippageBps,
361
378
  });
362
379
  }
380
+ /**
381
+ * `v6Address`, but returning undefined instead of throwing on a chain the
382
+ * contract isn't deployed to.
383
+ */
384
+ function optionalV6Address(contract, chainId) {
385
+ try {
386
+ return (0, types_js_1.v6Address)(contract, chainId);
387
+ }
388
+ catch {
389
+ return undefined;
390
+ }
391
+ }
363
392
  //# sourceMappingURL=cashOut.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cashOut.js","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cashOut.js","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}
@@ -243,6 +243,13 @@ export interface CashOutRoute {
243
243
  * @param args.reclaimAmount `previewCashOutFrom`'s gross reclaim amount.
244
244
  * @param args.cashOutTaxRate `previewCashOutFrom`'s cash-out tax rate.
245
245
  * @param args.hookSpecifications `previewCashOutFrom`'s hook specifications.
246
+ * @param args.buybackHookAddress The chain's `JBBuybackHook` address. Only a
247
+ * specification from this exact hook is interpreted as the buyback route —
248
+ * other data hooks (e.g. a 721 tiers hook) also emit specifications with
249
+ * metadata, and decoding one as a buyback quote would submit a cash out with
250
+ * a zero terminal minimum. When omitted, every specification is treated as
251
+ * non-buyback and the deterministic treasury route (with its real
252
+ * `minTokensReclaimed` floor) is returned.
246
253
  * @param args.beneficiaryIsFeeless Whether the beneficiary is feeless.
247
254
  * Defaults to false (conservative: assumes the fee applies).
248
255
  * @param args.feeFreeSurplus The terminal's `feeFreeSurplusOf` for the token.
@@ -251,10 +258,11 @@ export interface CashOutRoute {
251
258
  * {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
252
259
  * @returns The protected route.
253
260
  */
254
- export declare function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications, beneficiaryIsFeeless, feeFreeSurplus, slippageBps, }: {
261
+ export declare function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications, buybackHookAddress, beneficiaryIsFeeless, feeFreeSurplus, slippageBps, }: {
255
262
  reclaimAmount: bigint;
256
263
  cashOutTaxRate: bigint;
257
264
  hookSpecifications: readonly CashOutHookSpecification[];
265
+ buybackHookAddress?: Address;
258
266
  beneficiaryIsFeeless?: boolean;
259
267
  feeFreeSurplus?: bigint;
260
268
  slippageBps?: bigint;
@@ -278,13 +286,18 @@ export declare function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hoo
278
286
  * @param args.beneficiary The reclaim beneficiary. Defaults to the holder.
279
287
  * @param args.terminal The terminal to quote against. Defaults to the chain's
280
288
  * canonical `JBMultiTerminal`.
289
+ * @param args.buybackHookAddress The buyback hook whose specification may win
290
+ * the pool route. Defaults to the chain's canonical `JBBuybackHook`; pass it
291
+ * explicitly for a project whose `JBBuybackHookRegistry` entry points at a
292
+ * custom hook. On a chain with no `JBBuybackHook` deployment, specifications
293
+ * are treated as non-buyback and the treasury route is returned.
281
294
  * @param args.beneficiaryIsFeeless Whether the beneficiary is feeless.
282
295
  * Defaults to false.
283
296
  * @param args.slippageBps Tolerance for quote-to-inclusion drift. Defaults to
284
297
  * {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
285
298
  * @returns The protected route (see {@link CashOutRoute}).
286
299
  */
287
- export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, beneficiaryIsFeeless, slippageBps, }: {
300
+ export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, buybackHookAddress, beneficiaryIsFeeless, slippageBps, }: {
288
301
  chainId: JBChainId;
289
302
  projectId: bigint;
290
303
  holder: Address;
@@ -292,6 +305,7 @@ export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId
292
305
  tokenToReclaim: Address;
293
306
  beneficiary?: Address;
294
307
  terminal?: Address;
308
+ buybackHookAddress?: Address;
295
309
  beneficiaryIsFeeless?: boolean;
296
310
  slippageBps?: bigint;
297
311
  }): Promise<CashOutRoute>;
@@ -1 +1 @@
1
- {"version":3,"file":"cashOut.d.ts","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cashOut.d.ts","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}
@@ -224,6 +224,13 @@ export function buildBuybackCashOutMetadata({ hook, minimumSwapAmountOut, skip =
224
224
  * @param args.reclaimAmount `previewCashOutFrom`'s gross reclaim amount.
225
225
  * @param args.cashOutTaxRate `previewCashOutFrom`'s cash-out tax rate.
226
226
  * @param args.hookSpecifications `previewCashOutFrom`'s hook specifications.
227
+ * @param args.buybackHookAddress The chain's `JBBuybackHook` address. Only a
228
+ * specification from this exact hook is interpreted as the buyback route —
229
+ * other data hooks (e.g. a 721 tiers hook) also emit specifications with
230
+ * metadata, and decoding one as a buyback quote would submit a cash out with
231
+ * a zero terminal minimum. When omitted, every specification is treated as
232
+ * non-buyback and the deterministic treasury route (with its real
233
+ * `minTokensReclaimed` floor) is returned.
227
234
  * @param args.beneficiaryIsFeeless Whether the beneficiary is feeless.
228
235
  * Defaults to false (conservative: assumes the fee applies).
229
236
  * @param args.feeFreeSurplus The terminal's `feeFreeSurplusOf` for the token.
@@ -232,7 +239,7 @@ export function buildBuybackCashOutMetadata({ hook, minimumSwapAmountOut, skip =
232
239
  * {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
233
240
  * @returns The protected route.
234
241
  */
235
- export function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications, beneficiaryIsFeeless = false, feeFreeSurplus = 0n, slippageBps = DEFAULT_CASH_OUT_SLIPPAGE_BPS, }) {
242
+ export function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifications, buybackHookAddress, beneficiaryIsFeeless = false, feeFreeSurplus = 0n, slippageBps = DEFAULT_CASH_OUT_SLIPPAGE_BPS, }) {
236
243
  requireBps(slippageBps);
237
244
  const treasuryProtocolFee = cashOutProtocolFee({
238
245
  reclaimAmount,
@@ -241,7 +248,10 @@ export function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifi
241
248
  feeFreeSurplus,
242
249
  });
243
250
  const treasuryNet = reclaimAmount - treasuryProtocolFee;
244
- const specification = hookSpecifications.find((spec) => spec.metadata !== "0x") ?? null;
251
+ const buybackHook = buybackHookAddress?.toLowerCase() ?? null;
252
+ const specification = (buybackHook &&
253
+ hookSpecifications.find((spec) => spec.hook.toLowerCase() === buybackHook && spec.metadata !== "0x")) ||
254
+ null;
245
255
  const buyback = specification
246
256
  ? {
247
257
  hook: specification.hook,
@@ -309,14 +319,20 @@ export function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hookSpecifi
309
319
  * @param args.beneficiary The reclaim beneficiary. Defaults to the holder.
310
320
  * @param args.terminal The terminal to quote against. Defaults to the chain's
311
321
  * canonical `JBMultiTerminal`.
322
+ * @param args.buybackHookAddress The buyback hook whose specification may win
323
+ * the pool route. Defaults to the chain's canonical `JBBuybackHook`; pass it
324
+ * explicitly for a project whose `JBBuybackHookRegistry` entry points at a
325
+ * custom hook. On a chain with no `JBBuybackHook` deployment, specifications
326
+ * are treated as non-buyback and the treasury route is returned.
312
327
  * @param args.beneficiaryIsFeeless Whether the beneficiary is feeless.
313
328
  * Defaults to false.
314
329
  * @param args.slippageBps Tolerance for quote-to-inclusion drift. Defaults to
315
330
  * {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
316
331
  * @returns The protected route (see {@link CashOutRoute}).
317
332
  */
318
- export async function getHookAwareCashOutQuote(client, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, beneficiaryIsFeeless = false, slippageBps = DEFAULT_CASH_OUT_SLIPPAGE_BPS, }) {
333
+ export async function getHookAwareCashOutQuote(client, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, buybackHookAddress, beneficiaryIsFeeless = false, slippageBps = DEFAULT_CASH_OUT_SLIPPAGE_BPS, }) {
319
334
  const terminalAddress = terminal ?? v6Address("JBMultiTerminal", chainId);
335
+ const buybackHook = buybackHookAddress ?? optionalV6Address("JBBuybackHook", chainId);
320
336
  const [, reclaimAmount, cashOutTaxRate, hookSpecifications] = await client.readContract({
321
337
  address: terminalAddress,
322
338
  abi: jbMultiTerminalAbi,
@@ -343,9 +359,22 @@ export async function getHookAwareCashOutQuote(client, { chainId, projectId, hol
343
359
  reclaimAmount,
344
360
  cashOutTaxRate,
345
361
  hookSpecifications,
362
+ buybackHookAddress: buybackHook,
346
363
  beneficiaryIsFeeless,
347
364
  feeFreeSurplus,
348
365
  slippageBps,
349
366
  });
350
367
  }
368
+ /**
369
+ * `v6Address`, but returning undefined instead of throwing on a chain the
370
+ * contract isn't deployed to.
371
+ */
372
+ function optionalV6Address(contract, chainId) {
373
+ try {
374
+ return v6Address(contract, chainId);
375
+ }
376
+ catch {
377
+ return undefined;
378
+ }
379
+ }
351
380
  //# sourceMappingURL=cashOut.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cashOut.js","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cashOut.js","sourceRoot":"","sources":["../../../src/v6/cashOut.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": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",