@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
package/dist/cjs/v6/suckers.js
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jbSuckerV6Abi = void 0;
|
|
4
|
+
exports.buildBridgePrepareTx = buildBridgePrepareTx;
|
|
5
|
+
exports.buildBridgeClaimTx = buildBridgeClaimTx;
|
|
6
|
+
exports.buildToRemoteTx = buildToRemoteTx;
|
|
7
|
+
exports.getV6SuckerPairs = getV6SuckerPairs;
|
|
8
|
+
const viem_1 = require("viem");
|
|
9
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
10
|
+
const types_js_1 = require("./types.js");
|
|
4
11
|
/**
|
|
5
12
|
* Minimal v6 JBSucker ABI. v6 identifies remote beneficiaries as bytes32 (for cross-VM
|
|
6
13
|
* compatibility) and adds an opaque `metadata` attribution payload to prepared leaves.
|
|
7
14
|
*/
|
|
8
|
-
|
|
15
|
+
exports.jbSuckerV6Abi = [
|
|
9
16
|
{
|
|
10
17
|
type: "function",
|
|
11
18
|
name: "prepare",
|
|
@@ -74,16 +81,16 @@ export const jbSuckerV6Abi = [
|
|
|
74
81
|
* @param args.metadata Opaque bytes32 attribution payload hashed into the leaf. Defaults to
|
|
75
82
|
* zero.
|
|
76
83
|
*/
|
|
77
|
-
|
|
84
|
+
function buildBridgePrepareTx({ chainId, sucker, projectTokenCount, beneficiary, minTokensReclaimed = 0n, token, metadata = viem_1.zeroHash, }) {
|
|
78
85
|
return {
|
|
79
86
|
chainId,
|
|
80
87
|
address: sucker,
|
|
81
|
-
abi: jbSuckerV6Abi,
|
|
88
|
+
abi: exports.jbSuckerV6Abi,
|
|
82
89
|
functionName: "prepare",
|
|
83
90
|
args: [
|
|
84
91
|
projectTokenCount,
|
|
85
92
|
// Lowercase so the bytes32 is deterministic regardless of input checksum casing.
|
|
86
|
-
pad(beneficiary.toLowerCase(), { size: 32 }),
|
|
93
|
+
(0, viem_1.pad)(beneficiary.toLowerCase(), { size: 32 }),
|
|
87
94
|
minTokensReclaimed,
|
|
88
95
|
token,
|
|
89
96
|
metadata,
|
|
@@ -99,11 +106,11 @@ export function buildBridgePrepareTx({ chainId, sucker, projectTokenCount, benef
|
|
|
99
106
|
* @param args.claim The claim: terminal token, leaf (with bytes32 beneficiary), and a
|
|
100
107
|
* 32-entry bytes32 inclusion proof.
|
|
101
108
|
*/
|
|
102
|
-
|
|
109
|
+
function buildBridgeClaimTx({ chainId, sucker, claim, }) {
|
|
103
110
|
return {
|
|
104
111
|
chainId,
|
|
105
112
|
address: sucker,
|
|
106
|
-
abi: jbSuckerV6Abi,
|
|
113
|
+
abi: exports.jbSuckerV6Abi,
|
|
107
114
|
functionName: "claim",
|
|
108
115
|
args: [claim],
|
|
109
116
|
};
|
|
@@ -120,11 +127,11 @@ export function buildBridgeClaimTx({ chainId, sucker, claim, }) {
|
|
|
120
127
|
* @param args.token The local terminal token whose outbox tree should be bridged.
|
|
121
128
|
* @param args.value The bridge fee to send along. Defaults to 0.
|
|
122
129
|
*/
|
|
123
|
-
|
|
130
|
+
function buildToRemoteTx({ chainId, sucker, token, value = 0n, }) {
|
|
124
131
|
return {
|
|
125
132
|
chainId,
|
|
126
133
|
address: sucker,
|
|
127
|
-
abi: jbSuckerV6Abi,
|
|
134
|
+
abi: exports.jbSuckerV6Abi,
|
|
128
135
|
functionName: "toRemote",
|
|
129
136
|
args: [token],
|
|
130
137
|
value,
|
|
@@ -140,16 +147,16 @@ export function buildToRemoteTx({ chainId, sucker, token, value = 0n, }) {
|
|
|
140
147
|
* @param args.chainId The chain to read the registry on.
|
|
141
148
|
* @param args.projectId The project to look up pairs for.
|
|
142
149
|
*/
|
|
143
|
-
|
|
150
|
+
async function getV6SuckerPairs(client, { chainId, projectId }) {
|
|
144
151
|
const pairs = await client.readContract({
|
|
145
|
-
address: v6Address("JBSuckerRegistry", chainId),
|
|
146
|
-
abi: jbSuckerRegistryAbi,
|
|
152
|
+
address: (0, types_js_1.v6Address)("JBSuckerRegistry", chainId),
|
|
153
|
+
abi: juicebox_js_1.jbSuckerRegistryAbi,
|
|
147
154
|
functionName: "suckerPairsOf",
|
|
148
155
|
args: [projectId],
|
|
149
156
|
});
|
|
150
157
|
return pairs.map((pair) => ({
|
|
151
158
|
local: pair.local,
|
|
152
|
-
remote: getAddress(sliceHex(pair.remote, 12)),
|
|
159
|
+
remote: (0, viem_1.getAddress)((0, viem_1.sliceHex)(pair.remote, 12)),
|
|
153
160
|
remoteChainId: pair.remoteChainId,
|
|
154
161
|
}));
|
|
155
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suckers.js","sourceRoot":"","sources":["../../../src/v6/suckers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"suckers.js","sourceRoot":"","sources":["../../../src/v6/suckers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const suckers_js_1 = require("./suckers.js");
|
|
6
|
+
const types_js_1 = require("./types.js");
|
|
5
7
|
const sucker = "0x00000000000000000000000000000000000000aa";
|
|
6
8
|
const token = "0x000000000000000000000000000000000000000b";
|
|
7
9
|
const beneficiary = "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266";
|
|
8
10
|
const paddedBeneficiary = "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266";
|
|
9
|
-
describe("suckers", () => {
|
|
10
|
-
describe("buildBridgePrepareTx", () => {
|
|
11
|
-
test("left-pads the beneficiary address to bytes32 and encodes", () => {
|
|
12
|
-
const tx = buildBridgePrepareTx({
|
|
11
|
+
(0, vitest_1.describe)("suckers", () => {
|
|
12
|
+
(0, vitest_1.describe)("buildBridgePrepareTx", () => {
|
|
13
|
+
(0, vitest_1.test)("left-pads the beneficiary address to bytes32 and encodes", () => {
|
|
14
|
+
const tx = (0, suckers_js_1.buildBridgePrepareTx)({
|
|
13
15
|
chainId: 11155111,
|
|
14
16
|
sucker,
|
|
15
17
|
projectTokenCount: 100n * 10n ** 18n,
|
|
16
18
|
beneficiary,
|
|
17
19
|
token,
|
|
18
20
|
});
|
|
19
|
-
expect(tx.address).toEqual(sucker);
|
|
20
|
-
expect(tx.functionName).toEqual("prepare");
|
|
21
|
-
expect(tx.args[1]).toEqual(paddedBeneficiary);
|
|
21
|
+
(0, vitest_1.expect)(tx.address).toEqual(sucker);
|
|
22
|
+
(0, vitest_1.expect)(tx.functionName).toEqual("prepare");
|
|
23
|
+
(0, vitest_1.expect)(tx.args[1]).toEqual(paddedBeneficiary);
|
|
22
24
|
// minTokensReclaimed and metadata default to 0.
|
|
23
|
-
expect(tx.args[2]).toEqual(0n);
|
|
24
|
-
expect(tx.args[4]).toEqual(zeroHash);
|
|
25
|
-
const data = encodeFunctionData(tx);
|
|
26
|
-
const decoded = decodeFunctionData({ abi: jbSuckerV6Abi, data });
|
|
27
|
-
expect(decoded.functionName).toEqual("prepare");
|
|
28
|
-
expect(decoded.args).toEqual([
|
|
25
|
+
(0, vitest_1.expect)(tx.args[2]).toEqual(0n);
|
|
26
|
+
(0, vitest_1.expect)(tx.args[4]).toEqual(viem_1.zeroHash);
|
|
27
|
+
const data = (0, viem_1.encodeFunctionData)(tx);
|
|
28
|
+
const decoded = (0, viem_1.decodeFunctionData)({ abi: suckers_js_1.jbSuckerV6Abi, data });
|
|
29
|
+
(0, vitest_1.expect)(decoded.functionName).toEqual("prepare");
|
|
30
|
+
(0, vitest_1.expect)(decoded.args).toEqual([
|
|
29
31
|
100n * 10n ** 18n,
|
|
30
32
|
paddedBeneficiary,
|
|
31
33
|
0n,
|
|
32
34
|
token,
|
|
33
|
-
zeroHash,
|
|
35
|
+
viem_1.zeroHash,
|
|
34
36
|
]);
|
|
35
37
|
});
|
|
36
|
-
test("passes explicit minTokensReclaimed and metadata through", () => {
|
|
37
|
-
const metadata = pad("0x1234", { size: 32 });
|
|
38
|
-
const tx = buildBridgePrepareTx({
|
|
38
|
+
(0, vitest_1.test)("passes explicit minTokensReclaimed and metadata through", () => {
|
|
39
|
+
const metadata = (0, viem_1.pad)("0x1234", { size: 32 });
|
|
40
|
+
const tx = (0, suckers_js_1.buildBridgePrepareTx)({
|
|
39
41
|
chainId: 1,
|
|
40
42
|
sucker,
|
|
41
43
|
projectTokenCount: 1n,
|
|
@@ -44,12 +46,12 @@ describe("suckers", () => {
|
|
|
44
46
|
token,
|
|
45
47
|
metadata,
|
|
46
48
|
});
|
|
47
|
-
expect(tx.args[2]).toEqual(42n);
|
|
48
|
-
expect(tx.args[4]).toEqual(metadata);
|
|
49
|
-
expect(() => encodeFunctionData(tx)).not.toThrow();
|
|
49
|
+
(0, vitest_1.expect)(tx.args[2]).toEqual(42n);
|
|
50
|
+
(0, vitest_1.expect)(tx.args[4]).toEqual(metadata);
|
|
51
|
+
(0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(tx)).not.toThrow();
|
|
50
52
|
});
|
|
51
53
|
});
|
|
52
|
-
describe("buildBridgeClaimTx", () => {
|
|
54
|
+
(0, vitest_1.describe)("buildBridgeClaimTx", () => {
|
|
53
55
|
const claim = {
|
|
54
56
|
token,
|
|
55
57
|
leaf: {
|
|
@@ -57,21 +59,21 @@ describe("suckers", () => {
|
|
|
57
59
|
beneficiary: paddedBeneficiary,
|
|
58
60
|
projectTokenCount: 5n,
|
|
59
61
|
terminalTokenAmount: 7n,
|
|
60
|
-
metadata: zeroHash,
|
|
62
|
+
metadata: viem_1.zeroHash,
|
|
61
63
|
},
|
|
62
|
-
proof: Array.from({ length: 32 }, () => zeroHash),
|
|
64
|
+
proof: Array.from({ length: 32 }, () => viem_1.zeroHash),
|
|
63
65
|
};
|
|
64
|
-
test("encodes a full JBClaim", () => {
|
|
65
|
-
const tx = buildBridgeClaimTx({ chainId: 11155111, sucker, claim });
|
|
66
|
-
expect(tx.address).toEqual(sucker);
|
|
67
|
-
expect(tx.functionName).toEqual("claim");
|
|
68
|
-
const data = encodeFunctionData(tx);
|
|
69
|
-
const decoded = decodeFunctionData({ abi: jbSuckerV6Abi, data });
|
|
70
|
-
expect(decoded.functionName).toEqual("claim");
|
|
71
|
-
expect(decoded.args[0]).toEqual(claim);
|
|
66
|
+
(0, vitest_1.test)("encodes a full JBClaim", () => {
|
|
67
|
+
const tx = (0, suckers_js_1.buildBridgeClaimTx)({ chainId: 11155111, sucker, claim });
|
|
68
|
+
(0, vitest_1.expect)(tx.address).toEqual(sucker);
|
|
69
|
+
(0, vitest_1.expect)(tx.functionName).toEqual("claim");
|
|
70
|
+
const data = (0, viem_1.encodeFunctionData)(tx);
|
|
71
|
+
const decoded = (0, viem_1.decodeFunctionData)({ abi: suckers_js_1.jbSuckerV6Abi, data });
|
|
72
|
+
(0, vitest_1.expect)(decoded.functionName).toEqual("claim");
|
|
73
|
+
(0, vitest_1.expect)(decoded.args[0]).toEqual(claim);
|
|
72
74
|
});
|
|
73
|
-
test("rejects proofs that aren't exactly 32 entries", () => {
|
|
74
|
-
const tx = buildBridgeClaimTx({
|
|
75
|
+
(0, vitest_1.test)("rejects proofs that aren't exactly 32 entries", () => {
|
|
76
|
+
const tx = (0, suckers_js_1.buildBridgeClaimTx)({
|
|
75
77
|
chainId: 11155111,
|
|
76
78
|
sucker,
|
|
77
79
|
claim: {
|
|
@@ -79,30 +81,30 @@ describe("suckers", () => {
|
|
|
79
81
|
proof: claim.proof.slice(0, 31),
|
|
80
82
|
},
|
|
81
83
|
});
|
|
82
|
-
expect(() => encodeFunctionData(tx)).toThrow();
|
|
84
|
+
(0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(tx)).toThrow();
|
|
83
85
|
});
|
|
84
86
|
});
|
|
85
|
-
describe("buildToRemoteTx", () => {
|
|
86
|
-
test("is payable with a default value of 0", () => {
|
|
87
|
-
const tx = buildToRemoteTx({ chainId: 11155111, sucker, token });
|
|
88
|
-
expect(tx.value).toEqual(0n);
|
|
89
|
-
expect(tx.functionName).toEqual("toRemote");
|
|
90
|
-
expect(() => encodeFunctionData(tx)).not.toThrow();
|
|
87
|
+
(0, vitest_1.describe)("buildToRemoteTx", () => {
|
|
88
|
+
(0, vitest_1.test)("is payable with a default value of 0", () => {
|
|
89
|
+
const tx = (0, suckers_js_1.buildToRemoteTx)({ chainId: 11155111, sucker, token });
|
|
90
|
+
(0, vitest_1.expect)(tx.value).toEqual(0n);
|
|
91
|
+
(0, vitest_1.expect)(tx.functionName).toEqual("toRemote");
|
|
92
|
+
(0, vitest_1.expect)(() => (0, viem_1.encodeFunctionData)(tx)).not.toThrow();
|
|
91
93
|
});
|
|
92
|
-
test("passes an explicit CCIP fee value through", () => {
|
|
93
|
-
const tx = buildToRemoteTx({
|
|
94
|
+
(0, vitest_1.test)("passes an explicit CCIP fee value through", () => {
|
|
95
|
+
const tx = (0, suckers_js_1.buildToRemoteTx)({
|
|
94
96
|
chainId: 11155111,
|
|
95
97
|
sucker,
|
|
96
98
|
token,
|
|
97
99
|
value: 123n,
|
|
98
100
|
});
|
|
99
|
-
expect(tx.value).toEqual(123n);
|
|
100
|
-
expect(tx.args).toEqual([token]);
|
|
101
|
+
(0, vitest_1.expect)(tx.value).toEqual(123n);
|
|
102
|
+
(0, vitest_1.expect)(tx.args).toEqual([token]);
|
|
101
103
|
});
|
|
102
104
|
});
|
|
103
|
-
describe("getV6SuckerPairs", () => {
|
|
104
|
-
test("reads the registry and unpacks bytes32 remotes to checksummed addresses", async () => {
|
|
105
|
-
const readContract = vi.fn().mockResolvedValue([
|
|
105
|
+
(0, vitest_1.describe)("getV6SuckerPairs", () => {
|
|
106
|
+
(0, vitest_1.test)("reads the registry and unpacks bytes32 remotes to checksummed addresses", async () => {
|
|
107
|
+
const readContract = vitest_1.vi.fn().mockResolvedValue([
|
|
106
108
|
{
|
|
107
109
|
local: sucker,
|
|
108
110
|
remote: "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266",
|
|
@@ -110,16 +112,16 @@ describe("suckers", () => {
|
|
|
110
112
|
},
|
|
111
113
|
]);
|
|
112
114
|
const client = { readContract };
|
|
113
|
-
const pairs = await getV6SuckerPairs(client, {
|
|
115
|
+
const pairs = await (0, suckers_js_1.getV6SuckerPairs)(client, {
|
|
114
116
|
chainId: 11155111,
|
|
115
117
|
projectId: 4n,
|
|
116
118
|
});
|
|
117
|
-
expect(readContract).toHaveBeenCalledWith(expect.objectContaining({
|
|
118
|
-
address: v6Address("JBSuckerRegistry", 11155111),
|
|
119
|
+
(0, vitest_1.expect)(readContract).toHaveBeenCalledWith(vitest_1.expect.objectContaining({
|
|
120
|
+
address: (0, types_js_1.v6Address)("JBSuckerRegistry", 11155111),
|
|
119
121
|
functionName: "suckerPairsOf",
|
|
120
122
|
args: [4n],
|
|
121
123
|
}));
|
|
122
|
-
expect(pairs).toEqual([
|
|
124
|
+
(0, vitest_1.expect)(pairs).toEqual([
|
|
123
125
|
{
|
|
124
126
|
local: sucker,
|
|
125
127
|
remote: beneficiary, // checksummed low-20-bytes of the bytes32 remote
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suckers.test.js","sourceRoot":"","sources":["../../../src/v6/suckers.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"suckers.test.js","sourceRoot":"","sources":["../../../src/v6/suckers.test.ts"],"names":[],"mappings":";;AAAA,mCAAoD;AACpD,+BAMc;AACd,6CAOsB;AACtB,yCAAuC;AAEvC,MAAM,MAAM,GAAG,4CAAqD,CAAC;AACrE,MAAM,KAAK,GAAG,4CAAqD,CAAC;AACpE,MAAM,WAAW,GAAG,4CAAqD,CAAC;AAC1E,MAAM,iBAAiB,GACrB,oEAA6E,CAAC;AAEhF,IAAA,iBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAA,iBAAQ,EAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,IAAA,aAAI,EAAC,0DAA0D,EAAE,GAAG,EAAE;YACpE,MAAM,EAAE,GAAG,IAAA,iCAAoB,EAAC;gBAC9B,OAAO,EAAE,QAAQ;gBACjB,MAAM;gBACN,iBAAiB,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG;gBACpC,WAAW;gBACX,KAAK;aACN,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAA,eAAM,EAAC,EAAE,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAA,eAAM,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9C,gDAAgD;YAChD,IAAA,eAAM,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAA,eAAM,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAQ,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,0BAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,IAAA,eAAM,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChD,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC3B,IAAI,GAAG,GAAG,IAAI,GAAG;gBACjB,iBAAiB;gBACjB,EAAE;gBACF,KAAK;gBACL,eAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,aAAI,EAAC,yDAAyD,EAAE,GAAG,EAAE;YACnE,MAAM,QAAQ,GAAG,IAAA,UAAG,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7C,MAAM,EAAE,GAAG,IAAA,iCAAoB,EAAC;gBAC9B,OAAO,EAAE,CAAC;gBACV,MAAM;gBACN,iBAAiB,EAAE,EAAE;gBACrB,WAAW;gBACX,kBAAkB,EAAE,GAAG;gBACvB,KAAK;gBACL,QAAQ;aACT,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,IAAA,eAAM,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,MAAM,KAAK,GAAY;YACrB,KAAK;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,iBAAiB;gBAC9B,iBAAiB,EAAE,EAAE;gBACrB,mBAAmB,EAAE,EAAE;gBACvB,QAAQ,EAAE,eAAQ;aACnB;YACD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,eAAQ,CAAgC;SACjF,CAAC;QAEF,IAAA,aAAI,EAAC,wBAAwB,EAAE,GAAG,EAAE;YAClC,MAAM,EAAE,GAAG,IAAA,+BAAkB,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEpE,IAAA,eAAM,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAA,eAAM,EAAC,EAAE,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEzC,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,0BAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,IAAA,eAAM,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAA,eAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAA,aAAI,EAAC,+CAA+C,EAAE,GAAG,EAAE;YACzD,MAAM,EAAE,GAAG,IAAA,+BAAkB,EAAC;gBAC5B,OAAO,EAAE,QAAQ;gBACjB,MAAM;gBACN,KAAK,EAAE;oBACL,GAAG,KAAK;oBACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAgC;iBAC/D;aACF,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAA,aAAI,EAAC,sCAAsC,EAAE,GAAG,EAAE;YAChD,MAAM,EAAE,GAAG,IAAA,4BAAe,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjE,IAAA,eAAM,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,EAAE,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,IAAA,aAAI,EAAC,2CAA2C,EAAE,GAAG,EAAE;YACrD,MAAM,EAAE,GAAG,IAAA,4BAAe,EAAC;gBACzB,OAAO,EAAE,QAAQ;gBACjB,MAAM;gBACN,KAAK;gBACL,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAA,eAAM,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,IAAA,aAAI,EAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,YAAY,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC7C;oBACE,KAAK,EAAE,MAAM;oBACb,MAAM,EACJ,oEAAoE;oBACtE,aAAa,EAAE,GAAG;iBACnB;aACF,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,YAAY,EAA6B,CAAC;YAE3D,MAAM,KAAK,GAAG,MAAM,IAAA,6BAAgB,EAAC,MAAM,EAAE;gBAC3C,OAAO,EAAE,QAAQ;gBACjB,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,oBAAoB,CACvC,eAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,IAAA,oBAAS,EAAC,kBAAkB,EAAE,QAAQ,CAAC;gBAChD,YAAY,EAAE,eAAe;gBAC7B,IAAI,EAAE,CAAC,EAAE,CAAC;aACX,CAAC,CACH,CAAC;YACF,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC;gBACpB;oBACE,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,WAAW,EAAE,iDAAiD;oBACtE,aAAa,EAAE,GAAG;iBACnB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/cjs/v6/terminals.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolvePaymentTerminal = resolvePaymentTerminal;
|
|
4
|
+
exports.getAccountingContexts = getAccountingContexts;
|
|
5
|
+
const viem_1 = require("viem");
|
|
6
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
7
|
+
const types_js_1 = require("./types.js");
|
|
4
8
|
/**
|
|
5
9
|
* Resolve the terminal to pay a project's `token` payments to.
|
|
6
10
|
*
|
|
@@ -15,16 +19,16 @@ import { v6Address } from "./types.js";
|
|
|
15
19
|
* @param args.token The token being paid.
|
|
16
20
|
* @returns The terminal address and whether it's the router registry fallback.
|
|
17
21
|
*/
|
|
18
|
-
|
|
22
|
+
async function resolvePaymentTerminal(client, { chainId, projectId, token, }) {
|
|
19
23
|
const primaryTerminal = await client.readContract({
|
|
20
|
-
address: v6Address("JBDirectory", chainId),
|
|
21
|
-
abi: jbDirectoryAbi,
|
|
24
|
+
address: (0, types_js_1.v6Address)("JBDirectory", chainId),
|
|
25
|
+
abi: juicebox_js_1.jbDirectoryAbi,
|
|
22
26
|
functionName: "primaryTerminalOf",
|
|
23
27
|
args: [projectId, token],
|
|
24
28
|
});
|
|
25
|
-
if (primaryTerminal === zeroAddress) {
|
|
29
|
+
if (primaryTerminal === viem_1.zeroAddress) {
|
|
26
30
|
return {
|
|
27
|
-
address: v6Address("JBRouterTerminalRegistry", chainId),
|
|
31
|
+
address: (0, types_js_1.v6Address)("JBRouterTerminalRegistry", chainId),
|
|
28
32
|
isRouter: true,
|
|
29
33
|
};
|
|
30
34
|
}
|
|
@@ -39,10 +43,10 @@ export async function resolvePaymentTerminal(client, { chainId, projectId, token
|
|
|
39
43
|
* @param args.projectId The project's id.
|
|
40
44
|
* @returns The project's accounting contexts.
|
|
41
45
|
*/
|
|
42
|
-
|
|
46
|
+
async function getAccountingContexts(client, { chainId, projectId, }) {
|
|
43
47
|
return client.readContract({
|
|
44
|
-
address: v6Address("JBMultiTerminal", chainId),
|
|
45
|
-
abi: jbMultiTerminalAbi,
|
|
48
|
+
address: (0, types_js_1.v6Address)("JBMultiTerminal", chainId),
|
|
49
|
+
abi: juicebox_js_1.jbMultiTerminalAbi,
|
|
46
50
|
functionName: "accountingContextsOf",
|
|
47
51
|
args: [projectId],
|
|
48
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminals.js","sourceRoot":"","sources":["../../../src/v6/terminals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminals.js","sourceRoot":"","sources":["../../../src/v6/terminals.ts"],"names":[],"mappings":";;AAqDA,wDA2BC;AAWD,sDAgBC;AA3GD,+BAA0D;AAC1D,0DAA8E;AAE9E,yCAAuC;AAoCvC;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,EACE,OAAO,EACP,SAAS,EACT,KAAK,GAKN;IAED,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QAChD,OAAO,EAAE,IAAA,oBAAS,EAAC,aAAa,EAAE,OAAO,CAAC;QAC1C,GAAG,EAAE,4BAAc;QACnB,YAAY,EAAE,mBAAmB;QACjC,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;KACzB,CAAC,CAAC;IAEH,IAAI,eAAe,KAAK,kBAAW,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,IAAA,oBAAS,EAAC,0BAA0B,EAAE,OAAO,CAAC;YACvD,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,qBAAqB,CACzC,MAAoB,EACpB,EACE,OAAO,EACP,SAAS,GAIV;IAED,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,IAAA,oBAAS,EAAC,iBAAiB,EAAE,OAAO,CAAC;QAC9C,GAAG,EAAE,gCAAkB;QACvB,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const viem_1 = require("viem");
|
|
4
|
+
const vitest_1 = require("vitest");
|
|
5
|
+
const constants_js_1 = require("../constants.js");
|
|
6
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
7
|
+
const terminals_js_1 = require("./terminals.js");
|
|
8
|
+
const types_js_1 = require("./types.js");
|
|
7
9
|
const chainId = 11155111;
|
|
8
10
|
const projectId = 3n;
|
|
9
11
|
function mockClient(result, calls = []) {
|
|
@@ -14,44 +16,44 @@ function mockClient(result, calls = []) {
|
|
|
14
16
|
},
|
|
15
17
|
};
|
|
16
18
|
}
|
|
17
|
-
describe("terminals", () => {
|
|
18
|
-
test("resolvePaymentTerminal returns the primary terminal when set", async () => {
|
|
19
|
+
(0, vitest_1.describe)("terminals", () => {
|
|
20
|
+
(0, vitest_1.test)("resolvePaymentTerminal returns the primary terminal when set", async () => {
|
|
19
21
|
const terminal = "0x1111111111111111111111111111111111111111";
|
|
20
22
|
const calls = [];
|
|
21
|
-
const resolved = await resolvePaymentTerminal(mockClient(terminal, calls), {
|
|
23
|
+
const resolved = await (0, terminals_js_1.resolvePaymentTerminal)(mockClient(terminal, calls), {
|
|
22
24
|
chainId,
|
|
23
25
|
projectId,
|
|
24
|
-
token: NATIVE_TOKEN,
|
|
26
|
+
token: constants_js_1.NATIVE_TOKEN,
|
|
25
27
|
});
|
|
26
|
-
expect(resolved).toEqual({ address: terminal, isRouter: false });
|
|
27
|
-
expect(calls[0].address).toEqual(v6Address("JBDirectory", chainId));
|
|
28
|
-
expect(calls[0].abi).toBe(jbDirectoryAbi);
|
|
29
|
-
expect(calls[0].functionName).toEqual("primaryTerminalOf");
|
|
30
|
-
expect(calls[0].args).toEqual([projectId, NATIVE_TOKEN]);
|
|
28
|
+
(0, vitest_1.expect)(resolved).toEqual({ address: terminal, isRouter: false });
|
|
29
|
+
(0, vitest_1.expect)(calls[0].address).toEqual((0, types_js_1.v6Address)("JBDirectory", chainId));
|
|
30
|
+
(0, vitest_1.expect)(calls[0].abi).toBe(juicebox_js_1.jbDirectoryAbi);
|
|
31
|
+
(0, vitest_1.expect)(calls[0].functionName).toEqual("primaryTerminalOf");
|
|
32
|
+
(0, vitest_1.expect)(calls[0].args).toEqual([projectId, constants_js_1.NATIVE_TOKEN]);
|
|
31
33
|
});
|
|
32
|
-
test("resolvePaymentTerminal falls back to the router registry", async () => {
|
|
33
|
-
const resolved = await resolvePaymentTerminal(mockClient(zeroAddress), {
|
|
34
|
+
(0, vitest_1.test)("resolvePaymentTerminal falls back to the router registry", async () => {
|
|
35
|
+
const resolved = await (0, terminals_js_1.resolvePaymentTerminal)(mockClient(viem_1.zeroAddress), {
|
|
34
36
|
chainId,
|
|
35
37
|
projectId,
|
|
36
|
-
token: NATIVE_TOKEN,
|
|
38
|
+
token: constants_js_1.NATIVE_TOKEN,
|
|
37
39
|
});
|
|
38
|
-
expect(resolved).toEqual({
|
|
39
|
-
address: v6Address("JBRouterTerminalRegistry", chainId),
|
|
40
|
+
(0, vitest_1.expect)(resolved).toEqual({
|
|
41
|
+
address: (0, types_js_1.v6Address)("JBRouterTerminalRegistry", chainId),
|
|
40
42
|
isRouter: true,
|
|
41
43
|
});
|
|
42
44
|
});
|
|
43
|
-
test("getAccountingContexts reads the multi terminal", async () => {
|
|
44
|
-
const contexts = [{ token: NATIVE_TOKEN, decimals: 18, currency: 61166 }];
|
|
45
|
+
(0, vitest_1.test)("getAccountingContexts reads the multi terminal", async () => {
|
|
46
|
+
const contexts = [{ token: constants_js_1.NATIVE_TOKEN, decimals: 18, currency: 61166 }];
|
|
45
47
|
const calls = [];
|
|
46
|
-
const result = await getAccountingContexts(mockClient(contexts, calls), {
|
|
48
|
+
const result = await (0, terminals_js_1.getAccountingContexts)(mockClient(contexts, calls), {
|
|
47
49
|
chainId,
|
|
48
50
|
projectId,
|
|
49
51
|
});
|
|
50
|
-
expect(result).toEqual(contexts);
|
|
51
|
-
expect(calls[0].address).toEqual(v6Address("JBMultiTerminal", chainId));
|
|
52
|
-
expect(calls[0].abi).toBe(jbMultiTerminalAbi);
|
|
53
|
-
expect(calls[0].functionName).toEqual("accountingContextsOf");
|
|
54
|
-
expect(calls[0].args).toEqual([projectId]);
|
|
52
|
+
(0, vitest_1.expect)(result).toEqual(contexts);
|
|
53
|
+
(0, vitest_1.expect)(calls[0].address).toEqual((0, types_js_1.v6Address)("JBMultiTerminal", chainId));
|
|
54
|
+
(0, vitest_1.expect)(calls[0].abi).toBe(juicebox_js_1.jbMultiTerminalAbi);
|
|
55
|
+
(0, vitest_1.expect)(calls[0].functionName).toEqual("accountingContextsOf");
|
|
56
|
+
(0, vitest_1.expect)(calls[0].args).toEqual([projectId]);
|
|
55
57
|
});
|
|
56
58
|
});
|
|
57
59
|
//# sourceMappingURL=terminals.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminals.test.js","sourceRoot":"","sources":["../../../src/v6/terminals.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"terminals.test.js","sourceRoot":"","sources":["../../../src/v6/terminals.test.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/v6/tokens.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildDeployErc20Tx = buildDeployErc20Tx;
|
|
4
|
+
exports.buildClaimTokensTx = buildClaimTokensTx;
|
|
5
|
+
exports.buildTransferCreditsTx = buildTransferCreditsTx;
|
|
6
|
+
exports.buildMintTokensTx = buildMintTokensTx;
|
|
7
|
+
exports.buildBurnTokensTx = buildBurnTokensTx;
|
|
8
|
+
exports.getTokenAddress = getTokenAddress;
|
|
9
|
+
exports.getCreditBalance = getCreditBalance;
|
|
10
|
+
const viem_1 = require("viem");
|
|
11
|
+
const juicebox_js_1 = require("../generated/juicebox.js");
|
|
12
|
+
const types_js_1 = require("./types.js");
|
|
4
13
|
/**
|
|
5
14
|
* Build a `JBController.deployERC20For(projectId, name, symbol, salt)` transaction
|
|
6
15
|
* request, deploying a claimable ERC-20 for a project's tokens.
|
|
@@ -16,11 +25,11 @@ import { v6Address } from "./types.js";
|
|
|
16
25
|
* address).
|
|
17
26
|
* @returns The transaction request.
|
|
18
27
|
*/
|
|
19
|
-
|
|
28
|
+
function buildDeployErc20Tx({ chainId, projectId, name, symbol, salt = viem_1.zeroHash, }) {
|
|
20
29
|
return {
|
|
21
30
|
chainId,
|
|
22
|
-
address: v6Address("JBController", chainId),
|
|
23
|
-
abi: jbControllerAbi,
|
|
31
|
+
address: (0, types_js_1.v6Address)("JBController", chainId),
|
|
32
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
24
33
|
functionName: "deployERC20For",
|
|
25
34
|
args: [projectId, name, symbol, salt],
|
|
26
35
|
};
|
|
@@ -40,11 +49,11 @@ export function buildDeployErc20Tx({ chainId, projectId, name, symbol, salt = ze
|
|
|
40
49
|
* @param args.beneficiary The address that receives the ERC-20 tokens.
|
|
41
50
|
* @returns The transaction request.
|
|
42
51
|
*/
|
|
43
|
-
|
|
52
|
+
function buildClaimTokensTx({ chainId, holder, projectId, tokenCount, beneficiary, }) {
|
|
44
53
|
return {
|
|
45
54
|
chainId,
|
|
46
|
-
address: v6Address("JBController", chainId),
|
|
47
|
-
abi: jbControllerAbi,
|
|
55
|
+
address: (0, types_js_1.v6Address)("JBController", chainId),
|
|
56
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
48
57
|
functionName: "claimTokensFor",
|
|
49
58
|
args: [holder, projectId, tokenCount, beneficiary],
|
|
50
59
|
};
|
|
@@ -64,11 +73,11 @@ export function buildClaimTokensTx({ chainId, holder, projectId, tokenCount, ben
|
|
|
64
73
|
* with 18 decimals.
|
|
65
74
|
* @returns The transaction request.
|
|
66
75
|
*/
|
|
67
|
-
|
|
76
|
+
function buildTransferCreditsTx({ chainId, holder, projectId, recipient, creditCount, }) {
|
|
68
77
|
return {
|
|
69
78
|
chainId,
|
|
70
|
-
address: v6Address("JBController", chainId),
|
|
71
|
-
abi: jbControllerAbi,
|
|
79
|
+
address: (0, types_js_1.v6Address)("JBController", chainId),
|
|
80
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
72
81
|
functionName: "transferCreditsFrom",
|
|
73
82
|
args: [holder, projectId, recipient, creditCount],
|
|
74
83
|
};
|
|
@@ -90,11 +99,11 @@ export function buildTransferCreditsTx({ chainId, holder, projectId, recipient,
|
|
|
90
99
|
* withheld from the mint for the project's reserved splits. Defaults to true.
|
|
91
100
|
* @returns The transaction request.
|
|
92
101
|
*/
|
|
93
|
-
|
|
102
|
+
function buildMintTokensTx({ chainId, projectId, tokenCount, beneficiary, memo = "", useReservedPercent = true, }) {
|
|
94
103
|
return {
|
|
95
104
|
chainId,
|
|
96
|
-
address: v6Address("JBController", chainId),
|
|
97
|
-
abi: jbControllerAbi,
|
|
105
|
+
address: (0, types_js_1.v6Address)("JBController", chainId),
|
|
106
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
98
107
|
functionName: "mintTokensOf",
|
|
99
108
|
args: [projectId, tokenCount, beneficiary, memo, useReservedPercent],
|
|
100
109
|
};
|
|
@@ -113,11 +122,11 @@ export function buildMintTokensTx({ chainId, projectId, tokenCount, beneficiary,
|
|
|
113
122
|
* @param args.memo A memo included in the BurnTokens event. Defaults to "".
|
|
114
123
|
* @returns The transaction request.
|
|
115
124
|
*/
|
|
116
|
-
|
|
125
|
+
function buildBurnTokensTx({ chainId, holder, projectId, tokenCount, memo = "", }) {
|
|
117
126
|
return {
|
|
118
127
|
chainId,
|
|
119
|
-
address: v6Address("JBController", chainId),
|
|
120
|
-
abi: jbControllerAbi,
|
|
128
|
+
address: (0, types_js_1.v6Address)("JBController", chainId),
|
|
129
|
+
abi: juicebox_js_1.jbControllerAbi,
|
|
121
130
|
functionName: "burnTokensOf",
|
|
122
131
|
args: [holder, projectId, tokenCount, memo],
|
|
123
132
|
};
|
|
@@ -131,14 +140,14 @@ export function buildBurnTokensTx({ chainId, holder, projectId, tokenCount, memo
|
|
|
131
140
|
* @returns The token address, or null when the project has no ERC-20 deployed (token
|
|
132
141
|
* balances are held as internal credits).
|
|
133
142
|
*/
|
|
134
|
-
|
|
143
|
+
async function getTokenAddress(client, { chainId, projectId, }) {
|
|
135
144
|
const token = await client.readContract({
|
|
136
|
-
address: v6Address("JBTokens", chainId),
|
|
137
|
-
abi: jbTokensAbi,
|
|
145
|
+
address: (0, types_js_1.v6Address)("JBTokens", chainId),
|
|
146
|
+
abi: juicebox_js_1.jbTokensAbi,
|
|
138
147
|
functionName: "tokenOf",
|
|
139
148
|
args: [projectId],
|
|
140
149
|
});
|
|
141
|
-
return token === zeroAddress ? null : token;
|
|
150
|
+
return token === viem_1.zeroAddress ? null : token;
|
|
142
151
|
}
|
|
143
152
|
/**
|
|
144
153
|
* Read a holder's internal token credit balance (unclaimed tokens) via
|
|
@@ -150,10 +159,10 @@ export async function getTokenAddress(client, { chainId, projectId, }) {
|
|
|
150
159
|
* @param args.holder The holder to read the credit balance of.
|
|
151
160
|
* @returns The holder's credit balance, as a fixed point number with 18 decimals.
|
|
152
161
|
*/
|
|
153
|
-
|
|
162
|
+
async function getCreditBalance(client, { chainId, projectId, holder, }) {
|
|
154
163
|
return client.readContract({
|
|
155
|
-
address: v6Address("JBTokens", chainId),
|
|
156
|
-
abi: jbTokensAbi,
|
|
164
|
+
address: (0, types_js_1.v6Address)("JBTokens", chainId),
|
|
165
|
+
abi: juicebox_js_1.jbTokensAbi,
|
|
157
166
|
functionName: "creditBalanceOf",
|
|
158
167
|
args: [holder, projectId],
|
|
159
168
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/v6/tokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/v6/tokens.ts"],"names":[],"mappings":"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"}
|