@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JBSuckerAbi.js","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,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,
|
|
1
|
+
{"version":3,"file":"JBSuckerAbi.js","sourceRoot":"","sources":["../../../src/actions/JBSuckerAbi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { getContract, isAddressEqual, zeroAddress, } from "viem";
|
|
2
2
|
import { jbControllerAbi } from "../generated/juicebox.js";
|
|
3
|
-
import { ipfsGatewayUrl } from "../utils/ipfs.js";
|
|
3
|
+
import { ipfsAssetPath, ipfsGatewayUrl, isIpfsCid } from "../utils/ipfs.js";
|
|
4
4
|
/**
|
|
5
|
-
* Fetch the onchain metadata
|
|
5
|
+
* Fetch the onchain metadata URI for the given project via the given
|
|
6
|
+
* JBController contract, and resolve it to a validated IPFS asset path
|
|
7
|
+
* (`<cid>[/path]`). `ipfs://` URIs, HTTP gateway URLs, and bare CIDs are all
|
|
8
|
+
* recognized; anything else (including path-less garbage such as a plain file
|
|
9
|
+
* name) resolves to `undefined` rather than a bogus gateway fetch.
|
|
6
10
|
*/
|
|
7
|
-
const
|
|
11
|
+
const getMetadataAssetPath = async (publicClient, args) => {
|
|
8
12
|
if (isAddressEqual(args.jbControllerAddress, zeroAddress)) {
|
|
9
13
|
return;
|
|
10
14
|
}
|
|
@@ -13,10 +17,10 @@ const getMetadataCid = async (publicClient, args) => {
|
|
|
13
17
|
abi: jbControllerAbi,
|
|
14
18
|
client: publicClient,
|
|
15
19
|
});
|
|
16
|
-
// ipfs
|
|
17
|
-
const metadataUri = await JBController.read.uriOf([args.projectId]);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
// ipfs://<cid>[/path], an HTTP gateway URL, or a bare CID.
|
|
21
|
+
const metadataUri = (await JBController.read.uriOf([args.projectId])).trim();
|
|
22
|
+
return (ipfsAssetPath(metadataUri) ??
|
|
23
|
+
(isIpfsCid(metadataUri) ? metadataUri : undefined));
|
|
20
24
|
};
|
|
21
25
|
/**
|
|
22
26
|
* Fetch the project metadata for the given [projectId]
|
|
@@ -26,11 +30,13 @@ const getMetadataCid = async (publicClient, args) => {
|
|
|
26
30
|
*
|
|
27
31
|
*/
|
|
28
32
|
export const getProjectMetadata = async (publicClient, args, opts) => {
|
|
29
|
-
const
|
|
30
|
-
|
|
33
|
+
const metadataAssetPath = await getMetadataAssetPath(publicClient, args);
|
|
34
|
+
const ipfsUrl = metadataAssetPath
|
|
35
|
+
? ipfsGatewayUrl(metadataAssetPath, opts?.ipfsGatewayHostname)
|
|
36
|
+
: null;
|
|
37
|
+
if (!ipfsUrl) {
|
|
31
38
|
return;
|
|
32
39
|
}
|
|
33
|
-
const ipfsUrl = ipfsGatewayUrl(metadataCid, opts?.ipfsGatewayHostname);
|
|
34
40
|
const res = (await fetch(ipfsUrl).then((res) => res.json()));
|
|
35
41
|
return res;
|
|
36
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,cAAc,EACd,WAAW,GACZ,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,KAAK,EAChC,YAA0B,EAC1B,IAGC,EACD,EAAE;IACF,IAAI,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC;QAC/B,OAAO,EAAE,IAAI,CAAC,mBAAmB;QACjC,GAAG,EAAE,eAAe;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,aAAa,CAAC,WAAW,CAAC;QAC1B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,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,cAAc,CAAC,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"}
|
|
@@ -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"}
|
|
@@ -1,71 +1,105 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { jbSuckerRegistryAbi, jbSuckerRegistryV5Abi } from "../generated/juicebox.js";
|
|
1
|
+
import { getContract, isAddressEqual } from "viem";
|
|
2
|
+
import { jbSuckerRegistryAbi, jbSuckerRegistryV5Abi, } from "../generated/juicebox.js";
|
|
3
3
|
import { JBSuckerAbi } from "./JBSuckerAbi.js";
|
|
4
4
|
import { JBSuckerContracts } from "../types.js";
|
|
5
5
|
import { getJBContractAddress } from "../utils/contracts.js";
|
|
6
|
+
import { suckerBytes32ToAddress } from "../v6/suckers.js";
|
|
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
|
+
*/
|
|
6
21
|
export async function getSuckerPairs({ config, chainId, projectId, version, }) {
|
|
7
22
|
const jbSuckerRegistry = getJBContractAddress(JBSuckerContracts.JBSuckerRegistry, version, chainId);
|
|
8
23
|
const client = config.getClient({ chainId: Number(chainId) });
|
|
9
24
|
// v6 identifies remote suckers as bytes32 (for cross-VM compatibility); for EVM peers
|
|
10
|
-
// the address is in the low 20 bytes.
|
|
25
|
+
// the address is in the low 20 bytes, which `suckerBytes32ToAddress` validates.
|
|
11
26
|
const suckers = version === 6
|
|
12
27
|
? (await getContract({
|
|
13
28
|
address: jbSuckerRegistry,
|
|
14
29
|
abi: jbSuckerRegistryAbi,
|
|
15
30
|
client,
|
|
16
|
-
}).read.suckerPairsOf([projectId])).map((sucker) => ({
|
|
17
|
-
|
|
31
|
+
}).read.suckerPairsOf([projectId])).map((sucker) => ({
|
|
32
|
+
local: sucker.local,
|
|
33
|
+
remote: suckerBytes32ToAddress(sucker.remote),
|
|
34
|
+
remoteChainId: sucker.remoteChainId,
|
|
35
|
+
}))
|
|
36
|
+
: (await getContract({
|
|
18
37
|
address: jbSuckerRegistry,
|
|
19
38
|
abi: jbSuckerRegistryV5Abi,
|
|
20
39
|
client,
|
|
21
|
-
}).read.suckerPairsOf([projectId])
|
|
22
|
-
|
|
23
|
-
|
|
40
|
+
}).read.suckerPairsOf([projectId])).map((sucker) => ({
|
|
41
|
+
local: sucker.local,
|
|
42
|
+
remote: sucker.remote,
|
|
43
|
+
remoteChainId: sucker.remoteChainId,
|
|
44
|
+
}));
|
|
45
|
+
return Promise.all(suckers.map(async (sucker) => {
|
|
46
|
+
const remoteClient = config.getClient({
|
|
24
47
|
chainId: Number(sucker.remoteChainId),
|
|
25
48
|
});
|
|
26
|
-
const
|
|
49
|
+
const remoteSucker = getContract({
|
|
27
50
|
address: sucker.remote,
|
|
28
51
|
abi: JBSuckerAbi,
|
|
29
|
-
client,
|
|
52
|
+
client: remoteClient,
|
|
30
53
|
});
|
|
31
|
-
const peer =
|
|
32
|
-
|
|
33
|
-
|
|
54
|
+
const [peer, peerProjectId] = await Promise.all([
|
|
55
|
+
remoteSucker.read.peer(),
|
|
56
|
+
remoteSucker.read.projectId(),
|
|
57
|
+
]);
|
|
58
|
+
if (!isAddressEqual(suckerBytes32ToAddress(peer), sucker.local)) {
|
|
59
|
+
throw new Error(`The sucker at ${sucker.remote} on chain ${sucker.remoteChainId} is not paired back to ${sucker.local}.`);
|
|
34
60
|
}
|
|
35
|
-
const peerContract = getContract({
|
|
36
|
-
address: peer,
|
|
37
|
-
abi: JBSuckerAbi,
|
|
38
|
-
client,
|
|
39
|
-
});
|
|
40
|
-
const projectId = await peerContract.read.projectId();
|
|
41
61
|
return {
|
|
42
62
|
peerChainId: Number(sucker.remoteChainId),
|
|
43
|
-
projectId,
|
|
63
|
+
projectId: peerProjectId,
|
|
44
64
|
};
|
|
45
65
|
}));
|
|
46
|
-
return suckerPairs.filter((x) => x);
|
|
47
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Resolve the full sucker group for a project: the local `(chainId, projectId)`
|
|
69
|
+
* itself, its direct peers, and the peers those peers name (one hop of gossip).
|
|
70
|
+
*
|
|
71
|
+
* The local entry is always first, so callers never have to guess whether a
|
|
72
|
+
* given result includes the chain they asked about. Entries are deduped by the
|
|
73
|
+
* whole `(chainId, projectId)` pair — two chains in a group can hold different
|
|
74
|
+
* project ids, and a chain id alone is not an identity.
|
|
75
|
+
*
|
|
76
|
+
* Any registry or sucker read failure rejects. A partially-resolved group would
|
|
77
|
+
* under-count supply, surplus, and balances without any signal to the caller.
|
|
78
|
+
*/
|
|
48
79
|
export async function resolveSuckers({ config, chainId, projectId, version, }) {
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
80
|
+
const pairs = [{ peerChainId: chainId, projectId }];
|
|
81
|
+
const seen = new Set([`${chainId}:${projectId}`]);
|
|
82
|
+
const add = (pair) => {
|
|
83
|
+
const key = `${pair.peerChainId}:${pair.projectId}`;
|
|
84
|
+
if (seen.has(key))
|
|
85
|
+
return;
|
|
86
|
+
seen.add(key);
|
|
87
|
+
pairs.push(pair);
|
|
88
|
+
};
|
|
89
|
+
const directPairs = await getSuckerPairs({
|
|
90
|
+
config,
|
|
91
|
+
chainId,
|
|
92
|
+
projectId,
|
|
93
|
+
version,
|
|
94
|
+
});
|
|
95
|
+
directPairs.forEach(add);
|
|
96
|
+
const transitivePairs = await Promise.all(directPairs.map((pair) => getSuckerPairs({
|
|
97
|
+
config,
|
|
98
|
+
chainId: pair.peerChainId,
|
|
99
|
+
projectId: pair.projectId,
|
|
100
|
+
version,
|
|
101
|
+
})));
|
|
102
|
+
transitivePairs.flat().forEach(add);
|
|
69
103
|
return pairs;
|
|
70
104
|
}
|
|
71
105
|
//# sourceMappingURL=suckerPairs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suckerPairs.js","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,
|
|
1
|
+
{"version":3,"file":"suckerPairs.js","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/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/esm/constants.js
CHANGED
|
@@ -10,10 +10,6 @@ export const ONE_ETHER = parseEther("1");
|
|
|
10
10
|
* Default value for `memo` arguments in Juicebox transactions.
|
|
11
11
|
*/
|
|
12
12
|
export const DEFAULT_MEMO = "";
|
|
13
|
-
/**
|
|
14
|
-
* Default value for `metadata` arguments in Juicebox transactions.
|
|
15
|
-
*/
|
|
16
|
-
export const DEFAULT_METADATA = "0x0";
|
|
17
13
|
export const DEFAULT_MIN_RETURNED_TOKENS = 0n;
|
|
18
14
|
export const DEFAULT_ALLOW_OVERSPENDING = true;
|
|
19
15
|
/**
|
|
@@ -35,9 +31,17 @@ export const MAX_CASH_OUT_TAX_RATE = 10_000;
|
|
|
35
31
|
*/
|
|
36
32
|
export const MAX_WEIGHT_CUT_PERCENT = 1_000_000_000;
|
|
37
33
|
/**
|
|
38
|
-
*
|
|
34
|
+
* The per-billion (1e9) denominator used by the legacy fixed-point fee helpers.
|
|
35
|
+
*
|
|
36
|
+
* NOT `JBConstants.MAX_FEE`, which is `1000` in v4, v5 and v6 alike — the
|
|
37
|
+
* protocol fee is `STANDARD_FEE / MAX_FEE` = `25 / 1000`. For the contract
|
|
38
|
+
* denominator use `MAX_FEE` from `@bananapus/nana-sdk-core/v6`, and for the
|
|
39
|
+
* per-billion rate use `TERMINAL_FEE_PER_BILLION` from the same entry point.
|
|
40
|
+
*
|
|
41
|
+
* @deprecated Use `MAX_FEE` / `TERMINAL_FEE_PER_BILLION` from
|
|
42
|
+
* `@bananapus/nana-sdk-core/v6`.
|
|
39
43
|
*/
|
|
40
|
-
export const
|
|
44
|
+
export const MAX_FEE_PER_BILLION = 1_000_000_000;
|
|
41
45
|
/**
|
|
42
46
|
* @link JBConstants.sol
|
|
43
47
|
*/
|
|
@@ -92,64 +96,74 @@ export const USD_CURRENCY_ID = (version) => (version === 4 ? 3 : 2);
|
|
|
92
96
|
export const NATIVE_TOKEN_DECIMALS = 18;
|
|
93
97
|
/**
|
|
94
98
|
* The fee percentage taken by Juicebox DAO on cashing out Tokens.
|
|
99
|
+
*
|
|
100
|
+
* @deprecated Use `cashOutProtocolFee` from `@bananapus/nana-sdk-core/v6/cash-out`.
|
|
101
|
+
* The contract fee is `reclaimAmount / 40` (floor division, NOT a float
|
|
102
|
+
* multiply), it is skipped for feeless beneficiaries, and zero-tax cash outs
|
|
103
|
+
* pay it only on `min(reclaimAmount, feeFreeSurplusOf)`. A float percentage
|
|
104
|
+
* cannot express any of that.
|
|
95
105
|
*/
|
|
96
106
|
export const JBDAO_CASHOUT_FEE_PERCENT = 0.025;
|
|
107
|
+
/**
|
|
108
|
+
* A chain's block-explorer hostname, derived from the chain definition's own
|
|
109
|
+
* `blockExplorers` entry so it can never diverge from the explorer URL the
|
|
110
|
+
* chain object carries (a hand-maintained copy once shipped the DNS-dead
|
|
111
|
+
* `optimism.etherscan.io` while the chain definition had the correct
|
|
112
|
+
* `optimistic.etherscan.io`).
|
|
113
|
+
*/
|
|
114
|
+
const explorerHostname = (chain) => new URL(chain.blockExplorers.default.url).hostname;
|
|
115
|
+
/**
|
|
116
|
+
* The chain-agnostic half of a `JB_CHAINS` entry: everything derivable from the
|
|
117
|
+
* chain definition itself. `name` is the chain object's own `name`, so the
|
|
118
|
+
* display string can never drift from what wallets and `chains.ts` report (a
|
|
119
|
+
* hand-maintained copy once read "Optimism"/"Arbitrum" while the definitions
|
|
120
|
+
* said "OP Mainnet"/"Arbitrum One").
|
|
121
|
+
*/
|
|
122
|
+
const derivedChainMetadata = (chain) => ({
|
|
123
|
+
chain,
|
|
124
|
+
name: chain.name,
|
|
125
|
+
etherscanHostname: explorerHostname(chain),
|
|
126
|
+
});
|
|
97
127
|
export const JB_CHAINS = {
|
|
98
128
|
[sepolia.id]: {
|
|
99
|
-
|
|
100
|
-
name: "Sepolia",
|
|
129
|
+
...derivedChainMetadata(sepolia),
|
|
101
130
|
slug: "sep",
|
|
102
131
|
nativeTokenSymbol: "SepETH",
|
|
103
|
-
etherscanHostname: "sepolia.etherscan.io",
|
|
104
132
|
},
|
|
105
133
|
[optimismSepolia.id]: {
|
|
106
|
-
|
|
107
|
-
name: "Optimism Sepolia",
|
|
134
|
+
...derivedChainMetadata(optimismSepolia),
|
|
108
135
|
slug: "opsep",
|
|
109
136
|
nativeTokenSymbol: "OPSepETH",
|
|
110
|
-
etherscanHostname: "sepolia-optimism.etherscan.io",
|
|
111
137
|
},
|
|
112
138
|
[baseSepolia.id]: {
|
|
113
|
-
|
|
114
|
-
name: "Base Sepolia",
|
|
139
|
+
...derivedChainMetadata(baseSepolia),
|
|
115
140
|
slug: "basesep",
|
|
116
141
|
nativeTokenSymbol: "BaseSepETH",
|
|
117
|
-
etherscanHostname: "sepolia.basescan.org",
|
|
118
142
|
},
|
|
119
143
|
[arbitrumSepolia.id]: {
|
|
120
|
-
|
|
121
|
-
name: "Arbitrum Sepolia",
|
|
144
|
+
...derivedChainMetadata(arbitrumSepolia),
|
|
122
145
|
slug: "arbsep",
|
|
123
146
|
nativeTokenSymbol: "ArbSepETH",
|
|
124
|
-
etherscanHostname: "sepolia.arbiscan.io",
|
|
125
147
|
},
|
|
126
148
|
[mainnet.id]: {
|
|
127
|
-
|
|
128
|
-
name: "Ethereum",
|
|
149
|
+
...derivedChainMetadata(mainnet),
|
|
129
150
|
slug: "eth",
|
|
130
151
|
nativeTokenSymbol: "ETH",
|
|
131
|
-
etherscanHostname: "etherscan.io",
|
|
132
152
|
},
|
|
133
153
|
[optimism.id]: {
|
|
134
|
-
|
|
135
|
-
name: "Optimism",
|
|
154
|
+
...derivedChainMetadata(optimism),
|
|
136
155
|
slug: "op",
|
|
137
156
|
nativeTokenSymbol: "ETH",
|
|
138
|
-
etherscanHostname: "optimism.etherscan.io",
|
|
139
157
|
},
|
|
140
158
|
[base.id]: {
|
|
141
|
-
|
|
142
|
-
name: "Base",
|
|
159
|
+
...derivedChainMetadata(base),
|
|
143
160
|
slug: "base",
|
|
144
161
|
nativeTokenSymbol: "ETH",
|
|
145
|
-
etherscanHostname: "basescan.org",
|
|
146
162
|
},
|
|
147
163
|
[arbitrum.id]: {
|
|
148
|
-
|
|
149
|
-
name: "Arbitrum",
|
|
164
|
+
...derivedChainMetadata(arbitrum),
|
|
150
165
|
slug: "arb",
|
|
151
166
|
nativeTokenSymbol: "ETH",
|
|
152
|
-
etherscanHostname: "arbiscan.io",
|
|
153
167
|
},
|
|
154
168
|
};
|
|
155
169
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/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/esm/contracts.js
CHANGED
|
@@ -48,6 +48,12 @@ export var JBBuybackHookContracts;
|
|
|
48
48
|
JBBuybackHookContracts["JBBuybackHook"] = "JBBuybackHook";
|
|
49
49
|
JBBuybackHookContracts["JBBuybackHookRegistry"] = "JBBuybackHookRegistry";
|
|
50
50
|
})(JBBuybackHookContracts || (JBBuybackHookContracts = {}));
|
|
51
|
+
export var JBUniswapV4LPSplitHookContracts;
|
|
52
|
+
(function (JBUniswapV4LPSplitHookContracts) {
|
|
53
|
+
JBUniswapV4LPSplitHookContracts["JBUniswapV4LPSplitHook"] = "JBUniswapV4LPSplitHook";
|
|
54
|
+
JBUniswapV4LPSplitHookContracts["JBUniswapV4LPSplitHookDeployer"] = "JBUniswapV4LPSplitHookDeployer";
|
|
55
|
+
JBUniswapV4LPSplitHookContracts["JBP6FeeLPSplitHook"] = "JBP6FeeLPSplitHook";
|
|
56
|
+
})(JBUniswapV4LPSplitHookContracts || (JBUniswapV4LPSplitHookContracts = {}));
|
|
51
57
|
export var JBRouterTerminalContracts;
|
|
52
58
|
(function (JBRouterTerminalContracts) {
|
|
53
59
|
JBRouterTerminalContracts["JBRouterTerminal"] = "JBRouterTerminal";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,eAkBX;AAlBD,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,sDAAmC,CAAA;IACnC,oDAAiC,CAAA;IACjC,sDAAmC,CAAA;IACnC,sDAAmC,CAAA;IACnC,wDAAqC,CAAA;IACrC,8CAA2B,CAAA;IAC3B,sDAAmC,CAAA;IACnC,4CAAyB,CAAA;IACzB,kDAA+B,CAAA;IAC/B,4CAAyB,CAAA;IACzB,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,sDAAmC,CAAA;IACnC,4DAAyC,CAAA;IACzC,wCAAqB,CAAA;IACrB,wDAAqC,CAAA;AACvC,CAAC,EAlBW,eAAe,KAAf,eAAe,QAkB1B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,uEAAiD,CAAA;IACjD,qFAA+D,CAAA;IAC/D,uDAAiC,CAAA;IACjC,iEAA2C,CAAA;AAC7C,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,0BAEX;AAFD,WAAY,0BAA0B;IACpC,qEAAuC,CAAA;AACzC,CAAC,EAFW,0BAA0B,KAA1B,0BAA0B,QAErC;AAED,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,0DAAqC,CAAA;IACrC,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,sEAAiD,CAAA;AACnD,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,MAAM,CAAN,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,4DAAiC,CAAA;IACjC,kEAAuC,CAAA;IACvC,4EAAiD,CAAA;IACjD,oFAAyD,CAAA;AAC3D,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,QAKlC;AAED,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yDAA+B,CAAA;IAC/B,yEAA+C,CAAA;AACjD,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,kEAAqC,CAAA;IACrC,kFAAqD,CAAA;AACvD,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,2EAA2C,CAAA;IAC3C,iFAAiD,CAAA;AACnD,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC;AAED,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,kDAA2B,CAAA;IAC3B,4CAAqB,CAAA;IACrB,kDAA2B,CAAA;IAC3B,4CAAqB,CAAA;AACvB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,eAkBX;AAlBD,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,sDAAmC,CAAA;IACnC,oDAAiC,CAAA;IACjC,sDAAmC,CAAA;IACnC,sDAAmC,CAAA;IACnC,wDAAqC,CAAA;IACrC,8CAA2B,CAAA;IAC3B,sDAAmC,CAAA;IACnC,4CAAyB,CAAA;IACzB,kDAA+B,CAAA;IAC/B,4CAAyB,CAAA;IACzB,wCAAqB,CAAA;IACrB,wCAAqB,CAAA;IACrB,sDAAmC,CAAA;IACnC,4DAAyC,CAAA;IACzC,wCAAqB,CAAA;IACrB,wDAAqC,CAAA;AACvC,CAAC,EAlBW,eAAe,KAAf,eAAe,QAkB1B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,uEAAiD,CAAA;IACjD,qFAA+D,CAAA;IAC/D,uDAAiC,CAAA;IACjC,iEAA2C,CAAA;AAC7C,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,0BAEX;AAFD,WAAY,0BAA0B;IACpC,qEAAuC,CAAA;AACzC,CAAC,EAFW,0BAA0B,KAA1B,0BAA0B,QAErC;AAED,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,0DAAqC,CAAA;IACrC,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,sEAAiD,CAAA;AACnD,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,MAAM,CAAN,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,4DAAiC,CAAA;IACjC,kEAAuC,CAAA;IACvC,4EAAiD,CAAA;IACjD,oFAAyD,CAAA;AAC3D,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,QAKlC;AAED,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yDAA+B,CAAA;IAC/B,yEAA+C,CAAA;AACjD,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED,MAAM,CAAN,IAAY,+BAIX;AAJD,WAAY,+BAA+B;IACzC,oFAAiD,CAAA;IACjD,oGAAiE,CAAA;IACjE,4EAAyC,CAAA;AAC3C,CAAC,EAJW,+BAA+B,KAA/B,+BAA+B,QAI1C;AAED,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,kEAAqC,CAAA;IACrC,kFAAqD,CAAA;AACvD,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,2EAA2C,CAAA;IAC3C,iFAAiD,CAAA;AACnD,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC;AAED,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,kDAA2B,CAAA;IAC3B,4CAAqB,CAAA;IACrB,kDAA2B,CAAA;IAC3B,4CAAqB,CAAA;AACvB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAcD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,cAAc;IACrB,CAAC,EAAE,UAAU;IACb,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,MAAM;CACJ,CAAC"}
|