@bananapus/nana-sdk-core 1.11.1 → 2.0.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.
- package/dist/cjs/actions/JBSuckerAbi.d.ts +12 -2
- package/dist/cjs/actions/JBSuckerAbi.d.ts.map +1 -1
- package/dist/cjs/actions/JBSuckerAbi.js +12 -2
- package/dist/cjs/actions/JBSuckerAbi.js.map +1 -1
- package/dist/cjs/actions/projectMetadata.d.ts.map +1 -1
- package/dist/cjs/actions/projectMetadata.js +15 -9
- package/dist/cjs/actions/projectMetadata.js.map +1 -1
- package/dist/cjs/actions/suckerPairs.d.ts +26 -0
- package/dist/cjs/actions/suckerPairs.d.ts.map +1 -1
- package/dist/cjs/actions/suckerPairs.js +73 -39
- package/dist/cjs/actions/suckerPairs.js.map +1 -1
- package/dist/cjs/constants.d.ts +17 -7
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +45 -31
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/contracts.d.ts +6 -1
- package/dist/cjs/contracts.d.ts.map +1 -1
- package/dist/cjs/contracts.js +7 -1
- package/dist/cjs/contracts.js.map +1 -1
- package/dist/cjs/generated/juicebox.d.ts +8779 -6436
- package/dist/cjs/generated/juicebox.d.ts.map +1 -1
- package/dist/cjs/generated/juicebox.js +3027 -1244
- package/dist/cjs/generated/juicebox.js.map +1 -1
- package/dist/cjs/types.d.ts +13 -10
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +10 -6
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/bendystraw.d.ts +19 -3
- package/dist/cjs/utils/bendystraw.d.ts.map +1 -1
- package/dist/cjs/utils/bendystraw.js +38 -10
- package/dist/cjs/utils/bendystraw.js.map +1 -1
- package/dist/cjs/utils/errors.d.ts +19 -0
- package/dist/cjs/utils/errors.d.ts.map +1 -0
- package/dist/cjs/utils/errors.js +32 -0
- package/dist/cjs/utils/errors.js.map +1 -0
- package/dist/cjs/utils/fee.d.ts +12 -0
- package/dist/cjs/utils/fee.d.ts.map +1 -1
- package/dist/cjs/utils/fee.js +13 -2
- package/dist/cjs/utils/fee.js.map +1 -1
- package/dist/cjs/utils/hook.d.ts +17 -4
- package/dist/cjs/utils/hook.d.ts.map +1 -1
- package/dist/cjs/utils/hook.js +60 -31
- package/dist/cjs/utils/hook.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ipfs.d.ts +9 -1
- package/dist/cjs/utils/ipfs.d.ts.map +1 -1
- package/dist/cjs/utils/ipfs.js +13 -1
- package/dist/cjs/utils/ipfs.js.map +1 -1
- package/dist/cjs/utils/revnet.d.ts +1 -1
- package/dist/cjs/utils/revnet.d.ts.map +1 -1
- package/dist/cjs/utils/revnet.js +2 -1
- package/dist/cjs/utils/revnet.js.map +1 -1
- package/dist/cjs/utils/ruleset.d.ts +14 -0
- package/dist/cjs/utils/ruleset.d.ts.map +1 -1
- package/dist/cjs/utils/ruleset.js +19 -0
- package/dist/cjs/utils/ruleset.js.map +1 -1
- package/dist/cjs/utils/tx.d.ts +9 -0
- package/dist/cjs/utils/tx.d.ts.map +1 -1
- package/dist/cjs/utils/tx.js +10 -3
- package/dist/cjs/utils/tx.js.map +1 -1
- package/dist/cjs/utils/urn.d.ts +20 -1
- package/dist/cjs/utils/urn.d.ts.map +1 -1
- package/dist/cjs/utils/urn.js +54 -32
- package/dist/cjs/utils/urn.js.map +1 -1
- package/dist/cjs/v6/cashOut.d.ts +40 -6
- package/dist/cjs/v6/cashOut.d.ts.map +1 -1
- package/dist/cjs/v6/cashOut.js +54 -4
- package/dist/cjs/v6/cashOut.js.map +1 -1
- package/dist/cjs/v6/fees.d.ts +11 -8
- package/dist/cjs/v6/fees.d.ts.map +1 -1
- package/dist/cjs/v6/fees.js +12 -9
- package/dist/cjs/v6/fees.js.map +1 -1
- package/dist/cjs/v6/index.d.ts +1 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +1 -0
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/loans.d.ts +13 -4
- package/dist/cjs/v6/loans.d.ts.map +1 -1
- package/dist/cjs/v6/loans.js +14 -5
- package/dist/cjs/v6/loans.js.map +1 -1
- package/dist/cjs/v6/nft.d.ts +11 -7
- package/dist/cjs/v6/nft.d.ts.map +1 -1
- package/dist/cjs/v6/nft.js +26 -11
- package/dist/cjs/v6/nft.js.map +1 -1
- package/dist/cjs/v6/priceFeeds.d.ts +78 -0
- package/dist/cjs/v6/priceFeeds.d.ts.map +1 -0
- package/dist/cjs/v6/priceFeeds.js +109 -0
- package/dist/cjs/v6/priceFeeds.js.map +1 -0
- package/dist/cjs/v6/revnets.d.ts +21 -2
- package/dist/cjs/v6/revnets.d.ts.map +1 -1
- package/dist/cjs/v6/revnets.js +35 -3
- package/dist/cjs/v6/revnets.js.map +1 -1
- package/dist/cjs/v6/suckers.d.ts +11 -0
- package/dist/cjs/v6/suckers.d.ts.map +1 -1
- package/dist/cjs/v6/suckers.js +22 -1
- package/dist/cjs/v6/suckers.js.map +1 -1
- package/dist/cjs/v6/terminals.d.ts +24 -4
- package/dist/cjs/v6/terminals.d.ts.map +1 -1
- package/dist/cjs/v6/terminals.js +13 -2
- package/dist/cjs/v6/terminals.js.map +1 -1
- package/dist/esm/actions/JBSuckerAbi.d.ts +12 -2
- package/dist/esm/actions/JBSuckerAbi.d.ts.map +1 -1
- package/dist/esm/actions/JBSuckerAbi.js +12 -2
- package/dist/esm/actions/JBSuckerAbi.js.map +1 -1
- package/dist/esm/actions/projectMetadata.d.ts.map +1 -1
- package/dist/esm/actions/projectMetadata.js +16 -10
- package/dist/esm/actions/projectMetadata.js.map +1 -1
- package/dist/esm/actions/suckerPairs.d.ts +26 -0
- package/dist/esm/actions/suckerPairs.d.ts.map +1 -1
- package/dist/esm/actions/suckerPairs.js +75 -41
- package/dist/esm/actions/suckerPairs.js.map +1 -1
- package/dist/esm/constants.d.ts +17 -7
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +44 -30
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/contracts.d.ts +6 -1
- package/dist/esm/contracts.d.ts.map +1 -1
- package/dist/esm/contracts.js +6 -0
- package/dist/esm/contracts.js.map +1 -1
- package/dist/esm/generated/juicebox.d.ts +8779 -6436
- package/dist/esm/generated/juicebox.d.ts.map +1 -1
- package/dist/esm/generated/juicebox.js +9644 -7861
- package/dist/esm/generated/juicebox.js.map +1 -1
- package/dist/esm/types.d.ts +13 -10
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +10 -6
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/bendystraw.d.ts +19 -3
- package/dist/esm/utils/bendystraw.d.ts.map +1 -1
- package/dist/esm/utils/bendystraw.js +36 -9
- package/dist/esm/utils/bendystraw.js.map +1 -1
- package/dist/esm/utils/errors.d.ts +19 -0
- package/dist/esm/utils/errors.d.ts.map +1 -0
- package/dist/esm/utils/errors.js +28 -0
- package/dist/esm/utils/errors.js.map +1 -0
- package/dist/esm/utils/fee.d.ts +12 -0
- package/dist/esm/utils/fee.d.ts.map +1 -1
- package/dist/esm/utils/fee.js +13 -2
- package/dist/esm/utils/fee.js.map +1 -1
- package/dist/esm/utils/hook.d.ts +17 -4
- package/dist/esm/utils/hook.d.ts.map +1 -1
- package/dist/esm/utils/hook.js +61 -32
- package/dist/esm/utils/hook.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/ipfs.d.ts +9 -1
- package/dist/esm/utils/ipfs.d.ts.map +1 -1
- package/dist/esm/utils/ipfs.js +13 -1
- package/dist/esm/utils/ipfs.js.map +1 -1
- package/dist/esm/utils/revnet.d.ts +1 -1
- package/dist/esm/utils/revnet.d.ts.map +1 -1
- package/dist/esm/utils/revnet.js +2 -1
- package/dist/esm/utils/revnet.js.map +1 -1
- package/dist/esm/utils/ruleset.d.ts +14 -0
- package/dist/esm/utils/ruleset.d.ts.map +1 -1
- package/dist/esm/utils/ruleset.js +19 -0
- package/dist/esm/utils/ruleset.js.map +1 -1
- package/dist/esm/utils/tx.d.ts +9 -0
- package/dist/esm/utils/tx.d.ts.map +1 -1
- package/dist/esm/utils/tx.js +11 -4
- package/dist/esm/utils/tx.js.map +1 -1
- package/dist/esm/utils/urn.d.ts +20 -1
- package/dist/esm/utils/urn.d.ts.map +1 -1
- package/dist/esm/utils/urn.js +54 -32
- package/dist/esm/utils/urn.js.map +1 -1
- package/dist/esm/v6/cashOut.d.ts +40 -6
- package/dist/esm/v6/cashOut.d.ts.map +1 -1
- package/dist/esm/v6/cashOut.js +54 -4
- package/dist/esm/v6/cashOut.js.map +1 -1
- package/dist/esm/v6/fees.d.ts +11 -8
- package/dist/esm/v6/fees.d.ts.map +1 -1
- package/dist/esm/v6/fees.js +11 -8
- package/dist/esm/v6/fees.js.map +1 -1
- package/dist/esm/v6/index.d.ts +1 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +1 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/loans.d.ts +13 -4
- package/dist/esm/v6/loans.d.ts.map +1 -1
- package/dist/esm/v6/loans.js +13 -4
- package/dist/esm/v6/loans.js.map +1 -1
- package/dist/esm/v6/nft.d.ts +11 -7
- package/dist/esm/v6/nft.d.ts.map +1 -1
- package/dist/esm/v6/nft.js +26 -11
- package/dist/esm/v6/nft.js.map +1 -1
- package/dist/esm/v6/priceFeeds.d.ts +78 -0
- package/dist/esm/v6/priceFeeds.d.ts.map +1 -0
- package/dist/esm/v6/priceFeeds.js +105 -0
- package/dist/esm/v6/priceFeeds.js.map +1 -0
- package/dist/esm/v6/revnets.d.ts +21 -2
- package/dist/esm/v6/revnets.d.ts.map +1 -1
- package/dist/esm/v6/revnets.js +34 -3
- package/dist/esm/v6/revnets.js.map +1 -1
- package/dist/esm/v6/suckers.d.ts +11 -0
- package/dist/esm/v6/suckers.d.ts.map +1 -1
- package/dist/esm/v6/suckers.js +21 -1
- package/dist/esm/v6/suckers.js.map +1 -1
- package/dist/esm/v6/terminals.d.ts +24 -4
- package/dist/esm/v6/terminals.d.ts.map +1 -1
- package/dist/esm/v6/terminals.js +13 -2
- package/dist/esm/v6/terminals.js.map +1 -1
- package/package.json +7 -1
|
@@ -1,11 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The slice of `IJBSucker` that pair resolution reads.
|
|
3
|
+
*
|
|
4
|
+
* `peer()` is declared `bytes32` because that is what v6 returns
|
|
5
|
+
* (`nana-suckers-v6/src/interfaces/IJBSucker.sol` — "as bytes32 for cross-VM
|
|
6
|
+
* compatibility"). V5 declares it `address`, but an ABI-encoded `address` and
|
|
7
|
+
* `bytes32` are byte-identical on the wire for an EVM address, so the same
|
|
8
|
+
* entry decodes both versions; `suckerBytes32ToAddress` unpacks and validates
|
|
9
|
+
* the low 20 bytes for either.
|
|
10
|
+
*/
|
|
1
11
|
export declare const JBSuckerAbi: readonly [{
|
|
2
12
|
readonly type: "function";
|
|
3
13
|
readonly name: "peer";
|
|
4
14
|
readonly inputs: readonly [];
|
|
5
15
|
readonly outputs: readonly [{
|
|
6
16
|
readonly name: "";
|
|
7
|
-
readonly type: "
|
|
8
|
-
readonly internalType: "
|
|
17
|
+
readonly type: "bytes32";
|
|
18
|
+
readonly internalType: "bytes32";
|
|
9
19
|
}];
|
|
10
20
|
readonly stateMutability: "view";
|
|
11
21
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JBSuckerAbi.d.ts","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCd,CAAC"}
|
|
1
|
+
{"version":3,"file":"JBSuckerAbi.d.ts","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCd,CAAC"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JBSuckerAbi = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The slice of `IJBSucker` that pair resolution reads.
|
|
6
|
+
*
|
|
7
|
+
* `peer()` is declared `bytes32` because that is what v6 returns
|
|
8
|
+
* (`nana-suckers-v6/src/interfaces/IJBSucker.sol` — "as bytes32 for cross-VM
|
|
9
|
+
* compatibility"). V5 declares it `address`, but an ABI-encoded `address` and
|
|
10
|
+
* `bytes32` are byte-identical on the wire for an EVM address, so the same
|
|
11
|
+
* entry decodes both versions; `suckerBytes32ToAddress` unpacks and validates
|
|
12
|
+
* the low 20 bytes for either.
|
|
13
|
+
*/
|
|
4
14
|
exports.JBSuckerAbi = [
|
|
5
15
|
{
|
|
6
16
|
type: "function",
|
|
@@ -9,8 +19,8 @@ exports.JBSuckerAbi = [
|
|
|
9
19
|
outputs: [
|
|
10
20
|
{
|
|
11
21
|
name: "",
|
|
12
|
-
type: "
|
|
13
|
-
internalType: "
|
|
22
|
+
type: "bytes32",
|
|
23
|
+
internalType: "bytes32",
|
|
14
24
|
},
|
|
15
25
|
],
|
|
16
26
|
stateMutability: "view",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JBSuckerAbi.js","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"JBSuckerAbi.js","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,WAAW,GAAG;IACzB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;CACO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectMetadata.d.ts","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,YAAY,EAIb,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"projectMetadata.d.ts","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,YAAY,EAIb,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAoChD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,YAAY,EAC1B,MAAM;IACJ,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,OAAO;IACL,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,KACA,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAavC,CAAC"}
|
|
@@ -5,9 +5,13 @@ const viem_1 = require("viem");
|
|
|
5
5
|
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
6
6
|
const ipfs_js_1 = require("../utils/ipfs.js");
|
|
7
7
|
/**
|
|
8
|
-
* Fetch the onchain metadata
|
|
8
|
+
* Fetch the onchain metadata URI for the given project via the given
|
|
9
|
+
* JBController contract, and resolve it to a validated IPFS asset path
|
|
10
|
+
* (`<cid>[/path]`). `ipfs://` URIs, HTTP gateway URLs, and bare CIDs are all
|
|
11
|
+
* recognized; anything else (including path-less garbage such as a plain file
|
|
12
|
+
* name) resolves to `undefined` rather than a bogus gateway fetch.
|
|
9
13
|
*/
|
|
10
|
-
const
|
|
14
|
+
const getMetadataAssetPath = async (publicClient, args) => {
|
|
11
15
|
if ((0, viem_1.isAddressEqual)(args.jbControllerAddress, viem_1.zeroAddress)) {
|
|
12
16
|
return;
|
|
13
17
|
}
|
|
@@ -16,10 +20,10 @@ const getMetadataCid = async (publicClient, args) => {
|
|
|
16
20
|
abi: juicebox_js_1.jbControllerAbi,
|
|
17
21
|
client: publicClient,
|
|
18
22
|
});
|
|
19
|
-
// ipfs
|
|
20
|
-
const metadataUri = await JBController.read.uriOf([args.projectId]);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
// ipfs://<cid>[/path], an HTTP gateway URL, or a bare CID.
|
|
24
|
+
const metadataUri = (await JBController.read.uriOf([args.projectId])).trim();
|
|
25
|
+
return ((0, ipfs_js_1.ipfsAssetPath)(metadataUri) ??
|
|
26
|
+
((0, ipfs_js_1.isIpfsCid)(metadataUri) ? metadataUri : undefined));
|
|
23
27
|
};
|
|
24
28
|
/**
|
|
25
29
|
* Fetch the project metadata for the given [projectId]
|
|
@@ -29,11 +33,13 @@ const getMetadataCid = async (publicClient, args) => {
|
|
|
29
33
|
*
|
|
30
34
|
*/
|
|
31
35
|
const getProjectMetadata = async (publicClient, args, opts) => {
|
|
32
|
-
const
|
|
33
|
-
|
|
36
|
+
const metadataAssetPath = await getMetadataAssetPath(publicClient, args);
|
|
37
|
+
const ipfsUrl = metadataAssetPath
|
|
38
|
+
? (0, ipfs_js_1.ipfsGatewayUrl)(metadataAssetPath, opts?.ipfsGatewayHostname)
|
|
39
|
+
: null;
|
|
40
|
+
if (!ipfsUrl) {
|
|
34
41
|
return;
|
|
35
42
|
}
|
|
36
|
-
const ipfsUrl = (0, ipfs_js_1.ipfsGatewayUrl)(metadataCid, opts?.ipfsGatewayHostname);
|
|
37
43
|
const res = (await fetch(ipfsUrl).then((res) => res.json()));
|
|
38
44
|
return res;
|
|
39
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":";;;AAAA,+BAMc;AACd,0DAA2D;AAE3D,
|
|
1
|
+
{"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":";;;AAAA,+BAMc;AACd,0DAA2D;AAE3D,8CAA4E;AAE5E;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,KAAK,EAChC,YAA0B,EAC1B,IAGC,EACD,EAAE;IACF,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAW,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,kBAAW,EAAC;QAC/B,OAAO,EAAE,IAAI,CAAC,mBAAmB;QACjC,GAAG,EAAE,6BAAe;QACpB,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IAEH,2DAA2D;IAC3D,MAAM,WAAW,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE7E,OAAO,CACL,IAAA,uBAAa,EAAC,WAAW,CAAC;QAC1B,CAAC,IAAA,mBAAS,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACrC,YAA0B,EAC1B,IAGC,EACD,IAEC,EACuC,EAAE;IAC1C,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,iBAAiB;QAC/B,CAAC,CAAC,IAAA,wBAAc,EAAC,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAE9C,CAAC;IAEd,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAtBW,QAAA,kBAAkB,sBAsB7B"}
|
|
@@ -4,12 +4,38 @@ export type SuckerPair = {
|
|
|
4
4
|
peerChainId: JBChainId;
|
|
5
5
|
projectId: bigint;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* Read a project's directly-paired suckers from the JBSuckerRegistry on `chainId`.
|
|
9
|
+
*
|
|
10
|
+
* The peer project id is read from the remote sucker the registry names, NOT
|
|
11
|
+
* from whatever address the remote sucker's own `peer()` points back at: the
|
|
12
|
+
* two coincide only for the deterministic same-address deployments, and
|
|
13
|
+
* `JBSucker` explicitly supports an overridden peer address. `peer()` is still
|
|
14
|
+
* read, as a symmetry check that the remote sucker is paired back to this
|
|
15
|
+
* project's local sucker, so a stale or misconfigured registry entry fails
|
|
16
|
+
* closed instead of yielding another project's id.
|
|
17
|
+
*
|
|
18
|
+
* Rejects rather than dropping a pair — a silently short group is
|
|
19
|
+
* indistinguishable from a project with fewer chains.
|
|
20
|
+
*/
|
|
7
21
|
export declare function getSuckerPairs({ config, chainId, projectId, version, }: {
|
|
8
22
|
config: ReturnType<typeof useConfig>;
|
|
9
23
|
chainId: JBChainId;
|
|
10
24
|
projectId: bigint;
|
|
11
25
|
version: JBVersion;
|
|
12
26
|
}): Promise<SuckerPair[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve the full sucker group for a project: the local `(chainId, projectId)`
|
|
29
|
+
* itself, its direct peers, and the peers those peers name (one hop of gossip).
|
|
30
|
+
*
|
|
31
|
+
* The local entry is always first, so callers never have to guess whether a
|
|
32
|
+
* given result includes the chain they asked about. Entries are deduped by the
|
|
33
|
+
* whole `(chainId, projectId)` pair — two chains in a group can hold different
|
|
34
|
+
* project ids, and a chain id alone is not an identity.
|
|
35
|
+
*
|
|
36
|
+
* Any registry or sucker read failure rejects. A partially-resolved group would
|
|
37
|
+
* under-count supply, surplus, and balances without any signal to the caller.
|
|
38
|
+
*/
|
|
13
39
|
export declare function resolveSuckers({ config, chainId, projectId, version, }: {
|
|
14
40
|
config: ReturnType<typeof useConfig>;
|
|
15
41
|
chainId: JBChainId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suckerPairs.d.ts","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"suckerPairs.d.ts","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE;IACD,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;IACrC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAiExB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE;IACD,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;IACrC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAgCxB"}
|
|
@@ -7,69 +7,103 @@ const juicebox_js_1 = require("../generated/juicebox.js");
|
|
|
7
7
|
const JBSuckerAbi_js_1 = require("./JBSuckerAbi.js");
|
|
8
8
|
const types_js_1 = require("../types.js");
|
|
9
9
|
const contracts_js_1 = require("../utils/contracts.js");
|
|
10
|
+
const suckers_js_1 = require("../v6/suckers.js");
|
|
11
|
+
/**
|
|
12
|
+
* Read a project's directly-paired suckers from the JBSuckerRegistry on `chainId`.
|
|
13
|
+
*
|
|
14
|
+
* The peer project id is read from the remote sucker the registry names, NOT
|
|
15
|
+
* from whatever address the remote sucker's own `peer()` points back at: the
|
|
16
|
+
* two coincide only for the deterministic same-address deployments, and
|
|
17
|
+
* `JBSucker` explicitly supports an overridden peer address. `peer()` is still
|
|
18
|
+
* read, as a symmetry check that the remote sucker is paired back to this
|
|
19
|
+
* project's local sucker, so a stale or misconfigured registry entry fails
|
|
20
|
+
* closed instead of yielding another project's id.
|
|
21
|
+
*
|
|
22
|
+
* Rejects rather than dropping a pair — a silently short group is
|
|
23
|
+
* indistinguishable from a project with fewer chains.
|
|
24
|
+
*/
|
|
10
25
|
async function getSuckerPairs({ config, chainId, projectId, version, }) {
|
|
11
26
|
const jbSuckerRegistry = (0, contracts_js_1.getJBContractAddress)(types_js_1.JBSuckerContracts.JBSuckerRegistry, version, chainId);
|
|
12
27
|
const client = config.getClient({ chainId: Number(chainId) });
|
|
13
28
|
// v6 identifies remote suckers as bytes32 (for cross-VM compatibility); for EVM peers
|
|
14
|
-
// the address is in the low 20 bytes.
|
|
29
|
+
// the address is in the low 20 bytes, which `suckerBytes32ToAddress` validates.
|
|
15
30
|
const suckers = version === 6
|
|
16
31
|
? (await (0, viem_1.getContract)({
|
|
17
32
|
address: jbSuckerRegistry,
|
|
18
33
|
abi: juicebox_js_1.jbSuckerRegistryAbi,
|
|
19
34
|
client,
|
|
20
|
-
}).read.suckerPairsOf([projectId])).map((sucker) => ({
|
|
21
|
-
|
|
35
|
+
}).read.suckerPairsOf([projectId])).map((sucker) => ({
|
|
36
|
+
local: sucker.local,
|
|
37
|
+
remote: (0, suckers_js_1.suckerBytes32ToAddress)(sucker.remote),
|
|
38
|
+
remoteChainId: sucker.remoteChainId,
|
|
39
|
+
}))
|
|
40
|
+
: (await (0, viem_1.getContract)({
|
|
22
41
|
address: jbSuckerRegistry,
|
|
23
42
|
abi: juicebox_js_1.jbSuckerRegistryV5Abi,
|
|
24
43
|
client,
|
|
25
|
-
}).read.suckerPairsOf([projectId])
|
|
26
|
-
|
|
27
|
-
|
|
44
|
+
}).read.suckerPairsOf([projectId])).map((sucker) => ({
|
|
45
|
+
local: sucker.local,
|
|
46
|
+
remote: sucker.remote,
|
|
47
|
+
remoteChainId: sucker.remoteChainId,
|
|
48
|
+
}));
|
|
49
|
+
return Promise.all(suckers.map(async (sucker) => {
|
|
50
|
+
const remoteClient = config.getClient({
|
|
28
51
|
chainId: Number(sucker.remoteChainId),
|
|
29
52
|
});
|
|
30
|
-
const
|
|
53
|
+
const remoteSucker = (0, viem_1.getContract)({
|
|
31
54
|
address: sucker.remote,
|
|
32
55
|
abi: JBSuckerAbi_js_1.JBSuckerAbi,
|
|
33
|
-
client,
|
|
56
|
+
client: remoteClient,
|
|
34
57
|
});
|
|
35
|
-
const peer =
|
|
36
|
-
|
|
37
|
-
|
|
58
|
+
const [peer, peerProjectId] = await Promise.all([
|
|
59
|
+
remoteSucker.read.peer(),
|
|
60
|
+
remoteSucker.read.projectId(),
|
|
61
|
+
]);
|
|
62
|
+
if (!(0, viem_1.isAddressEqual)((0, suckers_js_1.suckerBytes32ToAddress)(peer), sucker.local)) {
|
|
63
|
+
throw new Error(`The sucker at ${sucker.remote} on chain ${sucker.remoteChainId} is not paired back to ${sucker.local}.`);
|
|
38
64
|
}
|
|
39
|
-
const peerContract = (0, viem_1.getContract)({
|
|
40
|
-
address: peer,
|
|
41
|
-
abi: JBSuckerAbi_js_1.JBSuckerAbi,
|
|
42
|
-
client,
|
|
43
|
-
});
|
|
44
|
-
const projectId = await peerContract.read.projectId();
|
|
45
65
|
return {
|
|
46
66
|
peerChainId: Number(sucker.remoteChainId),
|
|
47
|
-
projectId,
|
|
67
|
+
projectId: peerProjectId,
|
|
48
68
|
};
|
|
49
69
|
}));
|
|
50
|
-
return suckerPairs.filter((x) => x);
|
|
51
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Resolve the full sucker group for a project: the local `(chainId, projectId)`
|
|
73
|
+
* itself, its direct peers, and the peers those peers name (one hop of gossip).
|
|
74
|
+
*
|
|
75
|
+
* The local entry is always first, so callers never have to guess whether a
|
|
76
|
+
* given result includes the chain they asked about. Entries are deduped by the
|
|
77
|
+
* whole `(chainId, projectId)` pair — two chains in a group can hold different
|
|
78
|
+
* project ids, and a chain id alone is not an identity.
|
|
79
|
+
*
|
|
80
|
+
* Any registry or sucker read failure rejects. A partially-resolved group would
|
|
81
|
+
* under-count supply, surplus, and balances without any signal to the caller.
|
|
82
|
+
*/
|
|
52
83
|
async function resolveSuckers({ config, chainId, projectId, version, }) {
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
84
|
+
const pairs = [{ peerChainId: chainId, projectId }];
|
|
85
|
+
const seen = new Set([`${chainId}:${projectId}`]);
|
|
86
|
+
const add = (pair) => {
|
|
87
|
+
const key = `${pair.peerChainId}:${pair.projectId}`;
|
|
88
|
+
if (seen.has(key))
|
|
89
|
+
return;
|
|
90
|
+
seen.add(key);
|
|
91
|
+
pairs.push(pair);
|
|
92
|
+
};
|
|
93
|
+
const directPairs = await getSuckerPairs({
|
|
94
|
+
config,
|
|
95
|
+
chainId,
|
|
96
|
+
projectId,
|
|
97
|
+
version,
|
|
98
|
+
});
|
|
99
|
+
directPairs.forEach(add);
|
|
100
|
+
const transitivePairs = await Promise.all(directPairs.map((pair) => getSuckerPairs({
|
|
101
|
+
config,
|
|
102
|
+
chainId: pair.peerChainId,
|
|
103
|
+
projectId: pair.projectId,
|
|
104
|
+
version,
|
|
105
|
+
})));
|
|
106
|
+
transitivePairs.flat().forEach(add);
|
|
73
107
|
return pairs;
|
|
74
108
|
}
|
|
75
109
|
//# sourceMappingURL=suckerPairs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suckerPairs.js","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"suckerPairs.js","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/constants.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Address, Chain
|
|
1
|
+
import { Address, Chain } from "viem";
|
|
2
2
|
import { JBChainId, JBVersion } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Representation of one ether.
|
|
@@ -8,10 +8,6 @@ export declare const ONE_ETHER: bigint;
|
|
|
8
8
|
* Default value for `memo` arguments in Juicebox transactions.
|
|
9
9
|
*/
|
|
10
10
|
export declare const DEFAULT_MEMO = "";
|
|
11
|
-
/**
|
|
12
|
-
* Default value for `metadata` arguments in Juicebox transactions.
|
|
13
|
-
*/
|
|
14
|
-
export declare const DEFAULT_METADATA: Hash;
|
|
15
11
|
export declare const DEFAULT_MIN_RETURNED_TOKENS = 0n;
|
|
16
12
|
export declare const DEFAULT_ALLOW_OVERSPENDING = true;
|
|
17
13
|
/**
|
|
@@ -33,9 +29,17 @@ export declare const MAX_CASH_OUT_TAX_RATE = 10000;
|
|
|
33
29
|
*/
|
|
34
30
|
export declare const MAX_WEIGHT_CUT_PERCENT = 1000000000;
|
|
35
31
|
/**
|
|
36
|
-
*
|
|
32
|
+
* The per-billion (1e9) denominator used by the legacy fixed-point fee helpers.
|
|
33
|
+
*
|
|
34
|
+
* NOT `JBConstants.MAX_FEE`, which is `1000` in v4, v5 and v6 alike — the
|
|
35
|
+
* protocol fee is `STANDARD_FEE / MAX_FEE` = `25 / 1000`. For the contract
|
|
36
|
+
* denominator use `MAX_FEE` from `@bananapus/nana-sdk-core/v6`, and for the
|
|
37
|
+
* per-billion rate use `TERMINAL_FEE_PER_BILLION` from the same entry point.
|
|
38
|
+
*
|
|
39
|
+
* @deprecated Use `MAX_FEE` / `TERMINAL_FEE_PER_BILLION` from
|
|
40
|
+
* `@bananapus/nana-sdk-core/v6`.
|
|
37
41
|
*/
|
|
38
|
-
export declare const
|
|
42
|
+
export declare const MAX_FEE_PER_BILLION = 1000000000;
|
|
39
43
|
/**
|
|
40
44
|
* @link JBConstants.sol
|
|
41
45
|
*/
|
|
@@ -89,6 +93,12 @@ export declare const USD_CURRENCY_ID: (version: JBVersion) => 2 | 3;
|
|
|
89
93
|
export declare const NATIVE_TOKEN_DECIMALS: 18;
|
|
90
94
|
/**
|
|
91
95
|
* The fee percentage taken by Juicebox DAO on cashing out Tokens.
|
|
96
|
+
*
|
|
97
|
+
* @deprecated Use `cashOutProtocolFee` from `@bananapus/nana-sdk-core/v6/cash-out`.
|
|
98
|
+
* The contract fee is `reclaimAmount / 40` (floor division, NOT a float
|
|
99
|
+
* multiply), it is skipped for feeless beneficiaries, and zero-tax cash outs
|
|
100
|
+
* pay it only on `min(reclaimAmount, feeFreeSurplusOf)`. A float percentage
|
|
101
|
+
* cannot express any of that.
|
|
92
102
|
*/
|
|
93
103
|
export declare const JBDAO_CASHOUT_FEE_PERCENT = 0.025;
|
|
94
104
|
type JBChainMetadata<ChainId extends JBChainId = JBChainId> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAA0B,MAAM,MAAM,CAAC;AAgB9D,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,SAAS,QAAkB,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,aAAgB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,aAAgB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAAgB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,QAE5B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,aAAgB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAG,EAAW,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,YAAY,QAAqC,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,OACmB,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,SAAS,UAA4B,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAG,EAAW,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAE/C,KAAK,eAAe,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,IAAI;IAC5D,KAAK,EAAE,KAAK,GAAG;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AA2BF,eAAO,MAAM,SAAS,EAAE;KACrB,OAAO,IAAI,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC;CA0CjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,+FAM1B,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD,KAAK,iBAAiB,GAAG;KACtB,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE;SAChB,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO;KAC3B;CACF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAsHzE,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAEzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CASrD,CAAC"}
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.USDC_ADDRESSES = exports.NATIVE_SUCKER_DEPLOYER_ADDRESSES = exports.CCIP_SUCKER_DEPLOYER_ADDRESSES = exports.DEFAULT_NATIVE_TOKEN_SYMBOL = exports.JB_CHAIN_SLUGS = exports.JB_CHAINS = exports.JBDAO_CASHOUT_FEE_PERCENT = exports.NATIVE_TOKEN_DECIMALS = exports.USD_CURRENCY_ID = exports.ETH_CURRENCY_ID = exports.NATIVE_TOKEN = exports.ONE_JB_TOKEN = exports.JB_TOKEN_DECIMALS = exports.SPLITS_TOTAL_PERCENT = exports.MAX_PAYOUT_LIMIT = exports.MAX_FEE_DISCOUNT = exports.
|
|
3
|
+
exports.USDC_ADDRESSES = exports.NATIVE_SUCKER_DEPLOYER_ADDRESSES = exports.CCIP_SUCKER_DEPLOYER_ADDRESSES = exports.DEFAULT_NATIVE_TOKEN_SYMBOL = exports.JB_CHAIN_SLUGS = exports.JB_CHAINS = exports.JBDAO_CASHOUT_FEE_PERCENT = exports.NATIVE_TOKEN_DECIMALS = exports.USD_CURRENCY_ID = exports.ETH_CURRENCY_ID = exports.NATIVE_TOKEN = exports.ONE_JB_TOKEN = exports.JB_TOKEN_DECIMALS = exports.SPLITS_TOTAL_PERCENT = exports.MAX_PAYOUT_LIMIT = exports.MAX_FEE_DISCOUNT = exports.MAX_FEE_PER_BILLION = exports.MAX_WEIGHT_CUT_PERCENT = exports.MAX_CASH_OUT_TAX_RATE = exports.MAX_RESERVED_PERCENT = exports.DEFAULT_ALLOW_OVERSPENDING = exports.DEFAULT_MIN_RETURNED_TOKENS = exports.DEFAULT_MEMO = exports.ONE_ETHER = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
5
|
const chains_js_1 = require("./chains.js");
|
|
6
6
|
const juicebox_js_1 = require("./generated/juicebox.js");
|
|
@@ -13,10 +13,6 @@ exports.ONE_ETHER = (0, viem_1.parseEther)("1");
|
|
|
13
13
|
* Default value for `memo` arguments in Juicebox transactions.
|
|
14
14
|
*/
|
|
15
15
|
exports.DEFAULT_MEMO = "";
|
|
16
|
-
/**
|
|
17
|
-
* Default value for `metadata` arguments in Juicebox transactions.
|
|
18
|
-
*/
|
|
19
|
-
exports.DEFAULT_METADATA = "0x0";
|
|
20
16
|
exports.DEFAULT_MIN_RETURNED_TOKENS = 0n;
|
|
21
17
|
exports.DEFAULT_ALLOW_OVERSPENDING = true;
|
|
22
18
|
/**
|
|
@@ -38,9 +34,17 @@ exports.MAX_CASH_OUT_TAX_RATE = 10_000;
|
|
|
38
34
|
*/
|
|
39
35
|
exports.MAX_WEIGHT_CUT_PERCENT = 1_000_000_000;
|
|
40
36
|
/**
|
|
41
|
-
*
|
|
37
|
+
* The per-billion (1e9) denominator used by the legacy fixed-point fee helpers.
|
|
38
|
+
*
|
|
39
|
+
* NOT `JBConstants.MAX_FEE`, which is `1000` in v4, v5 and v6 alike — the
|
|
40
|
+
* protocol fee is `STANDARD_FEE / MAX_FEE` = `25 / 1000`. For the contract
|
|
41
|
+
* denominator use `MAX_FEE` from `@bananapus/nana-sdk-core/v6`, and for the
|
|
42
|
+
* per-billion rate use `TERMINAL_FEE_PER_BILLION` from the same entry point.
|
|
43
|
+
*
|
|
44
|
+
* @deprecated Use `MAX_FEE` / `TERMINAL_FEE_PER_BILLION` from
|
|
45
|
+
* `@bananapus/nana-sdk-core/v6`.
|
|
42
46
|
*/
|
|
43
|
-
exports.
|
|
47
|
+
exports.MAX_FEE_PER_BILLION = 1_000_000_000;
|
|
44
48
|
/**
|
|
45
49
|
* @link JBConstants.sol
|
|
46
50
|
*/
|
|
@@ -96,64 +100,74 @@ exports.USD_CURRENCY_ID = USD_CURRENCY_ID;
|
|
|
96
100
|
exports.NATIVE_TOKEN_DECIMALS = 18;
|
|
97
101
|
/**
|
|
98
102
|
* The fee percentage taken by Juicebox DAO on cashing out Tokens.
|
|
103
|
+
*
|
|
104
|
+
* @deprecated Use `cashOutProtocolFee` from `@bananapus/nana-sdk-core/v6/cash-out`.
|
|
105
|
+
* The contract fee is `reclaimAmount / 40` (floor division, NOT a float
|
|
106
|
+
* multiply), it is skipped for feeless beneficiaries, and zero-tax cash outs
|
|
107
|
+
* pay it only on `min(reclaimAmount, feeFreeSurplusOf)`. A float percentage
|
|
108
|
+
* cannot express any of that.
|
|
99
109
|
*/
|
|
100
110
|
exports.JBDAO_CASHOUT_FEE_PERCENT = 0.025;
|
|
111
|
+
/**
|
|
112
|
+
* A chain's block-explorer hostname, derived from the chain definition's own
|
|
113
|
+
* `blockExplorers` entry so it can never diverge from the explorer URL the
|
|
114
|
+
* chain object carries (a hand-maintained copy once shipped the DNS-dead
|
|
115
|
+
* `optimism.etherscan.io` while the chain definition had the correct
|
|
116
|
+
* `optimistic.etherscan.io`).
|
|
117
|
+
*/
|
|
118
|
+
const explorerHostname = (chain) => new URL(chain.blockExplorers.default.url).hostname;
|
|
119
|
+
/**
|
|
120
|
+
* The chain-agnostic half of a `JB_CHAINS` entry: everything derivable from the
|
|
121
|
+
* chain definition itself. `name` is the chain object's own `name`, so the
|
|
122
|
+
* display string can never drift from what wallets and `chains.ts` report (a
|
|
123
|
+
* hand-maintained copy once read "Optimism"/"Arbitrum" while the definitions
|
|
124
|
+
* said "OP Mainnet"/"Arbitrum One").
|
|
125
|
+
*/
|
|
126
|
+
const derivedChainMetadata = (chain) => ({
|
|
127
|
+
chain,
|
|
128
|
+
name: chain.name,
|
|
129
|
+
etherscanHostname: explorerHostname(chain),
|
|
130
|
+
});
|
|
101
131
|
exports.JB_CHAINS = {
|
|
102
132
|
[chains_js_1.sepolia.id]: {
|
|
103
|
-
|
|
104
|
-
name: "Sepolia",
|
|
133
|
+
...derivedChainMetadata(chains_js_1.sepolia),
|
|
105
134
|
slug: "sep",
|
|
106
135
|
nativeTokenSymbol: "SepETH",
|
|
107
|
-
etherscanHostname: "sepolia.etherscan.io",
|
|
108
136
|
},
|
|
109
137
|
[chains_js_1.optimismSepolia.id]: {
|
|
110
|
-
|
|
111
|
-
name: "Optimism Sepolia",
|
|
138
|
+
...derivedChainMetadata(chains_js_1.optimismSepolia),
|
|
112
139
|
slug: "opsep",
|
|
113
140
|
nativeTokenSymbol: "OPSepETH",
|
|
114
|
-
etherscanHostname: "sepolia-optimism.etherscan.io",
|
|
115
141
|
},
|
|
116
142
|
[chains_js_1.baseSepolia.id]: {
|
|
117
|
-
|
|
118
|
-
name: "Base Sepolia",
|
|
143
|
+
...derivedChainMetadata(chains_js_1.baseSepolia),
|
|
119
144
|
slug: "basesep",
|
|
120
145
|
nativeTokenSymbol: "BaseSepETH",
|
|
121
|
-
etherscanHostname: "sepolia.basescan.org",
|
|
122
146
|
},
|
|
123
147
|
[chains_js_1.arbitrumSepolia.id]: {
|
|
124
|
-
|
|
125
|
-
name: "Arbitrum Sepolia",
|
|
148
|
+
...derivedChainMetadata(chains_js_1.arbitrumSepolia),
|
|
126
149
|
slug: "arbsep",
|
|
127
150
|
nativeTokenSymbol: "ArbSepETH",
|
|
128
|
-
etherscanHostname: "sepolia.arbiscan.io",
|
|
129
151
|
},
|
|
130
152
|
[chains_js_1.mainnet.id]: {
|
|
131
|
-
|
|
132
|
-
name: "Ethereum",
|
|
153
|
+
...derivedChainMetadata(chains_js_1.mainnet),
|
|
133
154
|
slug: "eth",
|
|
134
155
|
nativeTokenSymbol: "ETH",
|
|
135
|
-
etherscanHostname: "etherscan.io",
|
|
136
156
|
},
|
|
137
157
|
[chains_js_1.optimism.id]: {
|
|
138
|
-
|
|
139
|
-
name: "Optimism",
|
|
158
|
+
...derivedChainMetadata(chains_js_1.optimism),
|
|
140
159
|
slug: "op",
|
|
141
160
|
nativeTokenSymbol: "ETH",
|
|
142
|
-
etherscanHostname: "optimism.etherscan.io",
|
|
143
161
|
},
|
|
144
162
|
[chains_js_1.base.id]: {
|
|
145
|
-
|
|
146
|
-
name: "Base",
|
|
163
|
+
...derivedChainMetadata(chains_js_1.base),
|
|
147
164
|
slug: "base",
|
|
148
165
|
nativeTokenSymbol: "ETH",
|
|
149
|
-
etherscanHostname: "basescan.org",
|
|
150
166
|
},
|
|
151
167
|
[chains_js_1.arbitrum.id]: {
|
|
152
|
-
|
|
153
|
-
name: "Arbitrum",
|
|
168
|
+
...derivedChainMetadata(chains_js_1.arbitrum),
|
|
154
169
|
slug: "arb",
|
|
155
170
|
nativeTokenSymbol: "ETH",
|
|
156
|
-
etherscanHostname: "arbiscan.io",
|
|
157
171
|
},
|
|
158
172
|
};
|
|
159
173
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAA,+BAA8D;AAC9D,2CASqB;AACrB,yDAIiC;AACjC,yCAAqE;AAErE;;GAEG;AACU,QAAA,SAAS,GAAG,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC;AAEzC;;GAEG;AACU,QAAA,YAAY,GAAG,EAAE,CAAC;AAElB,QAAA,2BAA2B,GAAG,EAAE,CAAC;AACjC,QAAA,0BAA0B,GAAG,IAAI,CAAC;AAE/C;;;;GAIG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC;AAE3C;;;;GAIG;AACU,QAAA,qBAAqB,GAAG,MAAM,CAAC;AAE5C;;;;GAIG;AACU,QAAA,sBAAsB,GAAG,aAAa,CAAC;AAEpD;;;;;;;;;;GAUG;AACU,QAAA,mBAAmB,GAAG,aAAa,CAAC;AAEjD;;GAEG;AACU,QAAA,gBAAgB,GAAG,aAAa,CAAC;AAE9C,sCAAsC;AACzB,QAAA,gBAAgB,GAAG,MAAM,CACpC,sEAAsE,CACvE,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,oBAAoB,GAAG,aAAa,CAAC;AAElD;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAAG,EAAW,CAAC;AAE7C;;GAEG;AACU,QAAA,YAAY,GAAG,IAAA,iBAAU,EAAC,GAAG,EAAE,yBAAiB,CAAC,CAAC;AAE/D;;;;;GAKG;AACU,QAAA,YAAY,GACvB,4CAA4C,CAAC;AAE/C;;;;GAIG;AACU,QAAA,eAAe,GAAG,CAAC,CAAC;AACjC;;;;GAIG;AACI,MAAM,eAAe,GAAG,CAAC,OAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAAlE,QAAA,eAAe,mBAAmD;AAE/E;;;;GAIG;AACU,QAAA,qBAAqB,GAAG,EAAW,CAAC;AAEjD;;;;;;;;GAQG;AACU,QAAA,yBAAyB,GAAG,KAAK,CAAC;AAU/C;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAU,EAAE,CAChD,IAAI,GAAG,CAAC,KAAK,CAAC,cAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,CAC3B,KAA8B,EAC9B,EAAE,CAAC,CAAC;IACJ,KAAK;IACL,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,iBAAiB,EAAE,gBAAgB,CAAC,KAAK,CAAC;CAC3C,CAAC,CAAC;AAEU,QAAA,SAAS,GAElB;IACF,CAAC,mBAAO,CAAC,EAAE,CAAC,EAAE;QACZ,GAAG,oBAAoB,CAAC,mBAAO,CAAC;QAChC,IAAI,EAAE,KAAK;QACX,iBAAiB,EAAE,QAAQ;KAC5B;IACD,CAAC,2BAAe,CAAC,EAAE,CAAC,EAAE;QACpB,GAAG,oBAAoB,CAAC,2BAAe,CAAC;QACxC,IAAI,EAAE,OAAO;QACb,iBAAiB,EAAE,UAAU;KAC9B;IACD,CAAC,uBAAW,CAAC,EAAE,CAAC,EAAE;QAChB,GAAG,oBAAoB,CAAC,uBAAW,CAAC;QACpC,IAAI,EAAE,SAAS;QACf,iBAAiB,EAAE,YAAY;KAChC;IACD,CAAC,2BAAe,CAAC,EAAE,CAAC,EAAE;QACpB,GAAG,oBAAoB,CAAC,2BAAe,CAAC;QACxC,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,WAAW;KAC/B;IACD,CAAC,mBAAO,CAAC,EAAE,CAAC,EAAE;QACZ,GAAG,oBAAoB,CAAC,mBAAO,CAAC;QAChC,IAAI,EAAE,KAAK;QACX,iBAAiB,EAAE,KAAK;KACzB;IACD,CAAC,oBAAQ,CAAC,EAAE,CAAC,EAAE;QACb,GAAG,oBAAoB,CAAC,oBAAQ,CAAC;QACjC,IAAI,EAAE,IAAI;QACV,iBAAiB,EAAE,KAAK;KACzB;IACD,CAAC,gBAAI,CAAC,EAAE,CAAC,EAAE;QACT,GAAG,oBAAoB,CAAC,gBAAI,CAAC;QAC7B,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,KAAK;KACzB;IACD,CAAC,oBAAQ,CAAC,EAAE,CAAC,EAAE;QACb,GAAG,oBAAoB,CAAC,oBAAQ,CAAC;QACjC,IAAI,EAAE,KAAK;QACX,iBAAiB,EAAE,KAAK;KACzB;CACF,CAAC;AAEF;;;GAGG;AACU,QAAA,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAC,MAAM,CAC3D,CAAC,KAAsC,EAAE,aAAa,EAAE,EAAE;IACxD,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC,EACD,EAAE,CACH,CAAC;AAEW,QAAA,2BAA2B,GAAG,KAAK,CAAC;AAQjD;;;;;;GAMG;AACU,QAAA,8BAA8B,GACzC;IACE,CAAC,EAAE,yCAA2B,CAAC,CAAC,CAAsB;IACtD,CAAC,EAAE;QACD,CAAC,mBAAO,CAAC,EAAE,CAAC,EAAE;YACZ,CAAC,2BAAe,CAAC,EAAE,CAAC,EAClB,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,oBAAoB,CAAC,CAC1D,mBAAO,CAAC,EAAE,CACX;YACH,CAAC,uBAAW,CAAC,EAAE,CAAC,EACd,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,mBAAO,CAAC,EAAE,CACX;YACH,CAAC,2BAAe,CAAC,EAAE,CAAC,EAClB,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,mBAAO,CAAC,EAAE,CACX;SACJ;QACD,CAAC,mBAAO,CAAC,EAAE,CAAC,EAAE;YACZ,CAAC,oBAAQ,CAAC,EAAE,CAAC,EACX,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,oBAAoB,CAAC,CAC1D,mBAAO,CAAC,EAAE,CACX;YACH,CAAC,gBAAI,CAAC,EAAE,CAAC,EACP,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,mBAAO,CAAC,EAAE,CACX;YACH,CAAC,oBAAQ,CAAC,EAAE,CAAC,EACX,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,mBAAO,CAAC,EAAE,CACX;SACJ;QAED,CAAC,2BAAe,CAAC,EAAE,CAAC,EAAE;YACpB,CAAC,mBAAO,CAAC,EAAE,CAAC,EACV,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,oBAAoB,CAAC,CAC1D,2BAAe,CAAC,EAAE,CACnB;YACH,CAAC,2BAAe,CAAC,EAAE,CAAC,EAClB,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,2BAAe,CAAC,EAAE,CACnB;YACH,CAAC,uBAAW,CAAC,EAAE,CAAC,EACd,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,2BAAe,CAAC,EAAE,CACnB;SACJ;QACD,CAAC,oBAAQ,CAAC,EAAE,CAAC,EAAE;YACb,CAAC,mBAAO,CAAC,EAAE,CAAC,EACV,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,oBAAoB,CAAC,CAC1D,oBAAQ,CAAC,EAAE,CACZ;YACH,CAAC,oBAAQ,CAAC,EAAE,CAAC,EACX,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,oBAAQ,CAAC,EAAE,CACZ;YACH,CAAC,gBAAI,CAAC,EAAE,CAAC,EACP,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,oBAAQ,CAAC,EAAE,CACZ;SACJ;QAED,CAAC,2BAAe,CAAC,EAAE,CAAC,EAAE;YACpB,CAAC,mBAAO,CAAC,EAAE,CAAC,EACV,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,oBAAoB,CAAC,CAC1D,2BAAe,CAAC,EAAE,CACnB;YACH,CAAC,2BAAe,CAAC,EAAE,CAAC,EAClB,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,2BAAe,CAAC,EAAE,CACnB;YACH,CAAC,uBAAW,CAAC,EAAE,CAAC,EACd,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,2BAAe,CAAC,EAAE,CACnB;SACJ;QACD,CAAC,oBAAQ,CAAC,EAAE,CAAC,EAAE;YACb,CAAC,mBAAO,CAAC,EAAE,CAAC,EACV,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,oBAAoB,CAAC,CAC1D,oBAAQ,CAAC,EAAE,CACZ;YACH,CAAC,oBAAQ,CAAC,EAAE,CAAC,EACX,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,oBAAQ,CAAC,EAAE,CACZ;YACH,CAAC,gBAAI,CAAC,EAAE,CAAC,EACP,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,oBAAQ,CAAC,EAAE,CACZ;SACJ;QAED,CAAC,uBAAW,CAAC,EAAE,CAAC,EAAE;YAChB,CAAC,mBAAO,CAAC,EAAE,CAAC,EACV,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,oBAAoB,CAAC,CAC1D,uBAAW,CAAC,EAAE,CACf;YACH,CAAC,2BAAe,CAAC,EAAE,CAAC,EAClB,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,uBAAW,CAAC,EAAE,CACf;YACH,CAAC,2BAAe,CAAC,EAAE,CAAC,EAClB,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,uBAAW,CAAC,EAAE,CACf;SACJ;QACD,CAAC,gBAAI,CAAC,EAAE,CAAC,EAAE;YACT,CAAC,mBAAO,CAAC,EAAE,CAAC,EACV,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,oBAAoB,CAAC,CAAC,gBAAI,CAAC,EAAE,CAAC;YACvE,CAAC,oBAAQ,CAAC,EAAE,CAAC,EACX,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,gBAAI,CAAC,EAAE,CACR;YACH,CAAC,oBAAQ,CAAC,EAAE,CAAC,EACX,+BAAiB,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,sBAAsB,CAAC,CAC5D,gBAAI,CAAC,EAAE,CACR;SACJ;KACF;CACF,CAAC;AAEJ;;;;GAIG;AACU,QAAA,gCAAgC,GAAiC;IAC5E,CAAC,EAAE,2CAA6B,CAAC,CAAC,CAAsB;CACzD,CAAC;AAEF;;GAEG;AACU,QAAA,cAAc,GAA+B;IACxD,CAAC,mBAAO,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC1D,CAAC,mBAAO,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC1D,CAAC,2BAAe,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAClE,CAAC,oBAAQ,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC3D,CAAC,uBAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,gBAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;IACvD,CAAC,2BAAe,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAClE,CAAC,oBAAQ,CAAC,EAAE,CAAC,EAAE,4CAA4C;CAC5D,CAAC"}
|
package/dist/cjs/contracts.d.ts
CHANGED
|
@@ -43,6 +43,11 @@ export declare enum JBBuybackHookContracts {
|
|
|
43
43
|
JBBuybackHook = "JBBuybackHook",
|
|
44
44
|
JBBuybackHookRegistry = "JBBuybackHookRegistry"
|
|
45
45
|
}
|
|
46
|
+
export declare enum JBUniswapV4LPSplitHookContracts {
|
|
47
|
+
JBUniswapV4LPSplitHook = "JBUniswapV4LPSplitHook",
|
|
48
|
+
JBUniswapV4LPSplitHookDeployer = "JBUniswapV4LPSplitHookDeployer",
|
|
49
|
+
JBP6FeeLPSplitHook = "JBP6FeeLPSplitHook"
|
|
50
|
+
}
|
|
46
51
|
export declare enum JBRouterTerminalContracts {
|
|
47
52
|
JBRouterTerminal = "JBRouterTerminal",
|
|
48
53
|
JBRouterTerminalRegistry = "JBRouterTerminalRegistry"
|
|
@@ -57,7 +62,7 @@ export declare enum RevnetCoreContracts {
|
|
|
57
62
|
REVLoans1_1 = "REVLoans1_1",// for v4
|
|
58
63
|
REVOwner = "REVOwner"
|
|
59
64
|
}
|
|
60
|
-
export type Contract = JB721HookContracts | JBCoreContracts | JBSuckerContracts | JBAddressRegistryContracts | JBSwapTerminalContracts | JBBuybackHookContracts | JBRouterTerminalContracts | JBOmnichainDeployerContracts | RevnetCoreContracts;
|
|
65
|
+
export type Contract = JB721HookContracts | JBCoreContracts | JBSuckerContracts | JBAddressRegistryContracts | JBSwapTerminalContracts | JBBuybackHookContracts | JBRouterTerminalContracts | JBUniswapV4LPSplitHookContracts | JBOmnichainDeployerContracts | RevnetCoreContracts;
|
|
61
66
|
export declare const SUPPORTED_CHAINS: {
|
|
62
67
|
readonly 11155111: "sepolia";
|
|
63
68
|
readonly 11155420: "optimism_sepolia";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAElC,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,QAAQ,aAAa;IACrB,gBAAgB,qBAAqB;CACtC;AAED,oBAAY,kBAAkB;IAC5B,sBAAsB,2BAA2B;IACjD,6BAA6B,kCAAkC;IAC/D,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;CAC5C;AAED,oBAAY,0BAA0B;IACpC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,iBAAiB;IAC3B,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;CAClD;AAED,oBAAY,uBAAuB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,sBAAsB,2BAA2B;IACjD,0BAA0B,+BAA+B;CAC1D;AAED,oBAAY,sBAAsB;IAChC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;CAChD;AAED,oBAAY,yBAAyB;IACnC,gBAAgB,qBAAqB;IACrC,wBAAwB,6BAA6B;CACtD;AAED,oBAAY,4BAA4B;IACtC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;CAClD;AAED,oBAAY,mBAAmB;IAC7B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,WAAW,gBAAgB,CAAE,SAAS;IACtC,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,0BAA0B,GAC1B,uBAAuB,GACvB,sBAAsB,GACtB,yBAAyB,GACzB,4BAA4B,GAC5B,mBAAmB,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAElC,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,QAAQ,aAAa;IACrB,gBAAgB,qBAAqB;CACtC;AAED,oBAAY,kBAAkB;IAC5B,sBAAsB,2BAA2B;IACjD,6BAA6B,kCAAkC;IAC/D,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;CAC5C;AAED,oBAAY,0BAA0B;IACpC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,iBAAiB;IAC3B,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;CAClD;AAED,oBAAY,uBAAuB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,sBAAsB,2BAA2B;IACjD,0BAA0B,+BAA+B;CAC1D;AAED,oBAAY,sBAAsB;IAChC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;CAChD;AAED,oBAAY,+BAA+B;IACzC,sBAAsB,2BAA2B;IACjD,8BAA8B,mCAAmC;IACjE,kBAAkB,uBAAuB;CAC1C;AAED,oBAAY,yBAAyB;IACnC,gBAAgB,qBAAqB;IACrC,wBAAwB,6BAA6B;CACtD;AAED,oBAAY,4BAA4B;IACtC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;CAClD;AAED,oBAAY,mBAAmB;IAC7B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,WAAW,gBAAgB,CAAE,SAAS;IACtC,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,0BAA0B,GAC1B,uBAAuB,GACvB,sBAAsB,GACtB,yBAAyB,GACzB,+BAA+B,GAC/B,4BAA4B,GAC5B,mBAAmB,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;;;;CASnB,CAAC"}
|
package/dist/cjs/contracts.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SUPPORTED_CHAINS = exports.RevnetCoreContracts = exports.JBOmnichainDeployerContracts = exports.JBRouterTerminalContracts = exports.JBBuybackHookContracts = exports.JBSwapTerminalContracts = exports.JBSuckerContracts = exports.JBAddressRegistryContracts = exports.JB721HookContracts = exports.JBCoreContracts = void 0;
|
|
3
|
+
exports.SUPPORTED_CHAINS = exports.RevnetCoreContracts = exports.JBOmnichainDeployerContracts = exports.JBRouterTerminalContracts = exports.JBUniswapV4LPSplitHookContracts = exports.JBBuybackHookContracts = exports.JBSwapTerminalContracts = exports.JBSuckerContracts = exports.JBAddressRegistryContracts = exports.JB721HookContracts = exports.JBCoreContracts = void 0;
|
|
4
4
|
var JBCoreContracts;
|
|
5
5
|
(function (JBCoreContracts) {
|
|
6
6
|
JBCoreContracts["JBController"] = "JBController";
|
|
@@ -51,6 +51,12 @@ var JBBuybackHookContracts;
|
|
|
51
51
|
JBBuybackHookContracts["JBBuybackHook"] = "JBBuybackHook";
|
|
52
52
|
JBBuybackHookContracts["JBBuybackHookRegistry"] = "JBBuybackHookRegistry";
|
|
53
53
|
})(JBBuybackHookContracts || (exports.JBBuybackHookContracts = JBBuybackHookContracts = {}));
|
|
54
|
+
var JBUniswapV4LPSplitHookContracts;
|
|
55
|
+
(function (JBUniswapV4LPSplitHookContracts) {
|
|
56
|
+
JBUniswapV4LPSplitHookContracts["JBUniswapV4LPSplitHook"] = "JBUniswapV4LPSplitHook";
|
|
57
|
+
JBUniswapV4LPSplitHookContracts["JBUniswapV4LPSplitHookDeployer"] = "JBUniswapV4LPSplitHookDeployer";
|
|
58
|
+
JBUniswapV4LPSplitHookContracts["JBP6FeeLPSplitHook"] = "JBP6FeeLPSplitHook";
|
|
59
|
+
})(JBUniswapV4LPSplitHookContracts || (exports.JBUniswapV4LPSplitHookContracts = JBUniswapV4LPSplitHookContracts = {}));
|
|
54
60
|
var JBRouterTerminalContracts;
|
|
55
61
|
(function (JBRouterTerminalContracts) {
|
|
56
62
|
JBRouterTerminalContracts["JBRouterTerminal"] = "JBRouterTerminal";
|