@bananapus/nana-sdk-core 3.2.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.
- package/dist/cjs/review/heldWrite.js +1 -1
- package/dist/cjs/review/heldWrite.js.map +1 -1
- package/dist/cjs/review/messages.d.ts +3 -1
- package/dist/cjs/review/messages.d.ts.map +1 -1
- package/dist/cjs/review/messages.js +4 -2
- package/dist/cjs/review/messages.js.map +1 -1
- package/dist/cjs/review/writeHold.d.ts +9 -6
- package/dist/cjs/review/writeHold.d.ts.map +1 -1
- package/dist/cjs/review/writeHold.js +12 -4
- package/dist/cjs/review/writeHold.js.map +1 -1
- package/dist/cjs/review/writeRecovery.d.ts +3 -2
- package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
- package/dist/cjs/review/writeRecovery.js +3 -2
- package/dist/cjs/review/writeRecovery.js.map +1 -1
- package/dist/cjs/v6/cashOut.d.ts.map +1 -1
- package/dist/cjs/v6/cashOut.js +11 -39
- package/dist/cjs/v6/cashOut.js.map +1 -1
- package/dist/cjs/v6/defifa.d.ts +4 -2
- package/dist/cjs/v6/defifa.d.ts.map +1 -1
- package/dist/cjs/v6/defifa.js +10 -6
- package/dist/cjs/v6/defifa.js.map +1 -1
- package/dist/cjs/v6/executionErrors.d.ts +107 -0
- package/dist/cjs/v6/executionErrors.d.ts.map +1 -0
- package/dist/cjs/v6/executionErrors.js +373 -0
- package/dist/cjs/v6/executionErrors.js.map +1 -0
- package/dist/cjs/v6/index.d.ts +2 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +6 -1
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/pay.d.ts +32 -11
- package/dist/cjs/v6/pay.d.ts.map +1 -1
- package/dist/cjs/v6/pay.js +360 -42
- package/dist/cjs/v6/pay.js.map +1 -1
- package/dist/cjs/v6/uniswapV3.d.ts +21 -0
- package/dist/cjs/v6/uniswapV3.d.ts.map +1 -0
- package/dist/cjs/v6/uniswapV3.js +72 -0
- package/dist/cjs/v6/uniswapV3.js.map +1 -0
- package/dist/esm/review/heldWrite.js +2 -2
- package/dist/esm/review/heldWrite.js.map +1 -1
- package/dist/esm/review/messages.d.ts +3 -1
- package/dist/esm/review/messages.d.ts.map +1 -1
- package/dist/esm/review/messages.js +3 -1
- package/dist/esm/review/messages.js.map +1 -1
- package/dist/esm/review/writeHold.d.ts +9 -6
- package/dist/esm/review/writeHold.d.ts.map +1 -1
- package/dist/esm/review/writeHold.js +12 -4
- package/dist/esm/review/writeHold.js.map +1 -1
- package/dist/esm/review/writeRecovery.d.ts +3 -2
- package/dist/esm/review/writeRecovery.d.ts.map +1 -1
- package/dist/esm/review/writeRecovery.js +3 -2
- package/dist/esm/review/writeRecovery.js.map +1 -1
- package/dist/esm/v6/cashOut.d.ts.map +1 -1
- package/dist/esm/v6/cashOut.js +11 -39
- package/dist/esm/v6/cashOut.js.map +1 -1
- package/dist/esm/v6/defifa.d.ts +4 -2
- package/dist/esm/v6/defifa.d.ts.map +1 -1
- package/dist/esm/v6/defifa.js +10 -6
- package/dist/esm/v6/defifa.js.map +1 -1
- package/dist/esm/v6/executionErrors.d.ts +107 -0
- package/dist/esm/v6/executionErrors.d.ts.map +1 -0
- package/dist/esm/v6/executionErrors.js +367 -0
- package/dist/esm/v6/executionErrors.js.map +1 -0
- package/dist/esm/v6/index.d.ts +2 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +2 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/pay.d.ts +32 -11
- package/dist/esm/v6/pay.d.ts.map +1 -1
- package/dist/esm/v6/pay.js +360 -43
- package/dist/esm/v6/pay.js.map +1 -1
- package/dist/esm/v6/uniswapV3.d.ts +21 -0
- package/dist/esm/v6/uniswapV3.d.ts.map +1 -0
- package/dist/esm/v6/uniswapV3.js +68 -0
- package/dist/esm/v6/uniswapV3.js.map +1 -0
- package/package.json +1 -1
|
@@ -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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { decodeFunctionResult, encodeFunctionData, } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* Canonical Uniswap V3 QuoterV2 deployments. Each one's `factory()` and
|
|
4
|
+
* `WETH9()` match the factory and wrapped native token the v6 router terminal
|
|
5
|
+
* swaps through on that chain. Missing chains must fail closed.
|
|
6
|
+
*/
|
|
7
|
+
export const UNISWAP_V3_QUOTER_V2_ADDRESSES = {
|
|
8
|
+
1: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e",
|
|
9
|
+
10: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e",
|
|
10
|
+
8453: "0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",
|
|
11
|
+
42161: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e",
|
|
12
|
+
84532: "0xC5290058841028F1614F3A6F0F5816cAd0df5E27",
|
|
13
|
+
421614: "0x2779a0CC1c3e0E44D2542EC3e79e3864Ae93Ef0B",
|
|
14
|
+
11155111: "0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3",
|
|
15
|
+
};
|
|
16
|
+
const V3_QUOTER_ABI = [
|
|
17
|
+
{
|
|
18
|
+
type: "function",
|
|
19
|
+
name: "quoteExactInputSingle",
|
|
20
|
+
stateMutability: "nonpayable",
|
|
21
|
+
inputs: [
|
|
22
|
+
{
|
|
23
|
+
name: "params",
|
|
24
|
+
type: "tuple",
|
|
25
|
+
components: [
|
|
26
|
+
{ name: "tokenIn", type: "address" },
|
|
27
|
+
{ name: "tokenOut", type: "address" },
|
|
28
|
+
{ name: "amountIn", type: "uint256" },
|
|
29
|
+
{ name: "fee", type: "uint24" },
|
|
30
|
+
{ name: "sqrtPriceLimitX96", type: "uint160" },
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
outputs: [
|
|
35
|
+
{ name: "amountOut", type: "uint256" },
|
|
36
|
+
{ name: "sqrtPriceX96After", type: "uint160" },
|
|
37
|
+
{ name: "initializedTicksCrossed", type: "uint32" },
|
|
38
|
+
{ name: "gasEstimate", type: "uint256" },
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
/**
|
|
43
|
+
* Quote an exact-input swap through one Uniswap V3 pool, fee and price impact
|
|
44
|
+
* included. Tokens are ERC-20s: pass the wrapped native token, not the native
|
|
45
|
+
* sentinel.
|
|
46
|
+
*/
|
|
47
|
+
export async function quoteUniswapV3ExactInputSingle(client, { chainId, tokenIn, tokenOut, fee, amountIn, }) {
|
|
48
|
+
const quoter = UNISWAP_V3_QUOTER_V2_ADDRESSES[chainId];
|
|
49
|
+
if (!quoter)
|
|
50
|
+
throw new Error(`No supported Uniswap V3 quoter on chain ${chainId}.`);
|
|
51
|
+
const call = await client.call({
|
|
52
|
+
to: quoter,
|
|
53
|
+
data: encodeFunctionData({
|
|
54
|
+
abi: V3_QUOTER_ABI,
|
|
55
|
+
functionName: "quoteExactInputSingle",
|
|
56
|
+
args: [{ tokenIn, tokenOut, amountIn, fee, sqrtPriceLimitX96: 0n }],
|
|
57
|
+
}),
|
|
58
|
+
});
|
|
59
|
+
if (!call.data)
|
|
60
|
+
throw new Error("Uniswap V3 quoter returned no data.");
|
|
61
|
+
const [amountOut] = decodeFunctionResult({
|
|
62
|
+
abi: V3_QUOTER_ABI,
|
|
63
|
+
functionName: "quoteExactInputSingle",
|
|
64
|
+
data: call.data,
|
|
65
|
+
});
|
|
66
|
+
return amountOut;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=uniswapV3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswapV3.js","sourceRoot":"","sources":["../../../src/v6/uniswapV3.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,MAAM,CAAC;AAGd;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAEvC;IACF,CAAC,EAAE,4CAA4C;IAC/C,EAAE,EAAE,4CAA4C;IAChD,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,4CAA4C;IACnD,MAAM,EAAE,4CAA4C;IACpD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,uBAAuB;QAC7B,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC/C;aACF;SACF;QACD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9C,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;KACF;CACO,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAAoB,EACpB,EACE,OAAO,EACP,OAAO,EACP,QAAQ,EACR,GAAG,EACH,QAAQ,GAOT;IAED,MAAM,MAAM,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,GAAG,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC7B,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,aAAa;YAClB,YAAY,EAAE,uBAAuB;YACrC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;SACpE,CAAC;KACH,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACvE,MAAM,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC;QACvC,GAAG,EAAE,aAAa;QAClB,YAAY,EAAE,uBAAuB;QACrC,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC"}
|