@bananapus/nana-sdk-core 1.1.0 → 1.2.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.js +4 -1
- package/dist/cjs/actions/JBSuckerAbi.js.map +1 -1
- package/dist/cjs/actions/dataHook.js +26 -22
- package/dist/cjs/actions/dataHook.js.map +1 -1
- package/dist/cjs/actions/projectMetadata.js +12 -8
- package/dist/cjs/actions/projectMetadata.js.map +1 -1
- package/dist/cjs/actions/suckerPairs.js +21 -17
- package/dist/cjs/actions/suckerPairs.js.map +1 -1
- package/dist/cjs/constants.d.ts +8 -2
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +97 -85
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/contracts.js +22 -19
- package/dist/cjs/contracts.js.map +1 -1
- package/dist/cjs/generated/juicebox.d.ts +36 -0
- package/dist/cjs/generated/juicebox.d.ts.map +1 -1
- package/dist/cjs/generated/juicebox.js +130 -90
- package/dist/cjs/generated/juicebox.js.map +1 -1
- package/dist/cjs/index.js +24 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/types.js +15 -4
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/contracts.js +19 -14
- package/dist/cjs/utils/contracts.js.map +1 -1
- package/dist/cjs/utils/data.js +23 -13
- package/dist/cjs/utils/data.js.map +1 -1
- package/dist/cjs/utils/data.test.js +19 -17
- package/dist/cjs/utils/data.test.js.map +1 -1
- package/dist/cjs/utils/debug.js +4 -1
- package/dist/cjs/utils/debug.js.map +1 -1
- package/dist/cjs/utils/deploy.d.ts +17 -0
- package/dist/cjs/utils/deploy.d.ts.map +1 -1
- package/dist/cjs/utils/deploy.js +63 -27
- package/dist/cjs/utils/deploy.js.map +1 -1
- package/dist/cjs/utils/deploy.test.js +56 -13
- package/dist/cjs/utils/deploy.test.js.map +1 -1
- package/dist/cjs/utils/fee.js +6 -3
- package/dist/cjs/utils/fee.js.map +1 -1
- package/dist/cjs/utils/fee.test.js +8 -6
- package/dist/cjs/utils/fee.test.js.map +1 -1
- package/dist/cjs/utils/format.js +11 -6
- package/dist/cjs/utils/format.js.map +1 -1
- package/dist/cjs/utils/format.test.js +11 -9
- package/dist/cjs/utils/format.test.js.map +1 -1
- package/dist/cjs/utils/hook.js +9 -6
- package/dist/cjs/utils/hook.js.map +1 -1
- package/dist/cjs/utils/index.js +28 -12
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ipfs.js +14 -6
- package/dist/cjs/utils/ipfs.js.map +1 -1
- package/dist/cjs/utils/ipfs.test.js +23 -18
- package/dist/cjs/utils/ipfs.test.js.map +1 -1
- package/dist/cjs/utils/revnet.js +9 -5
- package/dist/cjs/utils/revnet.js.map +1 -1
- package/dist/cjs/utils/revnet.test.js +9 -7
- package/dist/cjs/utils/revnet.test.js.map +1 -1
- package/dist/cjs/utils/ruleset.js +11 -7
- package/dist/cjs/utils/ruleset.js.map +1 -1
- package/dist/cjs/utils/ruleset.test.js +9 -7
- package/dist/cjs/utils/ruleset.test.js.map +1 -1
- package/dist/cjs/utils/token.js +26 -19
- package/dist/cjs/utils/token.js.map +1 -1
- package/dist/cjs/utils/token.test.js +25 -23
- package/dist/cjs/utils/token.test.js.map +1 -1
- package/dist/cjs/utils/tx.js +6 -3
- package/dist/cjs/utils/tx.js.map +1 -1
- package/dist/cjs/utils/urn.js +9 -5
- package/dist/cjs/utils/urn.js.map +1 -1
- package/dist/cjs/utils/urn.test.js +71 -69
- package/dist/cjs/utils/urn.test.js.map +1 -1
- package/dist/cjs/v6/cashOut.d.ts +5 -0
- package/dist/cjs/v6/cashOut.d.ts.map +1 -1
- package/dist/cjs/v6/cashOut.js +19 -10
- package/dist/cjs/v6/cashOut.js.map +1 -1
- package/dist/cjs/v6/cashOut.test.js +42 -40
- package/dist/cjs/v6/cashOut.test.js.map +1 -1
- package/dist/cjs/v6/currency.js +8 -4
- package/dist/cjs/v6/currency.js.map +1 -1
- package/dist/cjs/v6/currency.test.js +18 -16
- package/dist/cjs/v6/currency.test.js.map +1 -1
- package/dist/cjs/v6/fees.js +11 -6
- package/dist/cjs/v6/fees.js.map +1 -1
- package/dist/cjs/v6/fees.test.js +29 -27
- package/dist/cjs/v6/fees.test.js.map +1 -1
- package/dist/cjs/v6/index.js +31 -15
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/launch.js +31 -23
- package/dist/cjs/v6/launch.js.map +1 -1
- package/dist/cjs/v6/launch.test.js +85 -83
- package/dist/cjs/v6/launch.test.js.map +1 -1
- package/dist/cjs/v6/loans.js +26 -19
- package/dist/cjs/v6/loans.js.map +1 -1
- package/dist/cjs/v6/loans.test.js +52 -50
- package/dist/cjs/v6/loans.test.js.map +1 -1
- package/dist/cjs/v6/omnichain.d.ts +6 -1
- package/dist/cjs/v6/omnichain.d.ts.map +1 -1
- package/dist/cjs/v6/omnichain.js +20 -12
- package/dist/cjs/v6/omnichain.js.map +1 -1
- package/dist/cjs/v6/omnichain.test.js +63 -61
- package/dist/cjs/v6/omnichain.test.js.map +1 -1
- package/dist/cjs/v6/pay.js +20 -15
- package/dist/cjs/v6/pay.js.map +1 -1
- package/dist/cjs/v6/pay.test.js +49 -47
- package/dist/cjs/v6/pay.test.js.map +1 -1
- package/dist/cjs/v6/permissions.js +14 -9
- package/dist/cjs/v6/permissions.js.map +1 -1
- package/dist/cjs/v6/permissions.test.js +47 -45
- package/dist/cjs/v6/permissions.test.js.map +1 -1
- package/dist/cjs/v6/revnets.d.ts +5 -3
- package/dist/cjs/v6/revnets.d.ts.map +1 -1
- package/dist/cjs/v6/revnets.js +43 -26
- package/dist/cjs/v6/revnets.js.map +1 -1
- package/dist/cjs/v6/revnets.test.js +80 -78
- package/dist/cjs/v6/revnets.test.js.map +1 -1
- package/dist/cjs/v6/rulesets.js +20 -14
- package/dist/cjs/v6/rulesets.js.map +1 -1
- package/dist/cjs/v6/rulesets.test.js +50 -48
- package/dist/cjs/v6/rulesets.test.js.map +1 -1
- package/dist/cjs/v6/splits.d.ts +3 -2
- package/dist/cjs/v6/splits.d.ts.map +1 -1
- package/dist/cjs/v6/splits.js +29 -18
- package/dist/cjs/v6/splits.js.map +1 -1
- package/dist/cjs/v6/splits.test.js +84 -80
- package/dist/cjs/v6/splits.test.js.map +1 -1
- package/dist/cjs/v6/suckers.js +22 -15
- package/dist/cjs/v6/suckers.js.map +1 -1
- package/dist/cjs/v6/suckers.test.js +57 -55
- package/dist/cjs/v6/suckers.test.js.map +1 -1
- package/dist/cjs/v6/terminals.js +15 -11
- package/dist/cjs/v6/terminals.js.map +1 -1
- package/dist/cjs/v6/terminals.test.js +30 -28
- package/dist/cjs/v6/terminals.test.js.map +1 -1
- package/dist/cjs/v6/tokens.js +34 -25
- package/dist/cjs/v6/tokens.js.map +1 -1
- package/dist/cjs/v6/tokens.test.js +66 -64
- package/dist/cjs/v6/tokens.test.js.map +1 -1
- package/dist/cjs/v6/types.js +6 -3
- package/dist/cjs/v6/types.js.map +1 -1
- package/dist/esm/constants.d.ts +8 -2
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +9 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/generated/juicebox.d.ts +36 -0
- package/dist/esm/generated/juicebox.d.ts.map +1 -1
- package/dist/esm/generated/juicebox.js +36 -0
- package/dist/esm/generated/juicebox.js.map +1 -1
- package/dist/esm/utils/deploy.d.ts +17 -0
- package/dist/esm/utils/deploy.d.ts.map +1 -1
- package/dist/esm/utils/deploy.js +50 -18
- package/dist/esm/utils/deploy.js.map +1 -1
- package/dist/esm/utils/deploy.test.js +41 -0
- package/dist/esm/utils/deploy.test.js.map +1 -1
- package/dist/esm/v6/cashOut.d.ts +5 -0
- package/dist/esm/v6/cashOut.d.ts.map +1 -1
- package/dist/esm/v6/cashOut.js +5 -0
- package/dist/esm/v6/cashOut.js.map +1 -1
- package/dist/esm/v6/omnichain.d.ts +6 -1
- package/dist/esm/v6/omnichain.d.ts.map +1 -1
- package/dist/esm/v6/omnichain.js +6 -2
- package/dist/esm/v6/omnichain.js.map +1 -1
- package/dist/esm/v6/revnets.d.ts +5 -3
- package/dist/esm/v6/revnets.d.ts.map +1 -1
- package/dist/esm/v6/revnets.js +12 -4
- package/dist/esm/v6/revnets.js.map +1 -1
- package/dist/esm/v6/splits.d.ts +3 -2
- package/dist/esm/v6/splits.d.ts.map +1 -1
- package/dist/esm/v6/splits.js +9 -5
- package/dist/esm/v6/splits.js.map +1 -1
- package/dist/esm/v6/splits.test.js +8 -6
- package/dist/esm/v6/splits.test.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -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,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,oBAAoB;aACnC;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,29 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.find721DataHook = find721DataHook;
|
|
4
|
+
exports.getHookSpecifications = getHookSpecifications;
|
|
5
|
+
const types_js_1 = require("../types.js");
|
|
6
|
+
const contracts_js_1 = require("../utils/contracts.js");
|
|
7
|
+
const viem_1 = require("viem");
|
|
8
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
9
|
+
const debug_js_1 = require("../utils/debug.js");
|
|
6
10
|
/**
|
|
7
11
|
* Find the 721 data hook for a given project and ruleset.
|
|
8
12
|
*
|
|
9
13
|
* NOTE this is an expensive call. Best to run it server-side and cache it.
|
|
10
14
|
*/
|
|
11
|
-
|
|
15
|
+
async function find721DataHook(publicClient, args) {
|
|
12
16
|
const chainId = publicClient.chain?.id;
|
|
13
17
|
if (!chainId) {
|
|
14
18
|
throw new Error("[@bananapus/nana-sdk-core] No chain ID on public client.");
|
|
15
19
|
}
|
|
16
|
-
const deployerAddress = getJBContractAddress(JB721HookContracts.JB721TiersHookDeployer, args.version, chainId);
|
|
17
|
-
const registerAddress = getJBContractAddress(JBAddressRegistryContracts.JBAddressRegistry, args.version, chainId);
|
|
20
|
+
const deployerAddress = (0, contracts_js_1.getJBContractAddress)(types_js_1.JB721HookContracts.JB721TiersHookDeployer, args.version, chainId);
|
|
21
|
+
const registerAddress = (0, contracts_js_1.getJBContractAddress)(types_js_1.JBAddressRegistryContracts.JBAddressRegistry, args.version, chainId);
|
|
18
22
|
if (!registerAddress) {
|
|
19
23
|
throw new Error(`[@bananapus/nana-sdk-core] No JBAddressRegistry address for chain ${chainId}.`);
|
|
20
24
|
}
|
|
21
|
-
const registry = getContract({
|
|
25
|
+
const registry = (0, viem_1.getContract)({
|
|
22
26
|
address: registerAddress,
|
|
23
|
-
abi: jbAddressRegistryAbi,
|
|
27
|
+
abi: juicebox_js_1.jbAddressRegistryAbi,
|
|
24
28
|
client: publicClient,
|
|
25
29
|
});
|
|
26
|
-
debug("🧃 getHookSpecifications::args", {
|
|
30
|
+
(0, debug_js_1.debug)("🧃 getHookSpecifications::args", {
|
|
27
31
|
dataHookAddress: args.dataHookAddress,
|
|
28
32
|
projectId: args.projectId,
|
|
29
33
|
rulesetId: args.rulesetId,
|
|
@@ -36,12 +40,12 @@ export async function find721DataHook(publicClient, args) {
|
|
|
36
40
|
});
|
|
37
41
|
const res = await Promise.all(hookSpecs.map(async (h) => {
|
|
38
42
|
const deployerOf = await registry.read.deployerOf([h.hook]);
|
|
39
|
-
debug("🧃 deployerOf", {
|
|
43
|
+
(0, debug_js_1.debug)("🧃 deployerOf", {
|
|
40
44
|
hook: h.hook,
|
|
41
45
|
deployerOf,
|
|
42
46
|
deployerAddress,
|
|
43
47
|
});
|
|
44
|
-
return isAddressEqual(deployerOf, deployerAddress);
|
|
48
|
+
return (0, viem_1.isAddressEqual)(deployerOf, deployerAddress);
|
|
45
49
|
}));
|
|
46
50
|
const index = res.findIndex((r) => r);
|
|
47
51
|
if (index === -1) {
|
|
@@ -49,33 +53,33 @@ export async function find721DataHook(publicClient, args) {
|
|
|
49
53
|
}
|
|
50
54
|
return hookSpecs[index].hook;
|
|
51
55
|
}
|
|
52
|
-
|
|
56
|
+
async function getHookSpecifications(publicClient, args) {
|
|
53
57
|
// v6's returned JBPayHookSpecification gained a `noop` field, so the v4/v5 response
|
|
54
58
|
// doesn't decode with the v6 ABI.
|
|
55
|
-
const dataHook = getContract({
|
|
59
|
+
const dataHook = (0, viem_1.getContract)({
|
|
56
60
|
address: args.dataHookAddress,
|
|
57
|
-
abi: args.version === 6 ? jb721TiersHookAbi : jb721TiersHookV5Abi,
|
|
61
|
+
abi: args.version === 6 ? juicebox_js_1.jb721TiersHookAbi : juicebox_js_1.jb721TiersHookV5Abi,
|
|
58
62
|
client: publicClient,
|
|
59
63
|
});
|
|
60
64
|
const [_, hookSpecifications] = await dataHook.read.beforePayRecordedWith([
|
|
61
65
|
{
|
|
62
66
|
projectId: args.projectId,
|
|
63
67
|
rulesetId: BigInt(args.rulesetId), // TODO update the ABI to be a number, will fix this.
|
|
64
|
-
terminal: zeroAddress,
|
|
65
|
-
beneficiary: zeroAddress,
|
|
68
|
+
terminal: viem_1.zeroAddress,
|
|
69
|
+
beneficiary: viem_1.zeroAddress,
|
|
66
70
|
amount: {
|
|
67
|
-
token: zeroAddress,
|
|
71
|
+
token: viem_1.zeroAddress,
|
|
68
72
|
value: 0n,
|
|
69
73
|
decimals: 0,
|
|
70
74
|
currency: 0,
|
|
71
75
|
},
|
|
72
|
-
payer: zeroAddress,
|
|
76
|
+
payer: viem_1.zeroAddress,
|
|
73
77
|
weight: 0n,
|
|
74
78
|
reservedPercent: 0n,
|
|
75
|
-
metadata: zeroAddress,
|
|
79
|
+
metadata: viem_1.zeroAddress,
|
|
76
80
|
},
|
|
77
81
|
]);
|
|
78
|
-
debug("🧃 getHookSpecifications", { args, hookSpecifications });
|
|
82
|
+
(0, debug_js_1.debug)("🧃 getHookSpecifications", { args, hookSpecifications });
|
|
79
83
|
return hookSpecifications;
|
|
80
84
|
}
|
|
81
85
|
//# sourceMappingURL=dataHook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataHook.js","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataHook.js","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getProjectMetadata = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
6
|
+
const ipfs_js_1 = require("../utils/ipfs.js");
|
|
4
7
|
/**
|
|
5
8
|
* Fetch the onchain metadata CID for the given project, using the given JBController contract.
|
|
6
9
|
*/
|
|
7
10
|
const getMetadataCid = async (publicClient, args) => {
|
|
8
|
-
if (isAddressEqual(args.jbControllerAddress, zeroAddress)) {
|
|
11
|
+
if ((0, viem_1.isAddressEqual)(args.jbControllerAddress, viem_1.zeroAddress)) {
|
|
9
12
|
return;
|
|
10
13
|
}
|
|
11
|
-
const JBController = getContract({
|
|
14
|
+
const JBController = (0, viem_1.getContract)({
|
|
12
15
|
address: args.jbControllerAddress,
|
|
13
|
-
abi: jbControllerAbi,
|
|
16
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
14
17
|
client: publicClient,
|
|
15
18
|
});
|
|
16
19
|
// ipfs://cid or https://cid, probably
|
|
@@ -25,13 +28,14 @@ const getMetadataCid = async (publicClient, args) => {
|
|
|
25
28
|
* @param opts.ipfsGatewayHostname - The hostname of the IPFS gateway to use. Defaults to "ipfs.io"
|
|
26
29
|
*
|
|
27
30
|
*/
|
|
28
|
-
|
|
31
|
+
const getProjectMetadata = async (publicClient, args, opts) => {
|
|
29
32
|
const metadataCid = await getMetadataCid(publicClient, args);
|
|
30
33
|
if (!metadataCid) {
|
|
31
34
|
return;
|
|
32
35
|
}
|
|
33
|
-
const ipfsUrl = ipfsGatewayUrl(metadataCid, opts?.ipfsGatewayHostname);
|
|
36
|
+
const ipfsUrl = (0, ipfs_js_1.ipfsGatewayUrl)(metadataCid, opts?.ipfsGatewayHostname);
|
|
34
37
|
const res = (await fetch(ipfsUrl).then((res) => res.json()));
|
|
35
38
|
return res;
|
|
36
39
|
};
|
|
40
|
+
exports.getProjectMetadata = getProjectMetadata;
|
|
37
41
|
//# sourceMappingURL=projectMetadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/actions/projectMetadata.ts"],"names":[],"mappings":";;;AAAA,+BAMc;AACd,0DAA2D;AAE3D,8CAAkD;AAElD;;GAEG;AACH,MAAM,cAAc,GAAG,KAAK,EAC1B,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,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;AACI,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,IAAA,wBAAc,EAAC,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;AApBW,QAAA,kBAAkB,sBAoB7B"}
|
|
@@ -1,40 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSuckerPairs = getSuckerPairs;
|
|
4
|
+
exports.resolveSuckers = resolveSuckers;
|
|
5
|
+
const viem_1 = require("viem");
|
|
6
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
7
|
+
const JBSuckerAbi_js_1 = require("./JBSuckerAbi.js");
|
|
8
|
+
const types_js_1 = require("../types.js");
|
|
9
|
+
const contracts_js_1 = require("../utils/contracts.js");
|
|
10
|
+
async function getSuckerPairs({ config, chainId, projectId, version, }) {
|
|
11
|
+
const jbSuckerRegistry = (0, contracts_js_1.getJBContractAddress)(types_js_1.JBSuckerContracts.JBSuckerRegistry, version, chainId);
|
|
8
12
|
const client = config.getClient({ chainId: Number(chainId) });
|
|
9
13
|
// v6 identifies remote suckers as bytes32 (for cross-VM compatibility); for EVM peers
|
|
10
14
|
// the address is in the low 20 bytes.
|
|
11
15
|
const suckers = version === 6
|
|
12
|
-
? (await getContract({
|
|
16
|
+
? (await (0, viem_1.getContract)({
|
|
13
17
|
address: jbSuckerRegistry,
|
|
14
|
-
abi: jbSuckerRegistryAbi,
|
|
18
|
+
abi: juicebox_js_1.jbSuckerRegistryAbi,
|
|
15
19
|
client,
|
|
16
|
-
}).read.suckerPairsOf([projectId])).map((sucker) => ({ ...sucker, remote: getAddress(sliceHex(sucker.remote, 12)) }))
|
|
17
|
-
: await getContract({
|
|
20
|
+
}).read.suckerPairsOf([projectId])).map((sucker) => ({ ...sucker, remote: (0, viem_1.getAddress)((0, viem_1.sliceHex)(sucker.remote, 12)) }))
|
|
21
|
+
: await (0, viem_1.getContract)({
|
|
18
22
|
address: jbSuckerRegistry,
|
|
19
|
-
abi: jbSuckerRegistryV5Abi,
|
|
23
|
+
abi: juicebox_js_1.jbSuckerRegistryV5Abi,
|
|
20
24
|
client,
|
|
21
25
|
}).read.suckerPairsOf([projectId]);
|
|
22
26
|
const suckerPairs = await Promise.all(suckers.map(async (sucker) => {
|
|
23
27
|
const client = config.getClient({
|
|
24
28
|
chainId: Number(sucker.remoteChainId),
|
|
25
29
|
});
|
|
26
|
-
const suckerContract = getContract({
|
|
30
|
+
const suckerContract = (0, viem_1.getContract)({
|
|
27
31
|
address: sucker.remote,
|
|
28
|
-
abi: JBSuckerAbi,
|
|
32
|
+
abi: JBSuckerAbi_js_1.JBSuckerAbi,
|
|
29
33
|
client,
|
|
30
34
|
});
|
|
31
35
|
const peer = (await suckerContract.read.peer());
|
|
32
36
|
if (!peer) {
|
|
33
37
|
return;
|
|
34
38
|
}
|
|
35
|
-
const peerContract = getContract({
|
|
39
|
+
const peerContract = (0, viem_1.getContract)({
|
|
36
40
|
address: peer,
|
|
37
|
-
abi: JBSuckerAbi,
|
|
41
|
+
abi: JBSuckerAbi_js_1.JBSuckerAbi,
|
|
38
42
|
client,
|
|
39
43
|
});
|
|
40
44
|
const projectId = await peerContract.read.projectId();
|
|
@@ -45,7 +49,7 @@ export async function getSuckerPairs({ config, chainId, projectId, version, }) {
|
|
|
45
49
|
}));
|
|
46
50
|
return suckerPairs.filter((x) => x);
|
|
47
51
|
}
|
|
48
|
-
|
|
52
|
+
async function resolveSuckers({ config, chainId, projectId, version, }) {
|
|
49
53
|
const initialPairs = await getSuckerPairs({ config, chainId, projectId, version });
|
|
50
54
|
const pairs = [...initialPairs];
|
|
51
55
|
await Promise.all(initialPairs.map(async (pair) => {
|
|
@@ -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
|
@@ -105,7 +105,7 @@ export declare const JB_CHAINS: Record<JBChainId, JBChainMetadata>;
|
|
|
105
105
|
*/
|
|
106
106
|
export declare const JB_CHAIN_SLUGS: Record<string, JBChainMetadata>;
|
|
107
107
|
export declare const DEFAULT_NATIVE_TOKEN_SYMBOL = "ETH";
|
|
108
|
-
type
|
|
108
|
+
type SuckerDeployerMap = {
|
|
109
109
|
[k in JBChainId]?: {
|
|
110
110
|
[k in JBChainId]?: Address;
|
|
111
111
|
};
|
|
@@ -117,7 +117,13 @@ type CCIPMap = {
|
|
|
117
117
|
*
|
|
118
118
|
* @see https://discord.com/channels/1139291093310132376/1139291094069301385/1337164727008366683
|
|
119
119
|
*/
|
|
120
|
-
export declare const CCIP_SUCKER_DEPLOYER_ADDRESSES: Record<5 | 6,
|
|
120
|
+
export declare const CCIP_SUCKER_DEPLOYER_ADDRESSES: Record<5 | 6, SuckerDeployerMap>;
|
|
121
|
+
/**
|
|
122
|
+
* Native-bridge (OP/Base/Arbitrum standard bridge) sucker deployer addresses, keyed by
|
|
123
|
+
* version, then local chain, then remote chain. Native bridges only connect Ethereum
|
|
124
|
+
* with an L2, so only L1<->L2 edges exist. v6 only.
|
|
125
|
+
*/
|
|
126
|
+
export declare const NATIVE_SUCKER_DEPLOYER_ADDRESSES: Record<6, SuckerDeployerMap>;
|
|
121
127
|
/**
|
|
122
128
|
* USDC contract addresses on supported chains.
|
|
123
129
|
*/
|
|
@@ -1 +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;
|
|
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;AAgBpE,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,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,CAiH3E,CAAC;AAEF;;;;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"}
|