@bananapus/nana-sdk-core 1.9.2 → 1.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/actions/dataHook.d.ts +2 -2
- package/dist/cjs/actions/dataHook.d.ts.map +1 -1
- package/dist/cjs/actions/dataHook.js +6 -3
- package/dist/cjs/actions/dataHook.js.map +1 -1
- package/dist/cjs/utils/contracts.d.ts +2 -1
- package/dist/cjs/utils/contracts.d.ts.map +1 -1
- package/dist/cjs/utils/contracts.js +6 -1
- package/dist/cjs/utils/contracts.js.map +1 -1
- package/dist/cjs/v6/cashOut.d.ts +109 -2
- package/dist/cjs/v6/cashOut.d.ts.map +1 -1
- package/dist/cjs/v6/cashOut.js +324 -49
- package/dist/cjs/v6/cashOut.js.map +1 -1
- package/dist/cjs/v6/uniswapV4.d.ts +27 -0
- package/dist/cjs/v6/uniswapV4.d.ts.map +1 -1
- package/dist/cjs/v6/uniswapV4.js +66 -0
- package/dist/cjs/v6/uniswapV4.js.map +1 -1
- package/dist/esm/actions/dataHook.d.ts +2 -2
- package/dist/esm/actions/dataHook.d.ts.map +1 -1
- package/dist/esm/actions/dataHook.js +8 -5
- package/dist/esm/actions/dataHook.js.map +1 -1
- package/dist/esm/utils/contracts.d.ts +2 -1
- package/dist/esm/utils/contracts.d.ts.map +1 -1
- package/dist/esm/utils/contracts.js +7 -2
- package/dist/esm/utils/contracts.js.map +1 -1
- package/dist/esm/v6/cashOut.d.ts +109 -2
- package/dist/esm/v6/cashOut.d.ts.map +1 -1
- package/dist/esm/v6/cashOut.js +316 -48
- package/dist/esm/v6/cashOut.js.map +1 -1
- package/dist/esm/v6/uniswapV4.d.ts +27 -0
- package/dist/esm/v6/uniswapV4.d.ts.map +1 -1
- package/dist/esm/v6/uniswapV4.js +61 -0
- package/dist/esm/v6/uniswapV4.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataHook.d.ts","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dataHook.d.ts","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAQd;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE;IACJ,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB,iCA+DF;AAED,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE;IACJ,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB;;;;;;;;;KAgCF"}
|
|
@@ -17,11 +17,14 @@ async function find721DataHook(publicClient, args) {
|
|
|
17
17
|
if (!chainId) {
|
|
18
18
|
throw new Error("[@bananapus/nana-sdk-core] No chain ID on public client.");
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
let registerAddress;
|
|
21
|
+
try {
|
|
22
|
+
registerAddress = (0, contracts_js_1.getJBContractAddress)(types_js_1.JBAddressRegistryContracts.JBAddressRegistry, args.version, chainId);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
23
25
|
throw new Error(`[@bananapus/nana-sdk-core] No JBAddressRegistry address for chain ${chainId}.`);
|
|
24
26
|
}
|
|
27
|
+
const deployerAddress = (0, contracts_js_1.getJBContractAddress)(types_js_1.JB721HookContracts.JB721TiersHookDeployer, args.version, chainId);
|
|
25
28
|
const registry = (0, viem_1.getContract)({
|
|
26
29
|
address: registerAddress,
|
|
27
30
|
abi: juicebox_js_1.jbAddressRegistryAbi,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataHook.js","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"dataHook.js","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { type Address } from "viem";
|
|
1
2
|
import { useConfig } from "wagmi";
|
|
2
3
|
import { JBVersion } from "../contracts.js";
|
|
3
4
|
import { jbContractAddress } from "../generated/juicebox.js";
|
|
4
5
|
import { JBChainId } from "../types.js";
|
|
5
6
|
type ContractsForVersion<V extends JBVersion> = V extends 4 ? keyof (typeof jbContractAddress)["4"] : V extends 5 ? keyof (typeof jbContractAddress)["5"] : V extends 6 ? keyof (typeof jbContractAddress)["6"] : never;
|
|
6
|
-
export declare function getJBContractAddress<V extends JBVersion>(contract: ContractsForVersion<V>, version: V, chainId: JBChainId):
|
|
7
|
+
export declare function getJBContractAddress<V extends JBVersion>(contract: ContractsForVersion<V>, version: V, chainId: JBChainId): Address;
|
|
7
8
|
export declare function getProjectTerminalStore(chainId: JBChainId, version: JBVersion): `0x${string}`;
|
|
8
9
|
export declare function getPrimaryNativeTerminal(config: ReturnType<typeof useConfig>, chainId: JBChainId, projectId: bigint, version: JBVersion): Promise<`0x${string}`>;
|
|
9
10
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EAEb,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAkB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,KAAK,mBAAmB,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,CAAC,GACvD,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,CAAC,SAAS,CAAC,GACT,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,CAAC,SAAS,CAAC,GACT,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,KAAK,CAAC;AAEd,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,EACtD,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,SAAS,GACjB,OAAO,CAgBT;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,iBAOnB;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EACpC,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,0BAqBnB"}
|
|
@@ -10,7 +10,12 @@ const juicebox_js_1 = require("../generated/juicebox.js");
|
|
|
10
10
|
function getJBContractAddress(contract, version, chainId) {
|
|
11
11
|
const versionKey = version.toString();
|
|
12
12
|
const chainKey = chainId.toString();
|
|
13
|
-
|
|
13
|
+
const deployments = juicebox_js_1.jbContractAddress[versionKey];
|
|
14
|
+
const address = deployments[String(contract)]?.[chainKey];
|
|
15
|
+
if (!address) {
|
|
16
|
+
throw new Error(`No ${String(contract)} deployment for Juicebox V${version} on chain ${chainId}.`);
|
|
17
|
+
}
|
|
18
|
+
return address;
|
|
14
19
|
}
|
|
15
20
|
function getProjectTerminalStore(chainId, version) {
|
|
16
21
|
return getJBContractAddress(contracts_js_1.JBCoreContracts.JBTerminalStore, version, chainId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":";;AAqBA,oDAoBC;AAED,0DASC;AAED,4DAyBC;AA/ED,+BAKc;AAEd,kDAA+D;AAC/D,kDAA6D;AAC7D,0DAA6E;AAY7E,SAAgB,oBAAoB,CAClC,QAAgC,EAChC,OAAU,EACV,OAAkB;IAElB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAoC,CAAC;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,+BAAiB,CAAC,UAAU,CAG/C,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,MAAM,MAAM,CAAC,QAAQ,CAAC,6BAA6B,OAAO,aAAa,OAAO,GAAG,CAClF,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,uBAAuB,CACrC,OAAkB,EAClB,OAAkB;IAElB,OAAO,oBAAoB,CACzB,8BAAe,CAAC,eAAe,EAC/B,OAAO,EACP,OAAO,CACR,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,MAAoC,EACpC,OAAkB,EAClB,SAAiB,EACjB,OAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAiB,CAAC;IAE9E,MAAM,OAAO,GAAG,oBAAoB,CAClC,8BAAe,CAAC,WAAW,EAC3B,OAAO,EACP,OAAO,CACR,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,4BAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAExE,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACnE,SAAS;QACT,2BAAY;KACb,CAAC,CAAC;IACH,IAAI,qBAAqB,KAAK,kBAAW;QAAE,OAAO,qBAAqB,CAAC;IAExE,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC5C,SAAS;QACT,6BAAc,CAAC,OAAO,CAAC;KACxB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/cjs/v6/cashOut.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Address, Hex, PublicClient } from "viem";
|
|
2
2
|
import { jbMultiTerminalAbi } from "../generated/juicebox.js";
|
|
3
3
|
import { JBChainId } from "../types.js";
|
|
4
|
+
import { type UniswapV4PoolKey, type UniswapV4SwapTxRequest } from "./uniswapV4.js";
|
|
4
5
|
/**
|
|
5
6
|
* A prepared `cashOutTokensOf` transaction request, accepted as-is by viem's
|
|
6
7
|
* `walletClient.writeContract` and wagmi's `writeContract`.
|
|
@@ -229,6 +230,57 @@ export interface CashOutRoute {
|
|
|
229
230
|
hook: Address;
|
|
230
231
|
}) | null;
|
|
231
232
|
}
|
|
233
|
+
/** A terminal cash out or a direct sale of already-claimed project ERC-20s. */
|
|
234
|
+
export type BestCashOutRoute = {
|
|
235
|
+
kind: "cash-out";
|
|
236
|
+
expectedReturn: bigint;
|
|
237
|
+
minimumReturn: bigint;
|
|
238
|
+
cashOut: CashOutRoute;
|
|
239
|
+
} | {
|
|
240
|
+
kind: "direct-swap";
|
|
241
|
+
expectedReturn: bigint;
|
|
242
|
+
minimumReturn: bigint;
|
|
243
|
+
/** The displaced terminal route, retained for comparison and fallback. */
|
|
244
|
+
cashOut: CashOutRoute;
|
|
245
|
+
poolKey: UniswapV4PoolKey;
|
|
246
|
+
zeroForOne: boolean;
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Pick the executable exit which guarantees the holder the most reclaim token.
|
|
250
|
+
*
|
|
251
|
+
* A direct pool sale can only spend claimed ERC-20s. Internal Juicebox credits
|
|
252
|
+
* stay on the terminal route until they are claimed. The direct route must beat
|
|
253
|
+
* the terminal's full expected output even after user slippage; an optimistic
|
|
254
|
+
* pool quote alone is never enough to displace a deterministic cash out.
|
|
255
|
+
*/
|
|
256
|
+
export declare function chooseBestCashOutRoute({ cashOut, directSwapQuote, directSwapPoolKey, directSwapZeroForOne, spendableProjectTokenCount, cashOutCount, slippageBps, }: {
|
|
257
|
+
cashOut: CashOutRoute;
|
|
258
|
+
directSwapQuote?: bigint | null;
|
|
259
|
+
directSwapPoolKey?: UniswapV4PoolKey;
|
|
260
|
+
directSwapZeroForOne?: boolean;
|
|
261
|
+
spendableProjectTokenCount?: bigint;
|
|
262
|
+
cashOutCount: bigint;
|
|
263
|
+
slippageBps?: bigint;
|
|
264
|
+
}): BestCashOutRoute;
|
|
265
|
+
export interface DirectCashOutSwapArguments {
|
|
266
|
+
poolKey: UniswapV4PoolKey;
|
|
267
|
+
projectToken: Address;
|
|
268
|
+
/** Claimed ERC-20 balance available to the Universal Router. */
|
|
269
|
+
spendableProjectTokenCount: bigint;
|
|
270
|
+
}
|
|
271
|
+
export interface BestCashOutArguments extends HookAwareCashOutArguments {
|
|
272
|
+
directSwap?: DirectCashOutSwapArguments;
|
|
273
|
+
}
|
|
274
|
+
/** Pool fee/impact already reflected by the buyback hook's executable quote. */
|
|
275
|
+
export declare function cashOutPoolBufferBps(route: CashOutRoute | null | undefined): bigint | null;
|
|
276
|
+
/** Machine-readable cash-out failures which clients can translate into copy. */
|
|
277
|
+
export type CashOutExecutionErrorCode = "BUYBACK_SLIPPAGE_EXCEEDED" | "TERMINAL_UNDER_MIN";
|
|
278
|
+
export interface CashOutExecutionError {
|
|
279
|
+
code: CashOutExecutionErrorCode;
|
|
280
|
+
selector: Hex;
|
|
281
|
+
}
|
|
282
|
+
/** Classify known cash-out errors through viem/wallet nested error shapes. */
|
|
283
|
+
export declare function classifyCashOutExecutionError(error: unknown): CashOutExecutionError | null;
|
|
232
284
|
/**
|
|
233
285
|
* Interpret a hook-aware `previewCashOutFrom` result and prepare a
|
|
234
286
|
* slippage-protected route.
|
|
@@ -297,7 +349,7 @@ export declare function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hoo
|
|
|
297
349
|
* {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
|
|
298
350
|
* @returns The protected route (see {@link CashOutRoute}).
|
|
299
351
|
*/
|
|
300
|
-
export
|
|
352
|
+
export interface HookAwareCashOutArguments {
|
|
301
353
|
chainId: JBChainId;
|
|
302
354
|
projectId: bigint;
|
|
303
355
|
holder: Address;
|
|
@@ -308,5 +360,60 @@ export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId
|
|
|
308
360
|
buybackHookAddress?: Address;
|
|
309
361
|
beneficiaryIsFeeless?: boolean;
|
|
310
362
|
slippageBps?: bigint;
|
|
311
|
-
}
|
|
363
|
+
}
|
|
364
|
+
/** The protocol facts returned by one `previewCashOutFrom` call. */
|
|
365
|
+
export interface CashOutPreviewSnapshot {
|
|
366
|
+
rulesetId: bigint | null;
|
|
367
|
+
reclaimAmount: bigint;
|
|
368
|
+
cashOutTaxRate: bigint;
|
|
369
|
+
hookSpecifications: readonly CashOutHookSpecification[];
|
|
370
|
+
}
|
|
371
|
+
export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, buybackHookAddress, beneficiaryIsFeeless, slippageBps, }: HookAwareCashOutArguments): Promise<CashOutRoute>;
|
|
372
|
+
/**
|
|
373
|
+
* Quote the best user exit across the terminal and a directly spendable pool.
|
|
374
|
+
*
|
|
375
|
+
* `previewCashOutFrom` remains the source of truth for terminal and buyback-hook
|
|
376
|
+
* settlement. When a matching pool and sufficient claimed ERC-20 balance are
|
|
377
|
+
* supplied, the V4 Quoter is read as well and a direct swap wins only when its
|
|
378
|
+
* slippage-protected minimum exceeds the terminal route's full expected output.
|
|
379
|
+
*/
|
|
380
|
+
export declare function getBestCashOutRoute(client: PublicClient, args: BestCashOutArguments): Promise<BestCashOutRoute>;
|
|
381
|
+
export declare class CashOutRouteChangedError extends Error {
|
|
382
|
+
readonly code = "CASH_OUT_ROUTE_CHANGED";
|
|
383
|
+
constructor();
|
|
384
|
+
}
|
|
385
|
+
/** A fresh quote, locked AMM preview, and matching transaction request. */
|
|
386
|
+
export interface PreparedHookAwareCashOut {
|
|
387
|
+
route: CashOutRoute;
|
|
388
|
+
transaction: V6CashOutTxRequest;
|
|
389
|
+
preview: CashOutPreviewSnapshot;
|
|
390
|
+
lockedPreview: CashOutPreviewSnapshot | null;
|
|
391
|
+
}
|
|
392
|
+
export type PreparedBestCashOut = ({
|
|
393
|
+
kind: "cash-out";
|
|
394
|
+
} & PreparedHookAwareCashOut) | {
|
|
395
|
+
kind: "direct-swap";
|
|
396
|
+
route: Extract<BestCashOutRoute, {
|
|
397
|
+
kind: "direct-swap";
|
|
398
|
+
}>;
|
|
399
|
+
transaction: UniswapV4SwapTxRequest;
|
|
400
|
+
};
|
|
401
|
+
/**
|
|
402
|
+
* Prepare the exact hook-aware cash-out request a wallet should submit.
|
|
403
|
+
*
|
|
404
|
+
* Pool routes are re-previewed with their slippage metadata before the request
|
|
405
|
+
* is returned. This proves the executable minimum still selects the same route
|
|
406
|
+
* and avoids clients independently composing a stale quote and transaction.
|
|
407
|
+
*/
|
|
408
|
+
export declare function prepareHookAwareCashOut(client: PublicClient, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, buybackHookAddress, beneficiaryIsFeeless, slippageBps, }: HookAwareCashOutArguments): Promise<PreparedHookAwareCashOut>;
|
|
409
|
+
/**
|
|
410
|
+
* Freshly prepare the best executable cash-out or direct-swap transaction.
|
|
411
|
+
*
|
|
412
|
+
* A direct swap is freshly quoted and slippage-floored in the same operation
|
|
413
|
+
* which builds its Universal Router request. If it cannot safely beat the
|
|
414
|
+
* terminal, the terminal path is re-previewed and locked instead.
|
|
415
|
+
*/
|
|
416
|
+
export declare function prepareBestCashOut(client: PublicClient, args: BestCashOutArguments & {
|
|
417
|
+
directSwapDeadline: bigint;
|
|
418
|
+
}): Promise<PreparedBestCashOut>;
|
|
312
419
|
//# sourceMappingURL=cashOut.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cashOut.d.ts","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,GAAG,EACH,YAAY,EAGb,MAAM,MAAM,CAAC;AACd,OAAO,EACL,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cashOut.d.ts","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}
|