@bananapus/nana-sdk-core 1.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 +32 -0
- package/dist/cjs/actions/JBSuckerAbi.d.ts.map +1 -0
- package/dist/cjs/actions/JBSuckerAbi.js +42 -0
- package/dist/cjs/actions/JBSuckerAbi.js.map +1 -0
- package/dist/cjs/actions/dataHook.d.ts +29 -0
- package/dist/cjs/actions/dataHook.d.ts.map +1 -0
- package/dist/cjs/actions/dataHook.js +81 -0
- package/dist/cjs/actions/dataHook.js.map +1 -0
- package/dist/cjs/actions/projectMetadata.d.ts +16 -0
- package/dist/cjs/actions/projectMetadata.d.ts.map +1 -0
- package/dist/cjs/actions/projectMetadata.js +37 -0
- package/dist/cjs/actions/projectMetadata.js.map +1 -0
- package/dist/cjs/actions/suckerPairs.d.ts +19 -0
- package/dist/cjs/actions/suckerPairs.d.ts.map +1 -0
- package/dist/cjs/actions/suckerPairs.js +71 -0
- package/dist/cjs/actions/suckerPairs.js.map +1 -0
- package/dist/cjs/constants.d.ts +126 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +229 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/contracts.d.ts +71 -0
- package/dist/cjs/contracts.d.ts.map +1 -0
- package/dist/cjs/contracts.js +78 -0
- package/dist/cjs/contracts.js.map +1 -0
- package/dist/cjs/generated/juicebox.d.ts +79672 -0
- package/dist/cjs/generated/juicebox.d.ts.map +1 -0
- package/dist/cjs/generated/juicebox.js +62354 -0
- package/dist/cjs/generated/juicebox.js.map +1 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +9 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types.d.ts +120 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +31 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/contracts.d.ts +10 -0
- package/dist/cjs/utils/contracts.d.ts.map +1 -0
- package/dist/cjs/utils/contracts.js +28 -0
- package/dist/cjs/utils/contracts.js.map +1 -0
- package/dist/cjs/utils/data.d.ts +69 -0
- package/dist/cjs/utils/data.d.ts.map +1 -0
- package/dist/cjs/utils/data.js +80 -0
- package/dist/cjs/utils/data.js.map +1 -0
- package/dist/cjs/utils/data.test.d.ts +2 -0
- package/dist/cjs/utils/data.test.d.ts.map +1 -0
- package/dist/cjs/utils/data.test.js +25 -0
- package/dist/cjs/utils/data.test.js.map +1 -0
- package/dist/cjs/utils/debug.d.ts +2 -0
- package/dist/cjs/utils/debug.d.ts.map +1 -0
- package/dist/cjs/utils/debug.js +11 -0
- package/dist/cjs/utils/debug.js.map +1 -0
- package/dist/cjs/utils/deploy.d.ts +32 -0
- package/dist/cjs/utils/deploy.d.ts.map +1 -0
- package/dist/cjs/utils/deploy.js +62 -0
- package/dist/cjs/utils/deploy.js.map +1 -0
- package/dist/cjs/utils/deploy.test.d.ts +2 -0
- package/dist/cjs/utils/deploy.test.d.ts.map +1 -0
- package/dist/cjs/utils/deploy.test.js +22 -0
- package/dist/cjs/utils/deploy.test.js.map +1 -0
- package/dist/cjs/utils/fee.d.ts +2 -0
- package/dist/cjs/utils/fee.d.ts.map +1 -0
- package/dist/cjs/utils/fee.js +5 -0
- package/dist/cjs/utils/fee.js.map +1 -0
- package/dist/cjs/utils/fee.test.d.ts +2 -0
- package/dist/cjs/utils/fee.test.d.ts.map +1 -0
- package/dist/cjs/utils/fee.test.js +9 -0
- package/dist/cjs/utils/fee.test.js.map +1 -0
- package/dist/cjs/utils/format.d.ts +33 -0
- package/dist/cjs/utils/format.d.ts.map +1 -0
- package/dist/cjs/utils/format.js +48 -0
- package/dist/cjs/utils/format.js.map +1 -0
- package/dist/cjs/utils/format.test.d.ts +2 -0
- package/dist/cjs/utils/format.test.d.ts.map +1 -0
- package/dist/cjs/utils/format.test.js +25 -0
- package/dist/cjs/utils/format.test.js.map +1 -0
- package/dist/cjs/utils/hook.d.ts +9 -0
- package/dist/cjs/utils/hook.d.ts.map +1 -0
- package/dist/cjs/utils/hook.js +44 -0
- package/dist/cjs/utils/hook.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +13 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +13 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/ipfs.d.ts +12 -0
- package/dist/cjs/utils/ipfs.d.ts.map +1 -0
- package/dist/cjs/utils/ipfs.js +26 -0
- package/dist/cjs/utils/ipfs.js.map +1 -0
- package/dist/cjs/utils/ipfs.test.d.ts +2 -0
- package/dist/cjs/utils/ipfs.test.d.ts.map +1 -0
- package/dist/cjs/utils/ipfs.test.js +28 -0
- package/dist/cjs/utils/ipfs.test.js.map +1 -0
- package/dist/cjs/utils/revnet.d.ts +5 -0
- package/dist/cjs/utils/revnet.d.ts.map +1 -0
- package/dist/cjs/utils/revnet.js +26 -0
- package/dist/cjs/utils/revnet.js.map +1 -0
- package/dist/cjs/utils/revnet.test.d.ts +2 -0
- package/dist/cjs/utils/revnet.test.d.ts.map +1 -0
- package/dist/cjs/utils/revnet.test.js +10 -0
- package/dist/cjs/utils/revnet.test.js.map +1 -0
- package/dist/cjs/utils/ruleset.d.ts +18 -0
- package/dist/cjs/utils/ruleset.d.ts.map +1 -0
- package/dist/cjs/utils/ruleset.js +23 -0
- package/dist/cjs/utils/ruleset.js.map +1 -0
- package/dist/cjs/utils/ruleset.test.d.ts +2 -0
- package/dist/cjs/utils/ruleset.test.d.ts.map +1 -0
- package/dist/cjs/utils/ruleset.test.js +21 -0
- package/dist/cjs/utils/ruleset.test.js.map +1 -0
- package/dist/cjs/utils/token.d.ts +72 -0
- package/dist/cjs/utils/token.d.ts.map +1 -0
- package/dist/cjs/utils/token.js +129 -0
- package/dist/cjs/utils/token.js.map +1 -0
- package/dist/cjs/utils/token.test.d.ts +2 -0
- package/dist/cjs/utils/token.test.d.ts.map +1 -0
- package/dist/cjs/utils/token.test.js +38 -0
- package/dist/cjs/utils/token.test.js.map +1 -0
- package/dist/cjs/utils/tx.d.ts +2 -0
- package/dist/cjs/utils/tx.d.ts.map +1 -0
- package/dist/cjs/utils/tx.js +7 -0
- package/dist/cjs/utils/tx.js.map +1 -0
- package/dist/cjs/utils/urn.d.ts +8 -0
- package/dist/cjs/utils/urn.d.ts.map +1 -0
- package/dist/cjs/utils/urn.js +47 -0
- package/dist/cjs/utils/urn.js.map +1 -0
- package/dist/cjs/utils/urn.test.d.ts +2 -0
- package/dist/cjs/utils/urn.test.d.ts.map +1 -0
- package/dist/cjs/utils/urn.test.js +112 -0
- package/dist/cjs/utils/urn.test.js.map +1 -0
- package/dist/esm/actions/JBSuckerAbi.d.ts +32 -0
- package/dist/esm/actions/JBSuckerAbi.d.ts.map +1 -0
- package/dist/esm/actions/JBSuckerAbi.js +42 -0
- package/dist/esm/actions/JBSuckerAbi.js.map +1 -0
- package/dist/esm/actions/dataHook.d.ts +29 -0
- package/dist/esm/actions/dataHook.d.ts.map +1 -0
- package/dist/esm/actions/dataHook.js +81 -0
- package/dist/esm/actions/dataHook.js.map +1 -0
- package/dist/esm/actions/projectMetadata.d.ts +16 -0
- package/dist/esm/actions/projectMetadata.d.ts.map +1 -0
- package/dist/esm/actions/projectMetadata.js +37 -0
- package/dist/esm/actions/projectMetadata.js.map +1 -0
- package/dist/esm/actions/suckerPairs.d.ts +19 -0
- package/dist/esm/actions/suckerPairs.d.ts.map +1 -0
- package/dist/esm/actions/suckerPairs.js +71 -0
- package/dist/esm/actions/suckerPairs.js.map +1 -0
- package/dist/esm/constants.d.ts +126 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +229 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/contracts.d.ts +71 -0
- package/dist/esm/contracts.d.ts.map +1 -0
- package/dist/esm/contracts.js +78 -0
- package/dist/esm/contracts.js.map +1 -0
- package/dist/esm/generated/juicebox.d.ts +79672 -0
- package/dist/esm/generated/juicebox.d.ts.map +1 -0
- package/dist/esm/generated/juicebox.js +62354 -0
- package/dist/esm/generated/juicebox.js.map +1 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types.d.ts +120 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +31 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/contracts.d.ts +10 -0
- package/dist/esm/utils/contracts.d.ts.map +1 -0
- package/dist/esm/utils/contracts.js +28 -0
- package/dist/esm/utils/contracts.js.map +1 -0
- package/dist/esm/utils/data.d.ts +69 -0
- package/dist/esm/utils/data.d.ts.map +1 -0
- package/dist/esm/utils/data.js +80 -0
- package/dist/esm/utils/data.js.map +1 -0
- package/dist/esm/utils/data.test.d.ts +2 -0
- package/dist/esm/utils/data.test.d.ts.map +1 -0
- package/dist/esm/utils/data.test.js +25 -0
- package/dist/esm/utils/data.test.js.map +1 -0
- package/dist/esm/utils/debug.d.ts +2 -0
- package/dist/esm/utils/debug.d.ts.map +1 -0
- package/dist/esm/utils/debug.js +11 -0
- package/dist/esm/utils/debug.js.map +1 -0
- package/dist/esm/utils/deploy.d.ts +32 -0
- package/dist/esm/utils/deploy.d.ts.map +1 -0
- package/dist/esm/utils/deploy.js +62 -0
- package/dist/esm/utils/deploy.js.map +1 -0
- package/dist/esm/utils/deploy.test.d.ts +2 -0
- package/dist/esm/utils/deploy.test.d.ts.map +1 -0
- package/dist/esm/utils/deploy.test.js +22 -0
- package/dist/esm/utils/deploy.test.js.map +1 -0
- package/dist/esm/utils/fee.d.ts +2 -0
- package/dist/esm/utils/fee.d.ts.map +1 -0
- package/dist/esm/utils/fee.js +5 -0
- package/dist/esm/utils/fee.js.map +1 -0
- package/dist/esm/utils/fee.test.d.ts +2 -0
- package/dist/esm/utils/fee.test.d.ts.map +1 -0
- package/dist/esm/utils/fee.test.js +9 -0
- package/dist/esm/utils/fee.test.js.map +1 -0
- package/dist/esm/utils/format.d.ts +33 -0
- package/dist/esm/utils/format.d.ts.map +1 -0
- package/dist/esm/utils/format.js +48 -0
- package/dist/esm/utils/format.js.map +1 -0
- package/dist/esm/utils/format.test.d.ts +2 -0
- package/dist/esm/utils/format.test.d.ts.map +1 -0
- package/dist/esm/utils/format.test.js +25 -0
- package/dist/esm/utils/format.test.js.map +1 -0
- package/dist/esm/utils/hook.d.ts +9 -0
- package/dist/esm/utils/hook.d.ts.map +1 -0
- package/dist/esm/utils/hook.js +44 -0
- package/dist/esm/utils/hook.js.map +1 -0
- package/dist/esm/utils/index.d.ts +13 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +13 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/ipfs.d.ts +12 -0
- package/dist/esm/utils/ipfs.d.ts.map +1 -0
- package/dist/esm/utils/ipfs.js +26 -0
- package/dist/esm/utils/ipfs.js.map +1 -0
- package/dist/esm/utils/ipfs.test.d.ts +2 -0
- package/dist/esm/utils/ipfs.test.d.ts.map +1 -0
- package/dist/esm/utils/ipfs.test.js +28 -0
- package/dist/esm/utils/ipfs.test.js.map +1 -0
- package/dist/esm/utils/revnet.d.ts +5 -0
- package/dist/esm/utils/revnet.d.ts.map +1 -0
- package/dist/esm/utils/revnet.js +26 -0
- package/dist/esm/utils/revnet.js.map +1 -0
- package/dist/esm/utils/revnet.test.d.ts +2 -0
- package/dist/esm/utils/revnet.test.d.ts.map +1 -0
- package/dist/esm/utils/revnet.test.js +10 -0
- package/dist/esm/utils/revnet.test.js.map +1 -0
- package/dist/esm/utils/ruleset.d.ts +18 -0
- package/dist/esm/utils/ruleset.d.ts.map +1 -0
- package/dist/esm/utils/ruleset.js +23 -0
- package/dist/esm/utils/ruleset.js.map +1 -0
- package/dist/esm/utils/ruleset.test.d.ts +2 -0
- package/dist/esm/utils/ruleset.test.d.ts.map +1 -0
- package/dist/esm/utils/ruleset.test.js +21 -0
- package/dist/esm/utils/ruleset.test.js.map +1 -0
- package/dist/esm/utils/token.d.ts +72 -0
- package/dist/esm/utils/token.d.ts.map +1 -0
- package/dist/esm/utils/token.js +129 -0
- package/dist/esm/utils/token.js.map +1 -0
- package/dist/esm/utils/token.test.d.ts +2 -0
- package/dist/esm/utils/token.test.d.ts.map +1 -0
- package/dist/esm/utils/token.test.js +38 -0
- package/dist/esm/utils/token.test.js.map +1 -0
- package/dist/esm/utils/tx.d.ts +2 -0
- package/dist/esm/utils/tx.d.ts.map +1 -0
- package/dist/esm/utils/tx.js +7 -0
- package/dist/esm/utils/tx.js.map +1 -0
- package/dist/esm/utils/urn.d.ts +8 -0
- package/dist/esm/utils/urn.d.ts.map +1 -0
- package/dist/esm/utils/urn.js +47 -0
- package/dist/esm/utils/urn.js.map +1 -0
- package/dist/esm/utils/urn.test.d.ts +2 -0
- package/dist/esm/utils/urn.test.d.ts.map +1 -0
- package/dist/esm/utils/urn.test.js +112 -0
- package/dist/esm/utils/urn.test.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { getContract, isAddressEqual, zeroAddress, } from "viem";
|
|
2
|
+
import { jbControllerAbi } from "../generated/juicebox.js";
|
|
3
|
+
import { ipfsGatewayUrl } from "../utils/ipfs.js";
|
|
4
|
+
/**
|
|
5
|
+
* Fetch the onchain metadata CID for the given project, using the given JBController contract.
|
|
6
|
+
*/
|
|
7
|
+
const getMetadataCid = async (publicClient, args) => {
|
|
8
|
+
if (isAddressEqual(args.jbControllerAddress, zeroAddress)) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const JBController = getContract({
|
|
12
|
+
address: args.jbControllerAddress,
|
|
13
|
+
abi: jbControllerAbi,
|
|
14
|
+
client: publicClient,
|
|
15
|
+
});
|
|
16
|
+
// ipfs://cid or https://cid, probably
|
|
17
|
+
const metadataUri = await JBController.read.uriOf([args.projectId]);
|
|
18
|
+
const metadataCid = metadataUri.split("/").pop();
|
|
19
|
+
return metadataCid;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Fetch the project metadata for the given [projectId]
|
|
23
|
+
* @param publicClient - The Viem Public Client to use for fetching on-chain data.
|
|
24
|
+
* @link https://viem.sh/docs/clients/public.html
|
|
25
|
+
* @param opts.ipfsGatewayHostname - The hostname of the IPFS gateway to use. Defaults to "ipfs.io"
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
export const getProjectMetadata = async (publicClient, args, opts) => {
|
|
29
|
+
const metadataCid = await getMetadataCid(publicClient, args);
|
|
30
|
+
if (!metadataCid) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const ipfsUrl = ipfsGatewayUrl(metadataCid, opts?.ipfsGatewayHostname);
|
|
34
|
+
const res = (await fetch(ipfsUrl).then((res) => res.json()));
|
|
35
|
+
return res;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=projectMetadata.js.map
|
|
@@ -0,0 +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;AAElD;;GAEG;AACH,MAAM,cAAc,GAAG,KAAK,EAC1B,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,sCAAsC;IACtC,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAEjD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,YAA0B,EAC1B,IAGC,EACD,IAEC,EACuC,EAAE;IAC1C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACvE,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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { JBChainId, JBVersion } from "../types.js";
|
|
2
|
+
import { useConfig } from "wagmi";
|
|
3
|
+
export type SuckerPair = {
|
|
4
|
+
peerChainId: JBChainId;
|
|
5
|
+
projectId: bigint;
|
|
6
|
+
};
|
|
7
|
+
export declare function getSuckerPairs({ config, chainId, projectId, version, }: {
|
|
8
|
+
config: ReturnType<typeof useConfig>;
|
|
9
|
+
chainId: JBChainId;
|
|
10
|
+
projectId: bigint;
|
|
11
|
+
version: JBVersion;
|
|
12
|
+
}): Promise<SuckerPair[]>;
|
|
13
|
+
export declare function resolveSuckers({ config, chainId, projectId, version, }: {
|
|
14
|
+
config: ReturnType<typeof useConfig>;
|
|
15
|
+
chainId: JBChainId;
|
|
16
|
+
projectId: bigint;
|
|
17
|
+
version: JBVersion;
|
|
18
|
+
}): Promise<SuckerPair[]>;
|
|
19
|
+
//# sourceMappingURL=suckerPairs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suckerPairs.d.ts","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,MAAM,aAAa,CAAC;AAEtE,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,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,CA0DxB;AAED,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,yBA0BA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { getAddress, getContract, sliceHex } from "viem";
|
|
2
|
+
import { jbSuckerRegistryAbi, jbSuckerRegistryV5Abi } from "../generated/juicebox.js";
|
|
3
|
+
import { JBSuckerAbi } from "./JBSuckerAbi.js";
|
|
4
|
+
import { JBSuckerContracts } from "../types.js";
|
|
5
|
+
import { getJBContractAddress } from "../utils/contracts.js";
|
|
6
|
+
export async function getSuckerPairs({ config, chainId, projectId, version, }) {
|
|
7
|
+
const jbSuckerRegistry = getJBContractAddress(JBSuckerContracts.JBSuckerRegistry, version, chainId);
|
|
8
|
+
const client = config.getClient({ chainId: Number(chainId) });
|
|
9
|
+
// v6 identifies remote suckers as bytes32 (for cross-VM compatibility); for EVM peers
|
|
10
|
+
// the address is in the low 20 bytes.
|
|
11
|
+
const suckers = version === 6
|
|
12
|
+
? (await getContract({
|
|
13
|
+
address: jbSuckerRegistry,
|
|
14
|
+
abi: jbSuckerRegistryAbi,
|
|
15
|
+
client,
|
|
16
|
+
}).read.suckerPairsOf([projectId])).map((sucker) => ({ ...sucker, remote: getAddress(sliceHex(sucker.remote, 12)) }))
|
|
17
|
+
: await getContract({
|
|
18
|
+
address: jbSuckerRegistry,
|
|
19
|
+
abi: jbSuckerRegistryV5Abi,
|
|
20
|
+
client,
|
|
21
|
+
}).read.suckerPairsOf([projectId]);
|
|
22
|
+
const suckerPairs = await Promise.all(suckers.map(async (sucker) => {
|
|
23
|
+
const client = config.getClient({
|
|
24
|
+
chainId: Number(sucker.remoteChainId),
|
|
25
|
+
});
|
|
26
|
+
const suckerContract = getContract({
|
|
27
|
+
address: sucker.remote,
|
|
28
|
+
abi: JBSuckerAbi,
|
|
29
|
+
client,
|
|
30
|
+
});
|
|
31
|
+
const peer = (await suckerContract.read.peer());
|
|
32
|
+
if (!peer) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const peerContract = getContract({
|
|
36
|
+
address: peer,
|
|
37
|
+
abi: JBSuckerAbi,
|
|
38
|
+
client,
|
|
39
|
+
});
|
|
40
|
+
const projectId = await peerContract.read.projectId();
|
|
41
|
+
return {
|
|
42
|
+
peerChainId: Number(sucker.remoteChainId),
|
|
43
|
+
projectId,
|
|
44
|
+
};
|
|
45
|
+
}));
|
|
46
|
+
return suckerPairs.filter((x) => x);
|
|
47
|
+
}
|
|
48
|
+
export async function resolveSuckers({ config, chainId, projectId, version, }) {
|
|
49
|
+
const initialPairs = await getSuckerPairs({ config, chainId, projectId, version });
|
|
50
|
+
const pairs = [...initialPairs];
|
|
51
|
+
await Promise.all(initialPairs.map(async (pair) => {
|
|
52
|
+
try {
|
|
53
|
+
const peerPairs = await getSuckerPairs({
|
|
54
|
+
config,
|
|
55
|
+
chainId: pair.peerChainId,
|
|
56
|
+
projectId: pair.projectId,
|
|
57
|
+
version,
|
|
58
|
+
});
|
|
59
|
+
peerPairs.forEach((pair) => {
|
|
60
|
+
if (!pairs.some((x) => x.peerChainId === pair.peerChainId)) {
|
|
61
|
+
pairs.push(pair);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
console.error("peer error", e);
|
|
67
|
+
}
|
|
68
|
+
}));
|
|
69
|
+
return pairs;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=suckerPairs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suckerPairs.js","sourceRoot":"","sources":["../../../src/actions/suckerPairs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Address, Chain, Hash } from "viem";
|
|
2
|
+
import { JBChainId, JBVersion } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Representation of one ether.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ONE_ETHER: bigint;
|
|
7
|
+
/**
|
|
8
|
+
* Default value for `memo` arguments in Juicebox transactions.
|
|
9
|
+
*/
|
|
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
|
+
export declare const DEFAULT_MIN_RETURNED_TOKENS = 0n;
|
|
16
|
+
export declare const DEFAULT_ALLOW_OVERSPENDING = true;
|
|
17
|
+
/**
|
|
18
|
+
* The maximum value for a ruleset's Reserved Rate.
|
|
19
|
+
*
|
|
20
|
+
* @link JBConstants.sol
|
|
21
|
+
*/
|
|
22
|
+
export declare const MAX_RESERVED_PERCENT = 10000;
|
|
23
|
+
/**
|
|
24
|
+
* The maximum value for a ruleset's Cash Out Tax Rate.
|
|
25
|
+
*
|
|
26
|
+
* @link JBConstants.sol
|
|
27
|
+
*/
|
|
28
|
+
export declare const MAX_CASH_OUT_TAX_RATE = 10000;
|
|
29
|
+
/**
|
|
30
|
+
* The maximum value for a ruleset's Decay Rate.
|
|
31
|
+
*
|
|
32
|
+
* @link JBConstants.sol
|
|
33
|
+
*/
|
|
34
|
+
export declare const MAX_WEIGHT_CUT_PERCENT = 1000000000;
|
|
35
|
+
/**
|
|
36
|
+
* @link JBConstants.sol
|
|
37
|
+
*/
|
|
38
|
+
export declare const MAX_FEE = 1000000000;
|
|
39
|
+
/**
|
|
40
|
+
* @link JBConstants.sol
|
|
41
|
+
*/
|
|
42
|
+
export declare const MAX_FEE_DISCOUNT = 1000000000;
|
|
43
|
+
export declare const MAX_PAYOUT_LIMIT: bigint;
|
|
44
|
+
/**
|
|
45
|
+
* The 100% representation for a ruleset's Splits.
|
|
46
|
+
*
|
|
47
|
+
* The sum of all Splits should total this value.
|
|
48
|
+
*
|
|
49
|
+
* @link JBConstants.sol
|
|
50
|
+
*/
|
|
51
|
+
export declare const SPLITS_TOTAL_PERCENT = 1000000000;
|
|
52
|
+
/**
|
|
53
|
+
* The number of decimals that the internal JB Token has.
|
|
54
|
+
*
|
|
55
|
+
* JB Token are internal to the Juicebox contracts.
|
|
56
|
+
* They keep track of a given address's share of a treasury.
|
|
57
|
+
* At a later time, a wallet can claim their ERC-20 tokens based on the JB Token they hold.
|
|
58
|
+
*
|
|
59
|
+
*/
|
|
60
|
+
export declare const JB_TOKEN_DECIMALS: 18;
|
|
61
|
+
/**
|
|
62
|
+
* One JB project token as a fixed-point representation.
|
|
63
|
+
*/
|
|
64
|
+
export declare const ONE_JB_TOKEN: bigint;
|
|
65
|
+
/**
|
|
66
|
+
* An address representation of the network's 'native' token (e.g. ETH, OP).
|
|
67
|
+
* Within Juicebox contracts, each chain's native token address is represented by this address.
|
|
68
|
+
*
|
|
69
|
+
* @link JBConstants.sol
|
|
70
|
+
*/
|
|
71
|
+
export declare const NATIVE_TOKEN: Address;
|
|
72
|
+
/**
|
|
73
|
+
* The ID that represents the network's 'native' currency (e.g. ETH, OP).
|
|
74
|
+
*
|
|
75
|
+
* @link https://github.com/Bananapus/nana-core/blob/main/src/libraries/JBCurrencyIds.sol
|
|
76
|
+
*/
|
|
77
|
+
export declare const ETH_CURRENCY_ID = 1;
|
|
78
|
+
/**
|
|
79
|
+
* The ID that represents USD currencies. Use this when specifying USD-deonominated payouts.
|
|
80
|
+
*
|
|
81
|
+
* @link https://github.com/Bananapus/nana-core/blob/main/src/libraries/JBCurrencyIds.sol
|
|
82
|
+
*/
|
|
83
|
+
export declare const USD_CURRENCY_ID: (version: JBVersion) => 2 | 3;
|
|
84
|
+
/**
|
|
85
|
+
* Amount of decimals to use for native token fixed-point representation.
|
|
86
|
+
*
|
|
87
|
+
* 18 is assumed to be the default for most EVM-based chains.
|
|
88
|
+
*/
|
|
89
|
+
export declare const NATIVE_TOKEN_DECIMALS: 18;
|
|
90
|
+
/**
|
|
91
|
+
* The fee percentage taken by Juicebox DAO on cashing out Tokens.
|
|
92
|
+
*/
|
|
93
|
+
export declare const JBDAO_CASHOUT_FEE_PERCENT = 0.025;
|
|
94
|
+
type JBChainMetadata = {
|
|
95
|
+
chain: Chain;
|
|
96
|
+
name: string;
|
|
97
|
+
slug: string;
|
|
98
|
+
nativeTokenSymbol: string;
|
|
99
|
+
etherscanHostname: string;
|
|
100
|
+
};
|
|
101
|
+
export declare const JB_CHAINS: Record<JBChainId, JBChainMetadata>;
|
|
102
|
+
/**
|
|
103
|
+
* Map of JBChain slugs to chains.
|
|
104
|
+
* Useful when getting the chain for a particular url path.
|
|
105
|
+
*/
|
|
106
|
+
export declare const JB_CHAIN_SLUGS: Record<string, JBChainMetadata>;
|
|
107
|
+
export declare const DEFAULT_NATIVE_TOKEN_SYMBOL = "ETH";
|
|
108
|
+
type CCIPMap = {
|
|
109
|
+
[k in JBChainId]?: {
|
|
110
|
+
[k in JBChainId]?: Address;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* CCIP sucker deployer addresses, keyed by version, then local chain, then remote chain.
|
|
115
|
+
*
|
|
116
|
+
* The `5` map is also used for v4 deployments.
|
|
117
|
+
*
|
|
118
|
+
* @see https://discord.com/channels/1139291093310132376/1139291094069301385/1337164727008366683
|
|
119
|
+
*/
|
|
120
|
+
export declare const CCIP_SUCKER_DEPLOYER_ADDRESSES: Record<5 | 6, CCIPMap>;
|
|
121
|
+
/**
|
|
122
|
+
* USDC contract addresses on supported chains.
|
|
123
|
+
*/
|
|
124
|
+
export declare const USDC_ADDRESSES: Record<JBChainId, Address>;
|
|
125
|
+
export {};
|
|
126
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAA0B,MAAM,MAAM,CAAC;AAepE,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;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAY,IAAI,CAAC;AAC9C,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;;GAEG;AACH,eAAO,MAAM,OAAO,aAAgB,CAAC;AAErC;;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;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAE/C,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,eAAe,CAyDxD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,iCAM1B,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD,KAAK,OAAO,GAAG;KACZ,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,OAAO,CAiHjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CASrD,CAAC"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { parseEther, parseUnits } from "viem";
|
|
2
|
+
import { arbitrum, arbitrumSepolia, base, baseSepolia, mainnet, optimism, optimismSepolia, sepolia, } from "viem/chains";
|
|
3
|
+
import { jbCcipSuckerDeployerAddress, jbContractAddress, } from "./generated/juicebox.js";
|
|
4
|
+
import { JBSuckerContracts } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Representation of one ether.
|
|
7
|
+
*/
|
|
8
|
+
export const ONE_ETHER = parseEther("1");
|
|
9
|
+
/**
|
|
10
|
+
* Default value for `memo` arguments in Juicebox transactions.
|
|
11
|
+
*/
|
|
12
|
+
export const DEFAULT_MEMO = "";
|
|
13
|
+
/**
|
|
14
|
+
* Default value for `metadata` arguments in Juicebox transactions.
|
|
15
|
+
*/
|
|
16
|
+
export const DEFAULT_METADATA = "0x0";
|
|
17
|
+
export const DEFAULT_MIN_RETURNED_TOKENS = 0n;
|
|
18
|
+
export const DEFAULT_ALLOW_OVERSPENDING = true;
|
|
19
|
+
/**
|
|
20
|
+
* The maximum value for a ruleset's Reserved Rate.
|
|
21
|
+
*
|
|
22
|
+
* @link JBConstants.sol
|
|
23
|
+
*/
|
|
24
|
+
export const MAX_RESERVED_PERCENT = 10_000;
|
|
25
|
+
/**
|
|
26
|
+
* The maximum value for a ruleset's Cash Out Tax Rate.
|
|
27
|
+
*
|
|
28
|
+
* @link JBConstants.sol
|
|
29
|
+
*/
|
|
30
|
+
export const MAX_CASH_OUT_TAX_RATE = 10_000;
|
|
31
|
+
/**
|
|
32
|
+
* The maximum value for a ruleset's Decay Rate.
|
|
33
|
+
*
|
|
34
|
+
* @link JBConstants.sol
|
|
35
|
+
*/
|
|
36
|
+
export const MAX_WEIGHT_CUT_PERCENT = 1_000_000_000;
|
|
37
|
+
/**
|
|
38
|
+
* @link JBConstants.sol
|
|
39
|
+
*/
|
|
40
|
+
export const MAX_FEE = 1_000_000_000;
|
|
41
|
+
/**
|
|
42
|
+
* @link JBConstants.sol
|
|
43
|
+
*/
|
|
44
|
+
export const MAX_FEE_DISCOUNT = 1_000_000_000;
|
|
45
|
+
// uint 224, probably a better way lol
|
|
46
|
+
export const MAX_PAYOUT_LIMIT = BigInt("26959946667150639794667015087019630673637144422540572481103610249215");
|
|
47
|
+
/**
|
|
48
|
+
* The 100% representation for a ruleset's Splits.
|
|
49
|
+
*
|
|
50
|
+
* The sum of all Splits should total this value.
|
|
51
|
+
*
|
|
52
|
+
* @link JBConstants.sol
|
|
53
|
+
*/
|
|
54
|
+
export const SPLITS_TOTAL_PERCENT = 1_000_000_000;
|
|
55
|
+
/**
|
|
56
|
+
* The number of decimals that the internal JB Token has.
|
|
57
|
+
*
|
|
58
|
+
* JB Token are internal to the Juicebox contracts.
|
|
59
|
+
* They keep track of a given address's share of a treasury.
|
|
60
|
+
* At a later time, a wallet can claim their ERC-20 tokens based on the JB Token they hold.
|
|
61
|
+
*
|
|
62
|
+
*/
|
|
63
|
+
export const JB_TOKEN_DECIMALS = 18;
|
|
64
|
+
/**
|
|
65
|
+
* One JB project token as a fixed-point representation.
|
|
66
|
+
*/
|
|
67
|
+
export const ONE_JB_TOKEN = parseUnits("1", JB_TOKEN_DECIMALS);
|
|
68
|
+
/**
|
|
69
|
+
* An address representation of the network's 'native' token (e.g. ETH, OP).
|
|
70
|
+
* Within Juicebox contracts, each chain's native token address is represented by this address.
|
|
71
|
+
*
|
|
72
|
+
* @link JBConstants.sol
|
|
73
|
+
*/
|
|
74
|
+
export const NATIVE_TOKEN = "0x000000000000000000000000000000000000EEEe";
|
|
75
|
+
/**
|
|
76
|
+
* The ID that represents the network's 'native' currency (e.g. ETH, OP).
|
|
77
|
+
*
|
|
78
|
+
* @link https://github.com/Bananapus/nana-core/blob/main/src/libraries/JBCurrencyIds.sol
|
|
79
|
+
*/
|
|
80
|
+
export const ETH_CURRENCY_ID = 1;
|
|
81
|
+
/**
|
|
82
|
+
* The ID that represents USD currencies. Use this when specifying USD-deonominated payouts.
|
|
83
|
+
*
|
|
84
|
+
* @link https://github.com/Bananapus/nana-core/blob/main/src/libraries/JBCurrencyIds.sol
|
|
85
|
+
*/
|
|
86
|
+
export const USD_CURRENCY_ID = (version) => (version === 4 ? 3 : 2);
|
|
87
|
+
/**
|
|
88
|
+
* Amount of decimals to use for native token fixed-point representation.
|
|
89
|
+
*
|
|
90
|
+
* 18 is assumed to be the default for most EVM-based chains.
|
|
91
|
+
*/
|
|
92
|
+
export const NATIVE_TOKEN_DECIMALS = 18;
|
|
93
|
+
/**
|
|
94
|
+
* The fee percentage taken by Juicebox DAO on cashing out Tokens.
|
|
95
|
+
*/
|
|
96
|
+
export const JBDAO_CASHOUT_FEE_PERCENT = 0.025;
|
|
97
|
+
export const JB_CHAINS = {
|
|
98
|
+
[sepolia.id]: {
|
|
99
|
+
chain: sepolia,
|
|
100
|
+
name: "Sepolia",
|
|
101
|
+
slug: "sep",
|
|
102
|
+
nativeTokenSymbol: "SepETH",
|
|
103
|
+
etherscanHostname: "sepolia.etherscan.io",
|
|
104
|
+
},
|
|
105
|
+
[optimismSepolia.id]: {
|
|
106
|
+
chain: optimismSepolia,
|
|
107
|
+
name: "Optimism Sepolia",
|
|
108
|
+
slug: "opsep",
|
|
109
|
+
nativeTokenSymbol: "OPSepETH",
|
|
110
|
+
etherscanHostname: "sepolia-optimism.etherscan.io",
|
|
111
|
+
},
|
|
112
|
+
[baseSepolia.id]: {
|
|
113
|
+
chain: baseSepolia,
|
|
114
|
+
name: "Base Sepolia",
|
|
115
|
+
slug: "basesep",
|
|
116
|
+
nativeTokenSymbol: "BaseSepETH",
|
|
117
|
+
etherscanHostname: "sepolia.basescan.org",
|
|
118
|
+
},
|
|
119
|
+
[arbitrumSepolia.id]: {
|
|
120
|
+
chain: arbitrumSepolia,
|
|
121
|
+
name: "Arbitrum Sepolia",
|
|
122
|
+
slug: "arbsep",
|
|
123
|
+
nativeTokenSymbol: "ArbSepETH",
|
|
124
|
+
etherscanHostname: "sepolia.arbiscan.io",
|
|
125
|
+
},
|
|
126
|
+
[mainnet.id]: {
|
|
127
|
+
chain: mainnet,
|
|
128
|
+
name: "Ethereum",
|
|
129
|
+
slug: "eth",
|
|
130
|
+
nativeTokenSymbol: "ETH",
|
|
131
|
+
etherscanHostname: "etherscan.io",
|
|
132
|
+
},
|
|
133
|
+
[optimism.id]: {
|
|
134
|
+
chain: optimism,
|
|
135
|
+
name: "Optimism",
|
|
136
|
+
slug: "op",
|
|
137
|
+
nativeTokenSymbol: "ETH",
|
|
138
|
+
etherscanHostname: "optimism.etherscan.io",
|
|
139
|
+
},
|
|
140
|
+
[base.id]: {
|
|
141
|
+
chain: base,
|
|
142
|
+
name: "Base",
|
|
143
|
+
slug: "base",
|
|
144
|
+
nativeTokenSymbol: "ETH",
|
|
145
|
+
etherscanHostname: "basescan.org",
|
|
146
|
+
},
|
|
147
|
+
[arbitrum.id]: {
|
|
148
|
+
chain: arbitrum,
|
|
149
|
+
name: "Arbitrum",
|
|
150
|
+
slug: "arb",
|
|
151
|
+
nativeTokenSymbol: "ETH",
|
|
152
|
+
etherscanHostname: "arbiscan.io",
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* Map of JBChain slugs to chains.
|
|
157
|
+
* Useful when getting the chain for a particular url path.
|
|
158
|
+
*/
|
|
159
|
+
export const JB_CHAIN_SLUGS = Object.values(JB_CHAINS).reduce((slugs, chainMetadata) => {
|
|
160
|
+
slugs[chainMetadata.slug] = chainMetadata;
|
|
161
|
+
return slugs;
|
|
162
|
+
}, {});
|
|
163
|
+
export const DEFAULT_NATIVE_TOKEN_SYMBOL = "ETH";
|
|
164
|
+
/**
|
|
165
|
+
* CCIP sucker deployer addresses, keyed by version, then local chain, then remote chain.
|
|
166
|
+
*
|
|
167
|
+
* The `5` map is also used for v4 deployments.
|
|
168
|
+
*
|
|
169
|
+
* @see https://discord.com/channels/1139291093310132376/1139291094069301385/1337164727008366683
|
|
170
|
+
*/
|
|
171
|
+
export const CCIP_SUCKER_DEPLOYER_ADDRESSES = {
|
|
172
|
+
6: jbCcipSuckerDeployerAddress[6],
|
|
173
|
+
5: {
|
|
174
|
+
[sepolia.id]: {
|
|
175
|
+
[optimismSepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer][sepolia.id],
|
|
176
|
+
[baseSepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_1][sepolia.id],
|
|
177
|
+
[arbitrumSepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_2][sepolia.id],
|
|
178
|
+
},
|
|
179
|
+
[mainnet.id]: {
|
|
180
|
+
[optimism.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer][mainnet.id],
|
|
181
|
+
[base.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_1][mainnet.id],
|
|
182
|
+
[arbitrum.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_2][mainnet.id],
|
|
183
|
+
},
|
|
184
|
+
[arbitrumSepolia.id]: {
|
|
185
|
+
[sepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer][arbitrumSepolia.id],
|
|
186
|
+
[optimismSepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_1][arbitrumSepolia.id],
|
|
187
|
+
[baseSepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_2][arbitrumSepolia.id],
|
|
188
|
+
},
|
|
189
|
+
[arbitrum.id]: {
|
|
190
|
+
[mainnet.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer][arbitrum.id],
|
|
191
|
+
[optimism.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_1][arbitrum.id],
|
|
192
|
+
[base.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_2][arbitrum.id],
|
|
193
|
+
},
|
|
194
|
+
[optimismSepolia.id]: {
|
|
195
|
+
[sepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer][optimismSepolia.id],
|
|
196
|
+
[arbitrumSepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_1][optimismSepolia.id],
|
|
197
|
+
[baseSepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_2][optimismSepolia.id],
|
|
198
|
+
},
|
|
199
|
+
[optimism.id]: {
|
|
200
|
+
[mainnet.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer][optimism.id],
|
|
201
|
+
[arbitrum.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_1][optimism.id],
|
|
202
|
+
[base.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_2][optimism.id],
|
|
203
|
+
},
|
|
204
|
+
[baseSepolia.id]: {
|
|
205
|
+
[sepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer][baseSepolia.id],
|
|
206
|
+
[optimismSepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_1][baseSepolia.id],
|
|
207
|
+
[arbitrumSepolia.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_2][baseSepolia.id],
|
|
208
|
+
},
|
|
209
|
+
[base.id]: {
|
|
210
|
+
[mainnet.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer][base.id],
|
|
211
|
+
[optimism.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_1][base.id],
|
|
212
|
+
[arbitrum.id]: jbContractAddress[5][JBSuckerContracts.JBCCIPSuckerDeployer_2][base.id],
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* USDC contract addresses on supported chains.
|
|
218
|
+
*/
|
|
219
|
+
export const USDC_ADDRESSES = {
|
|
220
|
+
[sepolia.id]: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
|
|
221
|
+
[mainnet.id]: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
222
|
+
[optimismSepolia.id]: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7",
|
|
223
|
+
[optimism.id]: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
|
|
224
|
+
[baseSepolia.id]: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
|
|
225
|
+
[base.id]: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
226
|
+
[arbitrumSepolia.id]: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
|
|
227
|
+
[arbitrum.id]: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
|
228
|
+
};
|
|
229
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export type JBVersion = 4 | 5 | 6;
|
|
2
|
+
export declare enum JBCoreContracts {
|
|
3
|
+
JBController = "JBController",
|
|
4
|
+
JBController4_1 = "JBController4_1",
|
|
5
|
+
JBDeadline1Day = "JBDeadline1Day",
|
|
6
|
+
JBDeadline3Days = "JBDeadline3Days",
|
|
7
|
+
JBDeadline7Days = "JBDeadline7Days",
|
|
8
|
+
JBDeadline3Hours = "JBDeadline3Hours",
|
|
9
|
+
JBDirectory = "JBDirectory",
|
|
10
|
+
JBMultiTerminal = "JBMultiTerminal",
|
|
11
|
+
JBRulesets = "JBRulesets",
|
|
12
|
+
JBPermissions = "JBPermissions",
|
|
13
|
+
JBProjects = "JBProjects",
|
|
14
|
+
JBSplits = "JBSplits",
|
|
15
|
+
JBTokens = "JBTokens",
|
|
16
|
+
JBTerminalStore = "JBTerminalStore",
|
|
17
|
+
JBFundAccessLimits = "JBFundAccessLimits",
|
|
18
|
+
JBPrices = "JBPrices",
|
|
19
|
+
ERC2771Forwarder = "ERC2771Forwarder"
|
|
20
|
+
}
|
|
21
|
+
export declare enum JB721HookContracts {
|
|
22
|
+
JB721TiersHookDeployer = "JB721TiersHookDeployer",
|
|
23
|
+
JB721TiersHookProjectDeployer = "JB721TiersHookProjectDeployer",
|
|
24
|
+
JB721TiersHook = "JB721TiersHook",
|
|
25
|
+
JB721TiersHookStore = "JB721TiersHookStore"
|
|
26
|
+
}
|
|
27
|
+
export declare enum JBAddressRegistryContracts {
|
|
28
|
+
JBAddressRegistry = "JBAddressRegistry"
|
|
29
|
+
}
|
|
30
|
+
export declare enum JBSuckerContracts {
|
|
31
|
+
JBSuckerRegistry = "JBSuckerRegistry",
|
|
32
|
+
JBCCIPSuckerDeployer = "JBCCIPSuckerDeployer",
|
|
33
|
+
JBCCIPSuckerDeployer_1 = "JBCCIPSuckerDeployer_1",
|
|
34
|
+
JBCCIPSuckerDeployer_2 = "JBCCIPSuckerDeployer_2"
|
|
35
|
+
}
|
|
36
|
+
export declare enum JBSwapTerminalContracts {
|
|
37
|
+
JBSwapTerminal = "JBSwapTerminal",
|
|
38
|
+
JBSwapTerminal1_1 = "JBSwapTerminal1_1",
|
|
39
|
+
JBSwapTerminalRegistry = "JBSwapTerminalRegistry",
|
|
40
|
+
JBSwapTerminalUSDCRegistry = "JBSwapTerminalUSDCRegistry"
|
|
41
|
+
}
|
|
42
|
+
export declare enum JBBuybackHookContracts {
|
|
43
|
+
JBBuybackHook = "JBBuybackHook",
|
|
44
|
+
JBBuybackHookRegistry = "JBBuybackHookRegistry"
|
|
45
|
+
}
|
|
46
|
+
export declare enum JBRouterTerminalContracts {
|
|
47
|
+
JBRouterTerminal = "JBRouterTerminal",
|
|
48
|
+
JBRouterTerminalRegistry = "JBRouterTerminalRegistry"
|
|
49
|
+
}
|
|
50
|
+
export declare enum JBOmnichainDeployerContracts {
|
|
51
|
+
JBOmnichainDeployer = "JBOmnichainDeployer",
|
|
52
|
+
JBOmnichainDeployer4_1 = "JBOmnichainDeployer4_1"
|
|
53
|
+
}
|
|
54
|
+
export declare enum RevnetCoreContracts {
|
|
55
|
+
REVDeployer = "REVDeployer",
|
|
56
|
+
REVLoans = "REVLoans",
|
|
57
|
+
REVLoans1_1 = "REVLoans1_1",// for v4
|
|
58
|
+
REVOwner = "REVOwner"
|
|
59
|
+
}
|
|
60
|
+
export type Contract = JB721HookContracts | JBCoreContracts | JBSuckerContracts | JBAddressRegistryContracts | JBSwapTerminalContracts | JBBuybackHookContracts | JBRouterTerminalContracts | JBOmnichainDeployerContracts | RevnetCoreContracts;
|
|
61
|
+
export declare const SUPPORTED_CHAINS: {
|
|
62
|
+
readonly 11155111: "sepolia";
|
|
63
|
+
readonly 11155420: "optimism_sepolia";
|
|
64
|
+
readonly 421614: "arbitrum_sepolia";
|
|
65
|
+
readonly 84532: "base_sepolia";
|
|
66
|
+
readonly 1: "ethereum";
|
|
67
|
+
readonly 10: "optimism";
|
|
68
|
+
readonly 42161: "arbitrum";
|
|
69
|
+
readonly 8453: "base";
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +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"}
|