@bananapus/nana-sdk-core 1.4.1 → 1.5.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/v6/currency.d.ts +9 -9
- package/dist/cjs/v6/currency.d.ts.map +1 -1
- package/dist/cjs/v6/currency.js +9 -9
- package/dist/cjs/v6/currency.js.map +1 -1
- package/dist/cjs/v6/launch.d.ts +7 -5
- package/dist/cjs/v6/launch.d.ts.map +1 -1
- package/dist/cjs/v6/launch.js +8 -6
- package/dist/cjs/v6/launch.js.map +1 -1
- package/dist/cjs/v6/pay.d.ts +25 -0
- package/dist/cjs/v6/pay.d.ts.map +1 -1
- package/dist/cjs/v6/pay.js +31 -0
- package/dist/cjs/v6/pay.js.map +1 -1
- package/dist/cjs/v6/revnets.d.ts +2 -2
- package/dist/cjs/v6/uniswapV4.d.ts +87 -1
- package/dist/cjs/v6/uniswapV4.d.ts.map +1 -1
- package/dist/cjs/v6/uniswapV4.js +191 -1
- package/dist/cjs/v6/uniswapV4.js.map +1 -1
- package/dist/esm/v6/currency.d.ts +9 -9
- package/dist/esm/v6/currency.d.ts.map +1 -1
- package/dist/esm/v6/currency.js +9 -9
- package/dist/esm/v6/currency.js.map +1 -1
- package/dist/esm/v6/launch.d.ts +7 -5
- package/dist/esm/v6/launch.d.ts.map +1 -1
- package/dist/esm/v6/launch.js +8 -6
- package/dist/esm/v6/launch.js.map +1 -1
- package/dist/esm/v6/pay.d.ts +25 -0
- package/dist/esm/v6/pay.d.ts.map +1 -1
- package/dist/esm/v6/pay.js +31 -1
- package/dist/esm/v6/pay.js.map +1 -1
- package/dist/esm/v6/revnets.d.ts +2 -2
- package/dist/esm/v6/uniswapV4.d.ts +87 -1
- package/dist/esm/v6/uniswapV4.d.ts.map +1 -1
- package/dist/esm/v6/uniswapV4.js +188 -1
- package/dist/esm/v6/uniswapV4.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,12 +2,10 @@ import { Address } from "viem";
|
|
|
2
2
|
/**
|
|
3
3
|
* The v6 base currency id for ETH (JBCurrencyIds.ETH).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* ruleset's `baseCurrency`
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* native token) as a ruleset `baseCurrency` to "skip the price feed" — base currency
|
|
10
|
-
* must be 1 or 2.
|
|
5
|
+
* ETH = 1 and USD = 2 are well-known shared denominations used by protocol price
|
|
6
|
+
* feeds. A ruleset's `baseCurrency` may instead be a token-keyed currency from
|
|
7
|
+
* {@link tokenCurrencyId} when its issuance weight is denominated directly in that
|
|
8
|
+
* token.
|
|
11
9
|
*
|
|
12
10
|
* @link https://github.com/Bananapus/nana-core-v6/blob/main/src/libraries/JBCurrencyIds.sol
|
|
13
11
|
*/
|
|
@@ -32,9 +30,11 @@ export declare const NATIVE_TOKEN_CURRENCY_ID = 61166;
|
|
|
32
30
|
* The v6 accounting-context currency id for a token: `uint32(uint160(tokenAddress))`,
|
|
33
31
|
* i.e. the lowest 4 bytes of the token's address.
|
|
34
32
|
*
|
|
35
|
-
* Use this for terminal accounting contexts (`{ token, decimals, currency }`)
|
|
36
|
-
* a ruleset's `baseCurrency
|
|
37
|
-
*
|
|
33
|
+
* Use this for terminal accounting contexts (`{ token, decimals, currency }`). It may
|
|
34
|
+
* also be used as a ruleset's `baseCurrency` when issuance is denominated directly in
|
|
35
|
+
* that token. Use a shared denomination such as {@link BASE_CURRENCY_ETH} or
|
|
36
|
+
* {@link BASE_CURRENCY_USD} when multiple accepted tokens must be converted through
|
|
37
|
+
* price feeds.
|
|
38
38
|
*
|
|
39
39
|
* @param token The token address to derive a currency id from.
|
|
40
40
|
* @returns The token's accounting-context currency id (fits in a uint32).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../src/v6/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B
|
|
1
|
+
{"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../src/v6/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtD"}
|
package/dist/cjs/v6/currency.js
CHANGED
|
@@ -5,12 +5,10 @@ exports.tokenCurrencyId = tokenCurrencyId;
|
|
|
5
5
|
/**
|
|
6
6
|
* The v6 base currency id for ETH (JBCurrencyIds.ETH).
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
* ruleset's `baseCurrency`
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* native token) as a ruleset `baseCurrency` to "skip the price feed" — base currency
|
|
13
|
-
* must be 1 or 2.
|
|
8
|
+
* ETH = 1 and USD = 2 are well-known shared denominations used by protocol price
|
|
9
|
+
* feeds. A ruleset's `baseCurrency` may instead be a token-keyed currency from
|
|
10
|
+
* {@link tokenCurrencyId} when its issuance weight is denominated directly in that
|
|
11
|
+
* token.
|
|
14
12
|
*
|
|
15
13
|
* @link https://github.com/Bananapus/nana-core-v6/blob/main/src/libraries/JBCurrencyIds.sol
|
|
16
14
|
*/
|
|
@@ -35,9 +33,11 @@ exports.NATIVE_TOKEN_CURRENCY_ID = 61166;
|
|
|
35
33
|
* The v6 accounting-context currency id for a token: `uint32(uint160(tokenAddress))`,
|
|
36
34
|
* i.e. the lowest 4 bytes of the token's address.
|
|
37
35
|
*
|
|
38
|
-
* Use this for terminal accounting contexts (`{ token, decimals, currency }`)
|
|
39
|
-
* a ruleset's `baseCurrency
|
|
40
|
-
*
|
|
36
|
+
* Use this for terminal accounting contexts (`{ token, decimals, currency }`). It may
|
|
37
|
+
* also be used as a ruleset's `baseCurrency` when issuance is denominated directly in
|
|
38
|
+
* that token. Use a shared denomination such as {@link BASE_CURRENCY_ETH} or
|
|
39
|
+
* {@link BASE_CURRENCY_USD} when multiple accepted tokens must be converted through
|
|
40
|
+
* price feeds.
|
|
41
41
|
*
|
|
42
42
|
* @param token The token address to derive a currency id from.
|
|
43
43
|
* @returns The token's accounting-context currency id (fits in a uint32).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/v6/currency.ts"],"names":[],"mappings":";;;AA6CA,0CAEC;AA7CD
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/v6/currency.ts"],"names":[],"mappings":";;;AA6CA,0CAEC;AA7CD;;;;;;;;;GASG;AACU,QAAA,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;GAKG;AACU,QAAA,wBAAwB,GAAG,KAAK,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/cjs/v6/launch.d.ts
CHANGED
|
@@ -25,17 +25,19 @@ export declare function getProjectCreationFee(client: PublicClient, chainId: JBC
|
|
|
25
25
|
/**
|
|
26
26
|
* Build a `JBAccountingContext` for a token.
|
|
27
27
|
*
|
|
28
|
-
*
|
|
29
|
-
* (native token → 61166).
|
|
30
|
-
*
|
|
31
|
-
*
|
|
28
|
+
* By default the context currency is token-keyed: `uint32(uint160(token))`
|
|
29
|
+
* (native token → 61166). Pass an explicit shared currency such as ETH=1 or
|
|
30
|
+
* USD=2 when the terminal should convert this token through a protocol price
|
|
31
|
+
* feed. A ruleset's `baseCurrency` is the denomination used to interpret its
|
|
32
|
+
* issuance weight.
|
|
32
33
|
*
|
|
33
34
|
* @param token The token address. Defaults to the native token sentinel
|
|
34
35
|
* (`0x…EEEe`).
|
|
35
36
|
* @param decimals The token's decimals. Defaults to 18 for the native token;
|
|
36
37
|
* REQUIRED for any other token (there is no safe default).
|
|
38
|
+
* @param currency The context's currency id. Defaults to the token-keyed id.
|
|
37
39
|
*/
|
|
38
|
-
export declare function buildAccountingContext(token?: Address, decimals?: number): JBAccountingContext;
|
|
40
|
+
export declare function buildAccountingContext(token?: Address, decimals?: number, currency?: number): JBAccountingContext;
|
|
39
41
|
/**
|
|
40
42
|
* Build the standard terminal configurations for a launch:
|
|
41
43
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,GAAG,EACH,YAAY,EAIb,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,eAAe,EAAiB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,KAAK,iBAAiB,GAAG,oBAAoB,CAC3C,OAAO,eAAe,EACtB,SAAS,EACT,kBAAkB,CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAChC,eAAe,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED
|
|
1
|
+
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA;AAED,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,kBAAkB,EACvB,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GAClC,MAAM,GAAG,IAAI,CAmBf;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,kBAAkB,EAAE,EACnC,IAAI,EAAE;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GAC3B,MAAM,GAAG,IAAI,CAMf"}
|
package/dist/cjs/v6/launch.js
CHANGED
|
@@ -30,17 +30,19 @@ async function getProjectCreationFee(client, chainId) {
|
|
|
30
30
|
/**
|
|
31
31
|
* Build a `JBAccountingContext` for a token.
|
|
32
32
|
*
|
|
33
|
-
*
|
|
34
|
-
* (native token → 61166).
|
|
35
|
-
*
|
|
36
|
-
*
|
|
33
|
+
* By default the context currency is token-keyed: `uint32(uint160(token))`
|
|
34
|
+
* (native token → 61166). Pass an explicit shared currency such as ETH=1 or
|
|
35
|
+
* USD=2 when the terminal should convert this token through a protocol price
|
|
36
|
+
* feed. A ruleset's `baseCurrency` is the denomination used to interpret its
|
|
37
|
+
* issuance weight.
|
|
37
38
|
*
|
|
38
39
|
* @param token The token address. Defaults to the native token sentinel
|
|
39
40
|
* (`0x…EEEe`).
|
|
40
41
|
* @param decimals The token's decimals. Defaults to 18 for the native token;
|
|
41
42
|
* REQUIRED for any other token (there is no safe default).
|
|
43
|
+
* @param currency The context's currency id. Defaults to the token-keyed id.
|
|
42
44
|
*/
|
|
43
|
-
function buildAccountingContext(token = constants_js_1.NATIVE_TOKEN, decimals) {
|
|
45
|
+
function buildAccountingContext(token = constants_js_1.NATIVE_TOKEN, decimals, currency = (0, currency_js_1.tokenCurrencyId)(token)) {
|
|
44
46
|
const isNative = token.toLowerCase() === constants_js_1.NATIVE_TOKEN.toLowerCase();
|
|
45
47
|
if (decimals === undefined && !isNative) {
|
|
46
48
|
throw new Error(`decimals is required for non-native token ${token} (there is no safe default)`);
|
|
@@ -48,7 +50,7 @@ function buildAccountingContext(token = constants_js_1.NATIVE_TOKEN, decimals) {
|
|
|
48
50
|
return {
|
|
49
51
|
token,
|
|
50
52
|
decimals: decimals ?? constants_js_1.NATIVE_TOKEN_DECIMALS,
|
|
51
|
-
currency
|
|
53
|
+
currency,
|
|
52
54
|
};
|
|
53
55
|
}
|
|
54
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":";;AA2CA,sDASC;
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../src/v6/launch.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/v6/pay.d.ts
CHANGED
|
@@ -59,6 +59,31 @@ export interface PayPreview {
|
|
|
59
59
|
*/
|
|
60
60
|
reservedTokenCount: bigint;
|
|
61
61
|
}
|
|
62
|
+
export type PaySettlement = "issuance" | "swap";
|
|
63
|
+
export interface PayRouteCandidate extends PayPreview {
|
|
64
|
+
kind: "pay";
|
|
65
|
+
settlement: PaySettlement;
|
|
66
|
+
}
|
|
67
|
+
export interface DirectSwapRouteCandidate extends PayPreview {
|
|
68
|
+
kind: "direct-swap";
|
|
69
|
+
settlement: "swap";
|
|
70
|
+
quotedTokenCount: bigint;
|
|
71
|
+
}
|
|
72
|
+
export type BestPayRoute = PayRouteCandidate | DirectSwapRouteCandidate;
|
|
73
|
+
/**
|
|
74
|
+
* Pick the executable route which guarantees the beneficiary the most tokens.
|
|
75
|
+
*
|
|
76
|
+
* A direct pool swap bypasses the terminal, so its reserved token count is always
|
|
77
|
+
* zero. Its quote is reduced by `slippageBps` before comparison: a route is only
|
|
78
|
+
* selected when its on-chain minimum beats the terminal preview, not merely when
|
|
79
|
+
* its optimistic quote does.
|
|
80
|
+
*/
|
|
81
|
+
export declare function chooseBestPayRoute({ pay, paySettlement, directSwapQuote, slippageBps, }: {
|
|
82
|
+
pay: PayPreview;
|
|
83
|
+
paySettlement: PaySettlement;
|
|
84
|
+
directSwapQuote?: bigint | null;
|
|
85
|
+
slippageBps?: bigint;
|
|
86
|
+
}): BestPayRoute;
|
|
62
87
|
/**
|
|
63
88
|
* Preview the project tokens minted by a payment, via the terminal's
|
|
64
89
|
* `previewPayFor(projectId, token, amount, beneficiary, metadata)`.
|
package/dist/cjs/v6/pay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/v6/pay.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildPayTx = buildPayTx;
|
|
4
|
+
exports.chooseBestPayRoute = chooseBestPayRoute;
|
|
4
5
|
exports.previewPay = previewPay;
|
|
5
6
|
exports.build721PayMetadata = build721PayMetadata;
|
|
6
7
|
const viem_1 = require("viem");
|
|
@@ -48,6 +49,36 @@ function buildPayTx({ chainId, terminal, projectId, token, amount, beneficiary,
|
|
|
48
49
|
value: isNative ? amount : 0n,
|
|
49
50
|
};
|
|
50
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Pick the executable route which guarantees the beneficiary the most tokens.
|
|
54
|
+
*
|
|
55
|
+
* A direct pool swap bypasses the terminal, so its reserved token count is always
|
|
56
|
+
* zero. Its quote is reduced by `slippageBps` before comparison: a route is only
|
|
57
|
+
* selected when its on-chain minimum beats the terminal preview, not merely when
|
|
58
|
+
* its optimistic quote does.
|
|
59
|
+
*/
|
|
60
|
+
function chooseBestPayRoute({ pay, paySettlement, directSwapQuote, slippageBps = 100n, }) {
|
|
61
|
+
if (slippageBps < 0n || slippageBps >= 10000n) {
|
|
62
|
+
throw new Error("slippageBps must be between 0 and 9,999.");
|
|
63
|
+
}
|
|
64
|
+
const payRoute = {
|
|
65
|
+
kind: "pay",
|
|
66
|
+
settlement: paySettlement,
|
|
67
|
+
...pay,
|
|
68
|
+
};
|
|
69
|
+
if (!directSwapQuote || directSwapQuote <= 0n)
|
|
70
|
+
return payRoute;
|
|
71
|
+
const minimum = (directSwapQuote * (10000n - slippageBps)) / 10000n;
|
|
72
|
+
if (minimum <= pay.beneficiaryTokenCount)
|
|
73
|
+
return payRoute;
|
|
74
|
+
return {
|
|
75
|
+
kind: "direct-swap",
|
|
76
|
+
settlement: "swap",
|
|
77
|
+
quotedTokenCount: directSwapQuote,
|
|
78
|
+
beneficiaryTokenCount: minimum,
|
|
79
|
+
reservedTokenCount: 0n,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
51
82
|
/**
|
|
52
83
|
* Preview the project tokens minted by a payment, via the terminal's
|
|
53
84
|
* `previewPayFor(projectId, token, amount, beneficiary, metadata)`.
|
package/dist/cjs/v6/pay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/v6/revnets.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ type RevDeployArgs4 = Extract<RevDeployArgs, readonly [unknown, unknown, unknown
|
|
|
8
8
|
/**
|
|
9
9
|
* A revnet's full configuration: its token description (name/ticker/uri and
|
|
10
10
|
* the salt that fixes the ERC-20's deterministic address), base currency
|
|
11
|
-
* (
|
|
12
|
-
*
|
|
11
|
+
* (either a token-keyed currency or a well-known `JBCurrencyIds` id such as
|
|
12
|
+
* ETH=1 or USD=2), operator, and stage configurations.
|
|
13
13
|
*/
|
|
14
14
|
export type REVConfig = RevDeployArgs4[1];
|
|
15
15
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Address, Hex } from "viem";
|
|
1
|
+
import type { Address, Hex, PublicClient } from "viem";
|
|
2
2
|
import type { JBChainId } from "../types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Canonical Uniswap V4 PoolManager deployments used by Juicebox v6.
|
|
@@ -10,6 +10,8 @@ export declare const UNISWAP_V4_POOL_MANAGER_ADDRESSES: Readonly<Partial<Record<
|
|
|
10
10
|
export declare const UNISWAP_V4_POSITION_MANAGER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
|
|
11
11
|
/** Canonical V4Quoter deployments; missing chains must fail closed. */
|
|
12
12
|
export declare const UNISWAP_V4_QUOTER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
|
|
13
|
+
/** Canonical Universal Router deployments which support the V4_SWAP command. */
|
|
14
|
+
export declare const UNISWAP_V4_UNIVERSAL_ROUTER_ADDRESSES: Readonly<Partial<Record<JBChainId, Address>>>;
|
|
13
15
|
/** Permit2 is deployed at the same address on supported EVM chains. */
|
|
14
16
|
export declare const UNISWAP_PERMIT2_ADDRESS: Address;
|
|
15
17
|
/** Resolve the supported V4 surface for a chain without guessing addresses. */
|
|
@@ -17,6 +19,7 @@ export declare function uniswapV4Deployment(chainId: number): {
|
|
|
17
19
|
poolManager: Address;
|
|
18
20
|
positionManager: Address | null;
|
|
19
21
|
quoter: Address | null;
|
|
22
|
+
universalRouter: Address | null;
|
|
20
23
|
permit2: Address;
|
|
21
24
|
} | null;
|
|
22
25
|
export declare const UNISWAP_V4_Q96: bigint;
|
|
@@ -29,6 +32,88 @@ export interface UniswapV4PoolKey {
|
|
|
29
32
|
tickSpacing: number;
|
|
30
33
|
hooks: Address;
|
|
31
34
|
}
|
|
35
|
+
declare const UNIVERSAL_ROUTER_ABI: readonly [{
|
|
36
|
+
readonly type: "function";
|
|
37
|
+
readonly name: "execute";
|
|
38
|
+
readonly stateMutability: "payable";
|
|
39
|
+
readonly inputs: readonly [{
|
|
40
|
+
readonly name: "commands";
|
|
41
|
+
readonly type: "bytes";
|
|
42
|
+
}, {
|
|
43
|
+
readonly name: "inputs";
|
|
44
|
+
readonly type: "bytes[]";
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "deadline";
|
|
47
|
+
readonly type: "uint256";
|
|
48
|
+
}];
|
|
49
|
+
readonly outputs: readonly [];
|
|
50
|
+
}];
|
|
51
|
+
declare const PERMIT2_ABI: readonly [{
|
|
52
|
+
readonly type: "function";
|
|
53
|
+
readonly name: "approve";
|
|
54
|
+
readonly stateMutability: "nonpayable";
|
|
55
|
+
readonly inputs: readonly [{
|
|
56
|
+
readonly name: "token";
|
|
57
|
+
readonly type: "address";
|
|
58
|
+
}, {
|
|
59
|
+
readonly name: "spender";
|
|
60
|
+
readonly type: "address";
|
|
61
|
+
}, {
|
|
62
|
+
readonly name: "amount";
|
|
63
|
+
readonly type: "uint160";
|
|
64
|
+
}, {
|
|
65
|
+
readonly name: "expiration";
|
|
66
|
+
readonly type: "uint48";
|
|
67
|
+
}];
|
|
68
|
+
readonly outputs: readonly [];
|
|
69
|
+
}];
|
|
70
|
+
/** Quote an exact-input single-pool swap, including the pool hook's behavior. */
|
|
71
|
+
export declare function quoteUniswapV4ExactInputSingle(client: PublicClient, { chainId, poolKey, zeroForOne, amountIn, hookData, }: {
|
|
72
|
+
chainId: JBChainId;
|
|
73
|
+
poolKey: UniswapV4PoolKey;
|
|
74
|
+
zeroForOne: boolean;
|
|
75
|
+
amountIn: bigint;
|
|
76
|
+
hookData?: Hex;
|
|
77
|
+
}): Promise<bigint>;
|
|
78
|
+
export interface UniswapV4SwapTxRequest {
|
|
79
|
+
chainId: JBChainId;
|
|
80
|
+
address: Address;
|
|
81
|
+
abi: typeof UNIVERSAL_ROUTER_ABI;
|
|
82
|
+
functionName: "execute";
|
|
83
|
+
args: readonly [Hex, readonly Hex[], bigint];
|
|
84
|
+
value: bigint;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Build a Universal Router exact-input V4 swap.
|
|
88
|
+
*
|
|
89
|
+
* ERC-20 input must first approve Permit2, then authorize the Universal Router
|
|
90
|
+
* with {@link buildPermit2ApproveTx}. Native input is supplied as `msg.value`.
|
|
91
|
+
*/
|
|
92
|
+
export declare function buildUniswapV4ExactInputSwapTx({ chainId, poolKey, zeroForOne, amountIn, minimumAmountOut, recipient, deadline, hookData, }: {
|
|
93
|
+
chainId: JBChainId;
|
|
94
|
+
poolKey: UniswapV4PoolKey;
|
|
95
|
+
zeroForOne: boolean;
|
|
96
|
+
amountIn: bigint;
|
|
97
|
+
minimumAmountOut: bigint;
|
|
98
|
+
recipient: Address;
|
|
99
|
+
deadline: bigint;
|
|
100
|
+
hookData?: Hex;
|
|
101
|
+
}): UniswapV4SwapTxRequest;
|
|
102
|
+
export interface Permit2ApproveTxRequest {
|
|
103
|
+
chainId: JBChainId;
|
|
104
|
+
address: Address;
|
|
105
|
+
abi: typeof PERMIT2_ABI;
|
|
106
|
+
functionName: "approve";
|
|
107
|
+
args: readonly [Address, Address, bigint, number];
|
|
108
|
+
value: 0n;
|
|
109
|
+
}
|
|
110
|
+
/** Authorize the Universal Router to spend an ERC-20 already approved to Permit2. */
|
|
111
|
+
export declare function buildPermit2ApproveTx({ chainId, token, amount, expiration, }: {
|
|
112
|
+
chainId: JBChainId;
|
|
113
|
+
token: Address;
|
|
114
|
+
amount?: bigint;
|
|
115
|
+
expiration: number;
|
|
116
|
+
}): Permit2ApproveTxRequest;
|
|
32
117
|
/** `PoolId.unwrap(PoolIdLibrary.toId(key))`. */
|
|
33
118
|
export declare function uniswapV4PoolId(key: UniswapV4PoolKey): Hex;
|
|
34
119
|
/** Storage slot containing the pool's packed slot0 in PoolManager. */
|
|
@@ -79,4 +164,5 @@ export declare function uniswapV4PositionTokenIdFromLog(log: {
|
|
|
79
164
|
}, positionManager: Address): bigint | null;
|
|
80
165
|
/** Whether an address is one of the canonical PoolManager deployments. */
|
|
81
166
|
export declare function isUniswapV4PoolManager(address: string): boolean;
|
|
167
|
+
export {};
|
|
82
168
|
//# sourceMappingURL=uniswapV4.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswapV4.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uniswapV4.d.ts","sourceRoot":"","sources":["../../../src/v6/uniswapV4.ts"],"names":[],"mappings":"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"}
|