@bananapus/nana-sdk-core 1.3.0 → 1.4.1
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/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ipfs.d.ts +33 -1
- package/dist/cjs/utils/ipfs.d.ts.map +1 -1
- package/dist/cjs/utils/ipfs.js +212 -8
- package/dist/cjs/utils/ipfs.js.map +1 -1
- package/dist/cjs/utils/token.d.ts +2 -2
- package/dist/cjs/utils/token.d.ts.map +1 -1
- package/dist/cjs/utils/token.js +30 -9
- package/dist/cjs/utils/token.js.map +1 -1
- package/dist/cjs/v6/index.d.ts +2 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +2 -0
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/launch.d.ts +23 -2
- package/dist/cjs/v6/launch.d.ts.map +1 -1
- package/dist/cjs/v6/launch.js +40 -1
- package/dist/cjs/v6/launch.js.map +1 -1
- package/dist/cjs/v6/nft.d.ts +67 -0
- package/dist/cjs/v6/nft.d.ts.map +1 -1
- package/dist/cjs/v6/nft.js +192 -2
- package/dist/cjs/v6/nft.js.map +1 -1
- package/dist/cjs/v6/permissions.d.ts +21 -0
- package/dist/cjs/v6/permissions.d.ts.map +1 -1
- package/dist/cjs/v6/permissions.js +44 -1
- package/dist/cjs/v6/permissions.js.map +1 -1
- package/dist/cjs/v6/projectPayers.d.ts +178 -0
- package/dist/cjs/v6/projectPayers.d.ts.map +1 -0
- package/dist/cjs/v6/projectPayers.js +108 -0
- package/dist/cjs/v6/projectPayers.js.map +1 -0
- package/dist/cjs/v6/revnets.d.ts +3 -2
- package/dist/cjs/v6/revnets.d.ts.map +1 -1
- package/dist/cjs/v6/revnets.js +3 -2
- package/dist/cjs/v6/revnets.js.map +1 -1
- package/dist/cjs/v6/rulesets.d.ts +42 -0
- package/dist/cjs/v6/rulesets.d.ts.map +1 -1
- package/dist/cjs/v6/rulesets.js +87 -0
- package/dist/cjs/v6/rulesets.js.map +1 -1
- package/dist/cjs/v6/suckers.d.ts +740 -2
- package/dist/cjs/v6/suckers.d.ts.map +1 -1
- package/dist/cjs/v6/suckers.js +647 -8
- package/dist/cjs/v6/suckers.js.map +1 -1
- package/dist/cjs/v6/uniswapV4.d.ts +82 -0
- package/dist/cjs/v6/uniswapV4.d.ts.map +1 -0
- package/dist/cjs/v6/uniswapV4.js +336 -0
- package/dist/cjs/v6/uniswapV4.js.map +1 -0
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/ipfs.d.ts +33 -1
- package/dist/esm/utils/ipfs.d.ts.map +1 -1
- package/dist/esm/utils/ipfs.js +204 -8
- package/dist/esm/utils/ipfs.js.map +1 -1
- package/dist/esm/utils/token.d.ts +2 -2
- package/dist/esm/utils/token.d.ts.map +1 -1
- package/dist/esm/utils/token.js +30 -9
- package/dist/esm/utils/token.js.map +1 -1
- package/dist/esm/v6/index.d.ts +2 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +2 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/launch.d.ts +23 -2
- package/dist/esm/v6/launch.d.ts.map +1 -1
- package/dist/esm/v6/launch.js +39 -2
- package/dist/esm/v6/launch.js.map +1 -1
- package/dist/esm/v6/nft.d.ts +67 -0
- package/dist/esm/v6/nft.d.ts.map +1 -1
- package/dist/esm/v6/nft.js +183 -1
- package/dist/esm/v6/nft.js.map +1 -1
- package/dist/esm/v6/permissions.d.ts +21 -0
- package/dist/esm/v6/permissions.d.ts.map +1 -1
- package/dist/esm/v6/permissions.js +40 -0
- package/dist/esm/v6/permissions.js.map +1 -1
- package/dist/esm/v6/projectPayers.d.ts +178 -0
- package/dist/esm/v6/projectPayers.d.ts.map +1 -0
- package/dist/esm/v6/projectPayers.js +101 -0
- package/dist/esm/v6/projectPayers.js.map +1 -0
- package/dist/esm/v6/revnets.d.ts +3 -2
- package/dist/esm/v6/revnets.d.ts.map +1 -1
- package/dist/esm/v6/revnets.js +3 -2
- package/dist/esm/v6/revnets.js.map +1 -1
- package/dist/esm/v6/rulesets.d.ts +42 -0
- package/dist/esm/v6/rulesets.d.ts.map +1 -1
- package/dist/esm/v6/rulesets.js +83 -0
- package/dist/esm/v6/rulesets.js.map +1 -1
- package/dist/esm/v6/suckers.d.ts +740 -2
- package/dist/esm/v6/suckers.d.ts.map +1 -1
- package/dist/esm/v6/suckers.js +630 -8
- package/dist/esm/v6/suckers.js.map +1 -1
- package/dist/esm/v6/uniswapV4.d.ts +82 -0
- package/dist/esm/v6/uniswapV4.d.ts.map +1 -0
- package/dist/esm/v6/uniswapV4.js +318 -0
- package/dist/esm/v6/uniswapV4.js.map +1 -0
- package/package.json +17 -10
- package/dist/cjs/utils/data.test.d.ts +0 -2
- package/dist/cjs/utils/data.test.d.ts.map +0 -1
- package/dist/cjs/utils/data.test.js +0 -27
- package/dist/cjs/utils/data.test.js.map +0 -1
- package/dist/cjs/utils/deploy.test.d.ts +0 -2
- package/dist/cjs/utils/deploy.test.d.ts.map +0 -1
- package/dist/cjs/utils/deploy.test.js +0 -65
- package/dist/cjs/utils/deploy.test.js.map +0 -1
- package/dist/cjs/utils/fee.test.d.ts +0 -2
- package/dist/cjs/utils/fee.test.d.ts.map +0 -1
- package/dist/cjs/utils/fee.test.js +0 -11
- package/dist/cjs/utils/fee.test.js.map +0 -1
- package/dist/cjs/utils/format.test.d.ts +0 -2
- package/dist/cjs/utils/format.test.d.ts.map +0 -1
- package/dist/cjs/utils/format.test.js +0 -27
- package/dist/cjs/utils/format.test.js.map +0 -1
- package/dist/cjs/utils/ipfs.test.d.ts +0 -2
- package/dist/cjs/utils/ipfs.test.d.ts.map +0 -1
- package/dist/cjs/utils/ipfs.test.js +0 -33
- package/dist/cjs/utils/ipfs.test.js.map +0 -1
- package/dist/cjs/utils/revnet.test.d.ts +0 -2
- package/dist/cjs/utils/revnet.test.d.ts.map +0 -1
- package/dist/cjs/utils/revnet.test.js +0 -12
- package/dist/cjs/utils/revnet.test.js.map +0 -1
- package/dist/cjs/utils/ruleset.test.d.ts +0 -2
- package/dist/cjs/utils/ruleset.test.d.ts.map +0 -1
- package/dist/cjs/utils/ruleset.test.js +0 -23
- package/dist/cjs/utils/ruleset.test.js.map +0 -1
- package/dist/cjs/utils/token.test.d.ts +0 -2
- package/dist/cjs/utils/token.test.d.ts.map +0 -1
- package/dist/cjs/utils/token.test.js +0 -40
- package/dist/cjs/utils/token.test.js.map +0 -1
- package/dist/cjs/utils/urn.test.d.ts +0 -2
- package/dist/cjs/utils/urn.test.d.ts.map +0 -1
- package/dist/cjs/utils/urn.test.js +0 -114
- package/dist/cjs/utils/urn.test.js.map +0 -1
- package/dist/cjs/v6/cashOut.test.d.ts +0 -2
- package/dist/cjs/v6/cashOut.test.d.ts.map +0 -1
- package/dist/cjs/v6/cashOut.test.js +0 -122
- package/dist/cjs/v6/cashOut.test.js.map +0 -1
- package/dist/cjs/v6/currency.test.d.ts +0 -2
- package/dist/cjs/v6/currency.test.d.ts.map +0 -1
- package/dist/cjs/v6/currency.test.js +0 -26
- package/dist/cjs/v6/currency.test.js.map +0 -1
- package/dist/cjs/v6/fees.test.d.ts +0 -2
- package/dist/cjs/v6/fees.test.d.ts.map +0 -1
- package/dist/cjs/v6/fees.test.js +0 -40
- package/dist/cjs/v6/fees.test.js.map +0 -1
- package/dist/cjs/v6/launch.test.d.ts +0 -2
- package/dist/cjs/v6/launch.test.d.ts.map +0 -1
- package/dist/cjs/v6/launch.test.js +0 -137
- package/dist/cjs/v6/launch.test.js.map +0 -1
- package/dist/cjs/v6/loans.test.d.ts +0 -2
- package/dist/cjs/v6/loans.test.d.ts.map +0 -1
- package/dist/cjs/v6/loans.test.js +0 -129
- package/dist/cjs/v6/loans.test.js.map +0 -1
- package/dist/cjs/v6/nft.test.d.ts +0 -2
- package/dist/cjs/v6/nft.test.d.ts.map +0 -1
- package/dist/cjs/v6/nft.test.js +0 -206
- package/dist/cjs/v6/nft.test.js.map +0 -1
- package/dist/cjs/v6/omnichain.test.d.ts +0 -2
- package/dist/cjs/v6/omnichain.test.d.ts.map +0 -1
- package/dist/cjs/v6/omnichain.test.js +0 -145
- package/dist/cjs/v6/omnichain.test.js.map +0 -1
- package/dist/cjs/v6/pay.test.d.ts +0 -2
- package/dist/cjs/v6/pay.test.d.ts.map +0 -1
- package/dist/cjs/v6/pay.test.js +0 -137
- package/dist/cjs/v6/pay.test.js.map +0 -1
- package/dist/cjs/v6/permissions.test.d.ts +0 -2
- package/dist/cjs/v6/permissions.test.d.ts.map +0 -1
- package/dist/cjs/v6/permissions.test.js +0 -117
- package/dist/cjs/v6/permissions.test.js.map +0 -1
- package/dist/cjs/v6/revnets.test.d.ts +0 -2
- package/dist/cjs/v6/revnets.test.d.ts.map +0 -1
- package/dist/cjs/v6/revnets.test.js +0 -233
- package/dist/cjs/v6/revnets.test.js.map +0 -1
- package/dist/cjs/v6/rulesets.test.d.ts +0 -2
- package/dist/cjs/v6/rulesets.test.d.ts.map +0 -1
- package/dist/cjs/v6/rulesets.test.js +0 -106
- package/dist/cjs/v6/rulesets.test.js.map +0 -1
- package/dist/cjs/v6/splits.test.d.ts +0 -2
- package/dist/cjs/v6/splits.test.d.ts.map +0 -1
- package/dist/cjs/v6/splits.test.js +0 -135
- package/dist/cjs/v6/splits.test.js.map +0 -1
- package/dist/cjs/v6/suckers.test.d.ts +0 -2
- package/dist/cjs/v6/suckers.test.d.ts.map +0 -1
- package/dist/cjs/v6/suckers.test.js +0 -134
- package/dist/cjs/v6/suckers.test.js.map +0 -1
- package/dist/cjs/v6/terminals.test.d.ts +0 -2
- package/dist/cjs/v6/terminals.test.d.ts.map +0 -1
- package/dist/cjs/v6/terminals.test.js +0 -59
- package/dist/cjs/v6/terminals.test.js.map +0 -1
- package/dist/cjs/v6/tokens.test.d.ts +0 -2
- package/dist/cjs/v6/tokens.test.d.ts.map +0 -1
- package/dist/cjs/v6/tokens.test.js +0 -141
- package/dist/cjs/v6/tokens.test.js.map +0 -1
- package/dist/esm/utils/data.test.d.ts +0 -2
- package/dist/esm/utils/data.test.d.ts.map +0 -1
- package/dist/esm/utils/data.test.js +0 -25
- package/dist/esm/utils/data.test.js.map +0 -1
- package/dist/esm/utils/deploy.test.d.ts +0 -2
- package/dist/esm/utils/deploy.test.d.ts.map +0 -1
- package/dist/esm/utils/deploy.test.js +0 -63
- package/dist/esm/utils/deploy.test.js.map +0 -1
- package/dist/esm/utils/fee.test.d.ts +0 -2
- package/dist/esm/utils/fee.test.d.ts.map +0 -1
- package/dist/esm/utils/fee.test.js +0 -9
- package/dist/esm/utils/fee.test.js.map +0 -1
- package/dist/esm/utils/format.test.d.ts +0 -2
- package/dist/esm/utils/format.test.d.ts.map +0 -1
- package/dist/esm/utils/format.test.js +0 -25
- package/dist/esm/utils/format.test.js.map +0 -1
- package/dist/esm/utils/ipfs.test.d.ts +0 -2
- package/dist/esm/utils/ipfs.test.d.ts.map +0 -1
- package/dist/esm/utils/ipfs.test.js +0 -28
- package/dist/esm/utils/ipfs.test.js.map +0 -1
- package/dist/esm/utils/revnet.test.d.ts +0 -2
- package/dist/esm/utils/revnet.test.d.ts.map +0 -1
- package/dist/esm/utils/revnet.test.js +0 -10
- package/dist/esm/utils/revnet.test.js.map +0 -1
- package/dist/esm/utils/ruleset.test.d.ts +0 -2
- package/dist/esm/utils/ruleset.test.d.ts.map +0 -1
- package/dist/esm/utils/ruleset.test.js +0 -21
- package/dist/esm/utils/ruleset.test.js.map +0 -1
- package/dist/esm/utils/token.test.d.ts +0 -2
- package/dist/esm/utils/token.test.d.ts.map +0 -1
- package/dist/esm/utils/token.test.js +0 -38
- package/dist/esm/utils/token.test.js.map +0 -1
- package/dist/esm/utils/urn.test.d.ts +0 -2
- package/dist/esm/utils/urn.test.d.ts.map +0 -1
- package/dist/esm/utils/urn.test.js +0 -112
- package/dist/esm/utils/urn.test.js.map +0 -1
- package/dist/esm/v6/cashOut.test.d.ts +0 -2
- package/dist/esm/v6/cashOut.test.d.ts.map +0 -1
- package/dist/esm/v6/cashOut.test.js +0 -120
- package/dist/esm/v6/cashOut.test.js.map +0 -1
- package/dist/esm/v6/currency.test.d.ts +0 -2
- package/dist/esm/v6/currency.test.d.ts.map +0 -1
- package/dist/esm/v6/currency.test.js +0 -24
- package/dist/esm/v6/currency.test.js.map +0 -1
- package/dist/esm/v6/fees.test.d.ts +0 -2
- package/dist/esm/v6/fees.test.d.ts.map +0 -1
- package/dist/esm/v6/fees.test.js +0 -38
- package/dist/esm/v6/fees.test.js.map +0 -1
- package/dist/esm/v6/launch.test.d.ts +0 -2
- package/dist/esm/v6/launch.test.d.ts.map +0 -1
- package/dist/esm/v6/launch.test.js +0 -135
- package/dist/esm/v6/launch.test.js.map +0 -1
- package/dist/esm/v6/loans.test.d.ts +0 -2
- package/dist/esm/v6/loans.test.d.ts.map +0 -1
- package/dist/esm/v6/loans.test.js +0 -127
- package/dist/esm/v6/loans.test.js.map +0 -1
- package/dist/esm/v6/nft.test.d.ts +0 -2
- package/dist/esm/v6/nft.test.d.ts.map +0 -1
- package/dist/esm/v6/nft.test.js +0 -204
- package/dist/esm/v6/nft.test.js.map +0 -1
- package/dist/esm/v6/omnichain.test.d.ts +0 -2
- package/dist/esm/v6/omnichain.test.d.ts.map +0 -1
- package/dist/esm/v6/omnichain.test.js +0 -143
- package/dist/esm/v6/omnichain.test.js.map +0 -1
- package/dist/esm/v6/pay.test.d.ts +0 -2
- package/dist/esm/v6/pay.test.d.ts.map +0 -1
- package/dist/esm/v6/pay.test.js +0 -135
- package/dist/esm/v6/pay.test.js.map +0 -1
- package/dist/esm/v6/permissions.test.d.ts +0 -2
- package/dist/esm/v6/permissions.test.d.ts.map +0 -1
- package/dist/esm/v6/permissions.test.js +0 -115
- package/dist/esm/v6/permissions.test.js.map +0 -1
- package/dist/esm/v6/revnets.test.d.ts +0 -2
- package/dist/esm/v6/revnets.test.d.ts.map +0 -1
- package/dist/esm/v6/revnets.test.js +0 -231
- package/dist/esm/v6/revnets.test.js.map +0 -1
- package/dist/esm/v6/rulesets.test.d.ts +0 -2
- package/dist/esm/v6/rulesets.test.d.ts.map +0 -1
- package/dist/esm/v6/rulesets.test.js +0 -104
- package/dist/esm/v6/rulesets.test.js.map +0 -1
- package/dist/esm/v6/splits.test.d.ts +0 -2
- package/dist/esm/v6/splits.test.d.ts.map +0 -1
- package/dist/esm/v6/splits.test.js +0 -133
- package/dist/esm/v6/splits.test.js.map +0 -1
- package/dist/esm/v6/suckers.test.d.ts +0 -2
- package/dist/esm/v6/suckers.test.d.ts.map +0 -1
- package/dist/esm/v6/suckers.test.js +0 -132
- package/dist/esm/v6/suckers.test.js.map +0 -1
- package/dist/esm/v6/terminals.test.d.ts +0 -2
- package/dist/esm/v6/terminals.test.d.ts.map +0 -1
- package/dist/esm/v6/terminals.test.js +0 -57
- package/dist/esm/v6/terminals.test.js.map +0 -1
- package/dist/esm/v6/tokens.test.d.ts +0 -2
- package/dist/esm/v6/tokens.test.d.ts.map +0 -1
- package/dist/esm/v6/tokens.test.js +0 -139
- package/dist/esm/v6/tokens.test.js.map +0 -1
- package/dist/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/cjs/v6/suckers.d.ts
CHANGED
|
@@ -1,10 +1,361 @@
|
|
|
1
1
|
import { Address, Hex, PublicClient } from "viem";
|
|
2
2
|
import { JBChainId } from "../types.js";
|
|
3
|
+
/** Common v6 sucker view surface used to reconstruct and verify bridge state. */
|
|
4
|
+
export declare const jbSuckerV6ViewAbi: readonly [{
|
|
5
|
+
readonly type: "function";
|
|
6
|
+
readonly name: "peer";
|
|
7
|
+
readonly stateMutability: "view";
|
|
8
|
+
readonly inputs: readonly [];
|
|
9
|
+
readonly outputs: readonly [{
|
|
10
|
+
readonly name: "";
|
|
11
|
+
readonly type: "bytes32";
|
|
12
|
+
}];
|
|
13
|
+
}, {
|
|
14
|
+
readonly type: "function";
|
|
15
|
+
readonly name: "peerChainId";
|
|
16
|
+
readonly stateMutability: "view";
|
|
17
|
+
readonly inputs: readonly [];
|
|
18
|
+
readonly outputs: readonly [{
|
|
19
|
+
readonly name: "";
|
|
20
|
+
readonly type: "uint256";
|
|
21
|
+
}];
|
|
22
|
+
}, {
|
|
23
|
+
readonly type: "function";
|
|
24
|
+
readonly name: "projectId";
|
|
25
|
+
readonly stateMutability: "view";
|
|
26
|
+
readonly inputs: readonly [];
|
|
27
|
+
readonly outputs: readonly [{
|
|
28
|
+
readonly name: "";
|
|
29
|
+
readonly type: "uint256";
|
|
30
|
+
}];
|
|
31
|
+
}, {
|
|
32
|
+
readonly type: "function";
|
|
33
|
+
readonly name: "outboxOf";
|
|
34
|
+
readonly stateMutability: "view";
|
|
35
|
+
readonly inputs: readonly [{
|
|
36
|
+
readonly name: "token";
|
|
37
|
+
readonly type: "address";
|
|
38
|
+
}];
|
|
39
|
+
readonly outputs: readonly [{
|
|
40
|
+
readonly name: "outbox";
|
|
41
|
+
readonly type: "tuple";
|
|
42
|
+
readonly components: readonly [{
|
|
43
|
+
readonly name: "nonce";
|
|
44
|
+
readonly type: "uint64";
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "numberOfClaimsSent";
|
|
47
|
+
readonly type: "uint192";
|
|
48
|
+
}, {
|
|
49
|
+
readonly name: "balance";
|
|
50
|
+
readonly type: "uint256";
|
|
51
|
+
}, {
|
|
52
|
+
readonly name: "tree";
|
|
53
|
+
readonly type: "tuple";
|
|
54
|
+
readonly components: readonly [{
|
|
55
|
+
readonly name: "branch";
|
|
56
|
+
readonly type: "bytes32[32]";
|
|
57
|
+
}, {
|
|
58
|
+
readonly name: "count";
|
|
59
|
+
readonly type: "uint256";
|
|
60
|
+
}];
|
|
61
|
+
}];
|
|
62
|
+
}];
|
|
63
|
+
}, {
|
|
64
|
+
readonly type: "function";
|
|
65
|
+
readonly name: "inboxOf";
|
|
66
|
+
readonly stateMutability: "view";
|
|
67
|
+
readonly inputs: readonly [{
|
|
68
|
+
readonly name: "token";
|
|
69
|
+
readonly type: "address";
|
|
70
|
+
}];
|
|
71
|
+
readonly outputs: readonly [{
|
|
72
|
+
readonly name: "inbox";
|
|
73
|
+
readonly type: "tuple";
|
|
74
|
+
readonly components: readonly [{
|
|
75
|
+
readonly name: "nonce";
|
|
76
|
+
readonly type: "uint64";
|
|
77
|
+
}, {
|
|
78
|
+
readonly name: "root";
|
|
79
|
+
readonly type: "bytes32";
|
|
80
|
+
}];
|
|
81
|
+
}];
|
|
82
|
+
}, {
|
|
83
|
+
readonly type: "function";
|
|
84
|
+
readonly name: "executedLeafHashOf";
|
|
85
|
+
readonly stateMutability: "view";
|
|
86
|
+
readonly inputs: readonly [{
|
|
87
|
+
readonly name: "token";
|
|
88
|
+
readonly type: "address";
|
|
89
|
+
}, {
|
|
90
|
+
readonly name: "index";
|
|
91
|
+
readonly type: "uint256";
|
|
92
|
+
}];
|
|
93
|
+
readonly outputs: readonly [{
|
|
94
|
+
readonly name: "hash";
|
|
95
|
+
readonly type: "bytes32";
|
|
96
|
+
}];
|
|
97
|
+
}, {
|
|
98
|
+
readonly type: "function";
|
|
99
|
+
readonly name: "remoteTokenFor";
|
|
100
|
+
readonly stateMutability: "view";
|
|
101
|
+
readonly inputs: readonly [{
|
|
102
|
+
readonly name: "token";
|
|
103
|
+
readonly type: "address";
|
|
104
|
+
}];
|
|
105
|
+
readonly outputs: readonly [{
|
|
106
|
+
readonly name: "remoteToken";
|
|
107
|
+
readonly type: "tuple";
|
|
108
|
+
readonly components: readonly [{
|
|
109
|
+
readonly name: "enabled";
|
|
110
|
+
readonly type: "bool";
|
|
111
|
+
}, {
|
|
112
|
+
readonly name: "emergencyHatch";
|
|
113
|
+
readonly type: "bool";
|
|
114
|
+
}, {
|
|
115
|
+
readonly name: "minGas";
|
|
116
|
+
readonly type: "uint32";
|
|
117
|
+
}, {
|
|
118
|
+
readonly name: "addr";
|
|
119
|
+
readonly type: "bytes32";
|
|
120
|
+
}];
|
|
121
|
+
}];
|
|
122
|
+
}];
|
|
123
|
+
/** Event carrying the complete v6 outbox leaf preimage and resulting root. */
|
|
124
|
+
export declare const insertToSuckerOutboxEvent: {
|
|
125
|
+
readonly type: "event";
|
|
126
|
+
readonly name: "InsertToOutboxTree";
|
|
127
|
+
readonly inputs: readonly [{
|
|
128
|
+
readonly name: "beneficiary";
|
|
129
|
+
readonly type: "bytes32";
|
|
130
|
+
readonly indexed: true;
|
|
131
|
+
}, {
|
|
132
|
+
readonly name: "token";
|
|
133
|
+
readonly type: "address";
|
|
134
|
+
readonly indexed: true;
|
|
135
|
+
}, {
|
|
136
|
+
readonly name: "hashed";
|
|
137
|
+
readonly type: "bytes32";
|
|
138
|
+
readonly indexed: false;
|
|
139
|
+
}, {
|
|
140
|
+
readonly name: "index";
|
|
141
|
+
readonly type: "uint256";
|
|
142
|
+
readonly indexed: false;
|
|
143
|
+
}, {
|
|
144
|
+
readonly name: "root";
|
|
145
|
+
readonly type: "bytes32";
|
|
146
|
+
readonly indexed: false;
|
|
147
|
+
}, {
|
|
148
|
+
readonly name: "projectTokenCount";
|
|
149
|
+
readonly type: "uint256";
|
|
150
|
+
readonly indexed: false;
|
|
151
|
+
}, {
|
|
152
|
+
readonly name: "terminalTokenAmount";
|
|
153
|
+
readonly type: "uint256";
|
|
154
|
+
readonly indexed: false;
|
|
155
|
+
}, {
|
|
156
|
+
readonly name: "metadata";
|
|
157
|
+
readonly type: "bytes32";
|
|
158
|
+
readonly indexed: false;
|
|
159
|
+
}, {
|
|
160
|
+
readonly name: "caller";
|
|
161
|
+
readonly type: "address";
|
|
162
|
+
readonly indexed: false;
|
|
163
|
+
}];
|
|
164
|
+
};
|
|
165
|
+
/** CCIP-only probe used to distinguish fee-bearing sucker transports. */
|
|
166
|
+
export declare const jbCcipSuckerV6Abi: readonly [{
|
|
167
|
+
readonly type: "function";
|
|
168
|
+
readonly name: "CCIP_ROUTER";
|
|
169
|
+
readonly stateMutability: "view";
|
|
170
|
+
readonly inputs: readonly [];
|
|
171
|
+
readonly outputs: readonly [{
|
|
172
|
+
readonly name: "";
|
|
173
|
+
readonly type: "address";
|
|
174
|
+
}];
|
|
175
|
+
}];
|
|
176
|
+
/** Native-bridge-only probes used to positively identify sucker transports. */
|
|
177
|
+
export declare const jbNativeSuckerV6ProbeAbi: readonly [{
|
|
178
|
+
readonly type: "function";
|
|
179
|
+
readonly name: "OPMESSENGER";
|
|
180
|
+
readonly stateMutability: "view";
|
|
181
|
+
readonly inputs: readonly [];
|
|
182
|
+
readonly outputs: readonly [{
|
|
183
|
+
readonly name: "";
|
|
184
|
+
readonly type: "address";
|
|
185
|
+
}];
|
|
186
|
+
}, {
|
|
187
|
+
readonly type: "function";
|
|
188
|
+
readonly name: "ARBINBOX";
|
|
189
|
+
readonly stateMutability: "view";
|
|
190
|
+
readonly inputs: readonly [];
|
|
191
|
+
readonly outputs: readonly [{
|
|
192
|
+
readonly name: "";
|
|
193
|
+
readonly type: "address";
|
|
194
|
+
}];
|
|
195
|
+
}];
|
|
3
196
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
197
|
+
* Reusable v6 JBSucker ABI: transaction builders, bridge-state views, the
|
|
198
|
+
* outbox event, and the permissionless accounting-sync entrypoint.
|
|
6
199
|
*/
|
|
7
200
|
export declare const jbSuckerV6Abi: readonly [{
|
|
201
|
+
readonly type: "function";
|
|
202
|
+
readonly name: "peer";
|
|
203
|
+
readonly stateMutability: "view";
|
|
204
|
+
readonly inputs: readonly [];
|
|
205
|
+
readonly outputs: readonly [{
|
|
206
|
+
readonly name: "";
|
|
207
|
+
readonly type: "bytes32";
|
|
208
|
+
}];
|
|
209
|
+
}, {
|
|
210
|
+
readonly type: "function";
|
|
211
|
+
readonly name: "peerChainId";
|
|
212
|
+
readonly stateMutability: "view";
|
|
213
|
+
readonly inputs: readonly [];
|
|
214
|
+
readonly outputs: readonly [{
|
|
215
|
+
readonly name: "";
|
|
216
|
+
readonly type: "uint256";
|
|
217
|
+
}];
|
|
218
|
+
}, {
|
|
219
|
+
readonly type: "function";
|
|
220
|
+
readonly name: "projectId";
|
|
221
|
+
readonly stateMutability: "view";
|
|
222
|
+
readonly inputs: readonly [];
|
|
223
|
+
readonly outputs: readonly [{
|
|
224
|
+
readonly name: "";
|
|
225
|
+
readonly type: "uint256";
|
|
226
|
+
}];
|
|
227
|
+
}, {
|
|
228
|
+
readonly type: "function";
|
|
229
|
+
readonly name: "outboxOf";
|
|
230
|
+
readonly stateMutability: "view";
|
|
231
|
+
readonly inputs: readonly [{
|
|
232
|
+
readonly name: "token";
|
|
233
|
+
readonly type: "address";
|
|
234
|
+
}];
|
|
235
|
+
readonly outputs: readonly [{
|
|
236
|
+
readonly name: "outbox";
|
|
237
|
+
readonly type: "tuple";
|
|
238
|
+
readonly components: readonly [{
|
|
239
|
+
readonly name: "nonce";
|
|
240
|
+
readonly type: "uint64";
|
|
241
|
+
}, {
|
|
242
|
+
readonly name: "numberOfClaimsSent";
|
|
243
|
+
readonly type: "uint192";
|
|
244
|
+
}, {
|
|
245
|
+
readonly name: "balance";
|
|
246
|
+
readonly type: "uint256";
|
|
247
|
+
}, {
|
|
248
|
+
readonly name: "tree";
|
|
249
|
+
readonly type: "tuple";
|
|
250
|
+
readonly components: readonly [{
|
|
251
|
+
readonly name: "branch";
|
|
252
|
+
readonly type: "bytes32[32]";
|
|
253
|
+
}, {
|
|
254
|
+
readonly name: "count";
|
|
255
|
+
readonly type: "uint256";
|
|
256
|
+
}];
|
|
257
|
+
}];
|
|
258
|
+
}];
|
|
259
|
+
}, {
|
|
260
|
+
readonly type: "function";
|
|
261
|
+
readonly name: "inboxOf";
|
|
262
|
+
readonly stateMutability: "view";
|
|
263
|
+
readonly inputs: readonly [{
|
|
264
|
+
readonly name: "token";
|
|
265
|
+
readonly type: "address";
|
|
266
|
+
}];
|
|
267
|
+
readonly outputs: readonly [{
|
|
268
|
+
readonly name: "inbox";
|
|
269
|
+
readonly type: "tuple";
|
|
270
|
+
readonly components: readonly [{
|
|
271
|
+
readonly name: "nonce";
|
|
272
|
+
readonly type: "uint64";
|
|
273
|
+
}, {
|
|
274
|
+
readonly name: "root";
|
|
275
|
+
readonly type: "bytes32";
|
|
276
|
+
}];
|
|
277
|
+
}];
|
|
278
|
+
}, {
|
|
279
|
+
readonly type: "function";
|
|
280
|
+
readonly name: "executedLeafHashOf";
|
|
281
|
+
readonly stateMutability: "view";
|
|
282
|
+
readonly inputs: readonly [{
|
|
283
|
+
readonly name: "token";
|
|
284
|
+
readonly type: "address";
|
|
285
|
+
}, {
|
|
286
|
+
readonly name: "index";
|
|
287
|
+
readonly type: "uint256";
|
|
288
|
+
}];
|
|
289
|
+
readonly outputs: readonly [{
|
|
290
|
+
readonly name: "hash";
|
|
291
|
+
readonly type: "bytes32";
|
|
292
|
+
}];
|
|
293
|
+
}, {
|
|
294
|
+
readonly type: "function";
|
|
295
|
+
readonly name: "remoteTokenFor";
|
|
296
|
+
readonly stateMutability: "view";
|
|
297
|
+
readonly inputs: readonly [{
|
|
298
|
+
readonly name: "token";
|
|
299
|
+
readonly type: "address";
|
|
300
|
+
}];
|
|
301
|
+
readonly outputs: readonly [{
|
|
302
|
+
readonly name: "remoteToken";
|
|
303
|
+
readonly type: "tuple";
|
|
304
|
+
readonly components: readonly [{
|
|
305
|
+
readonly name: "enabled";
|
|
306
|
+
readonly type: "bool";
|
|
307
|
+
}, {
|
|
308
|
+
readonly name: "emergencyHatch";
|
|
309
|
+
readonly type: "bool";
|
|
310
|
+
}, {
|
|
311
|
+
readonly name: "minGas";
|
|
312
|
+
readonly type: "uint32";
|
|
313
|
+
}, {
|
|
314
|
+
readonly name: "addr";
|
|
315
|
+
readonly type: "bytes32";
|
|
316
|
+
}];
|
|
317
|
+
}];
|
|
318
|
+
}, {
|
|
319
|
+
readonly type: "event";
|
|
320
|
+
readonly name: "InsertToOutboxTree";
|
|
321
|
+
readonly inputs: readonly [{
|
|
322
|
+
readonly name: "beneficiary";
|
|
323
|
+
readonly type: "bytes32";
|
|
324
|
+
readonly indexed: true;
|
|
325
|
+
}, {
|
|
326
|
+
readonly name: "token";
|
|
327
|
+
readonly type: "address";
|
|
328
|
+
readonly indexed: true;
|
|
329
|
+
}, {
|
|
330
|
+
readonly name: "hashed";
|
|
331
|
+
readonly type: "bytes32";
|
|
332
|
+
readonly indexed: false;
|
|
333
|
+
}, {
|
|
334
|
+
readonly name: "index";
|
|
335
|
+
readonly type: "uint256";
|
|
336
|
+
readonly indexed: false;
|
|
337
|
+
}, {
|
|
338
|
+
readonly name: "root";
|
|
339
|
+
readonly type: "bytes32";
|
|
340
|
+
readonly indexed: false;
|
|
341
|
+
}, {
|
|
342
|
+
readonly name: "projectTokenCount";
|
|
343
|
+
readonly type: "uint256";
|
|
344
|
+
readonly indexed: false;
|
|
345
|
+
}, {
|
|
346
|
+
readonly name: "terminalTokenAmount";
|
|
347
|
+
readonly type: "uint256";
|
|
348
|
+
readonly indexed: false;
|
|
349
|
+
}, {
|
|
350
|
+
readonly name: "metadata";
|
|
351
|
+
readonly type: "bytes32";
|
|
352
|
+
readonly indexed: false;
|
|
353
|
+
}, {
|
|
354
|
+
readonly name: "caller";
|
|
355
|
+
readonly type: "address";
|
|
356
|
+
readonly indexed: false;
|
|
357
|
+
}];
|
|
358
|
+
}, {
|
|
8
359
|
readonly type: "function";
|
|
9
360
|
readonly name: "prepare";
|
|
10
361
|
readonly inputs: readonly [{
|
|
@@ -84,6 +435,12 @@ export declare const jbSuckerV6Abi: readonly [{
|
|
|
84
435
|
}];
|
|
85
436
|
readonly outputs: readonly [];
|
|
86
437
|
readonly stateMutability: "nonpayable";
|
|
438
|
+
}, {
|
|
439
|
+
readonly type: "function";
|
|
440
|
+
readonly name: "syncAccountingData";
|
|
441
|
+
readonly stateMutability: "payable";
|
|
442
|
+
readonly inputs: readonly [];
|
|
443
|
+
readonly outputs: readonly [];
|
|
87
444
|
}];
|
|
88
445
|
/**
|
|
89
446
|
* A leaf of a v6 sucker's merkle tree, representing tokens bridged for one beneficiary.
|
|
@@ -96,6 +453,10 @@ export type JBLeaf = {
|
|
|
96
453
|
terminalTokenAmount: bigint;
|
|
97
454
|
metadata: Hex;
|
|
98
455
|
};
|
|
456
|
+
/** Fields committed by `JBSucker._buildTreeHash` for one outbox leaf. */
|
|
457
|
+
export type JBSuckerLeafData = Pick<JBLeaf, "beneficiary" | "projectTokenCount" | "terminalTokenAmount" | "metadata">;
|
|
458
|
+
/** Reproduce the exact leaf hash committed by a v6 sucker. */
|
|
459
|
+
export declare function suckerLeafHash({ projectTokenCount, terminalTokenAmount, beneficiary, metadata, }: JBSuckerLeafData): Hex;
|
|
99
460
|
/**
|
|
100
461
|
* A 32-entry bytes32 merkle inclusion proof, matching the fixed-size `bytes32[32]` the
|
|
101
462
|
* sucker's `claim` function takes.
|
|
@@ -152,6 +513,375 @@ export type JBSuckerPairV6 = {
|
|
|
152
513
|
remote: Address;
|
|
153
514
|
remoteChainId: bigint;
|
|
154
515
|
};
|
|
516
|
+
/** Fixed depth used by the v6 suckers' incremental Merkle trees. */
|
|
517
|
+
export declare const SUCKER_MERKLE_DEPTH = 32;
|
|
518
|
+
/** MerkleLib's root for an empty depth-32 tree. */
|
|
519
|
+
export declare const SUCKER_EMPTY_TREE_ROOT: Hex;
|
|
520
|
+
/** Hash a MerkleLib node pair (`keccak256(abi.encode(bytes32, bytes32))`). */
|
|
521
|
+
export declare function suckerHashPair(left: Hex, right: Hex): Hex;
|
|
522
|
+
/** Empty-subtree hashes for depths 0 through 32, self-checked at depth 32. */
|
|
523
|
+
export declare function suckerZeroHashes(): readonly Hex[];
|
|
524
|
+
/**
|
|
525
|
+
* Build the fixed 32-sibling inclusion path for a dense outbox leaf array.
|
|
526
|
+
* Missing right-hand subtrees are filled with MerkleLib's canonical zero hash.
|
|
527
|
+
*/
|
|
528
|
+
export declare function suckerLeafProof(leafHashes: readonly Hex[], index: number): JBLeafProof;
|
|
529
|
+
/** Recompute a sucker root from one leaf hash and its inclusion proof. */
|
|
530
|
+
export declare function suckerBranchRoot(leafHash: Hex, proof: readonly Hex[], index: number): Hex;
|
|
531
|
+
/** Complete preimage emitted for one v6 sucker outbox leaf. */
|
|
532
|
+
export interface JBSuckerOutboxLeaf {
|
|
533
|
+
index: number;
|
|
534
|
+
hashed: Hex;
|
|
535
|
+
root: Hex;
|
|
536
|
+
beneficiary: Hex;
|
|
537
|
+
projectTokenCount: bigint;
|
|
538
|
+
terminalTokenAmount: bigint;
|
|
539
|
+
metadata: Hex;
|
|
540
|
+
blockNumber: bigint;
|
|
541
|
+
}
|
|
542
|
+
/** Log scanning controls for {@link getSuckerOutboxLeaves}. */
|
|
543
|
+
export interface JBSuckerOutboxScanOptions {
|
|
544
|
+
fromBlock?: bigint;
|
|
545
|
+
toBlock?: bigint;
|
|
546
|
+
/** Fallback range size for RPCs which reject a genesis-to-latest query. */
|
|
547
|
+
blockRange?: bigint;
|
|
548
|
+
/** Backstop against an accidentally unbounded historical scan. */
|
|
549
|
+
maxBlockRanges?: number;
|
|
550
|
+
}
|
|
551
|
+
/** Convert a low-20-byte EVM address stored in bytes32 into a checksum address. */
|
|
552
|
+
export declare function suckerBytes32ToAddress(value: Hex): Address;
|
|
553
|
+
/**
|
|
554
|
+
* Read every dense outbox leaf for a sucker/token and verify the reconstructed
|
|
555
|
+
* latest root against the root emitted on-chain.
|
|
556
|
+
*
|
|
557
|
+
* A wide log request is attempted first. Providers that reject it fall back to
|
|
558
|
+
* bounded reverse scans, avoiding the subtly truncated histories which would
|
|
559
|
+
* otherwise produce invalid claim proofs.
|
|
560
|
+
*/
|
|
561
|
+
export declare function getSuckerOutboxLeaves(client: PublicClient, { sucker, token, count: requestedCount, fromBlock, toBlock, blockRange, maxBlockRanges, }: {
|
|
562
|
+
sucker: Address;
|
|
563
|
+
token: Address;
|
|
564
|
+
count?: number;
|
|
565
|
+
} & JBSuckerOutboxScanOptions): Promise<JBSuckerOutboxLeaf[]>;
|
|
566
|
+
/** Lifecycle state of one cross-chain sucker movement. */
|
|
567
|
+
export type JBSuckerMovementStatus = "pending" | "claimable" | "claimed";
|
|
568
|
+
/** Bridge family used by a sucker. Unknown values must fail closed for fees. */
|
|
569
|
+
export type JBSuckerTransport = "ccip" | "native" | "unknown";
|
|
570
|
+
/** Verified movement reconstructed from sucker logs and destination state. */
|
|
571
|
+
export interface JBSuckerMovement {
|
|
572
|
+
sourceToken: Address;
|
|
573
|
+
remoteToken: Address;
|
|
574
|
+
leaf: JBLeaf;
|
|
575
|
+
leafHash: Hex;
|
|
576
|
+
outboxRoot: Hex;
|
|
577
|
+
blockNumber: bigint;
|
|
578
|
+
status: JBSuckerMovementStatus;
|
|
579
|
+
/** True when a pending leaf has not yet been included in a toRemote send. */
|
|
580
|
+
canExecute: boolean;
|
|
581
|
+
/** Present only when verified against the destination inbox root. */
|
|
582
|
+
proof: JBLeafProof | null;
|
|
583
|
+
}
|
|
584
|
+
/** Pure status classification shared by bridge movement lists. */
|
|
585
|
+
export declare function classifySuckerMovement({ executed, index, deliveredCount, sentCount, }: {
|
|
586
|
+
executed: boolean;
|
|
587
|
+
index: number;
|
|
588
|
+
deliveredCount: number;
|
|
589
|
+
sentCount: number;
|
|
590
|
+
}): {
|
|
591
|
+
status: JBSuckerMovementStatus;
|
|
592
|
+
canExecute: boolean;
|
|
593
|
+
};
|
|
594
|
+
/**
|
|
595
|
+
* Reconstruct all movements for one source sucker/token, verify the outbox and
|
|
596
|
+
* destination inbox roots, and attach a claim proof only to claimable leaves.
|
|
597
|
+
*/
|
|
598
|
+
export declare function getSuckerMovements(sourceClient: PublicClient, destinationClient: PublicClient, { sourceSucker, destinationSucker, sourceToken, remoteToken: requestedRemoteToken, ...scanOptions }: {
|
|
599
|
+
sourceSucker: Address;
|
|
600
|
+
destinationSucker: Address;
|
|
601
|
+
sourceToken: Address;
|
|
602
|
+
/**
|
|
603
|
+
* Verified historical mapping override. Required only if a disabled token
|
|
604
|
+
* mapping has been cleared to bytes32(0); a non-zero live mapping wins and
|
|
605
|
+
* must agree with this value.
|
|
606
|
+
*/
|
|
607
|
+
remoteToken?: Address;
|
|
608
|
+
} & JBSuckerOutboxScanOptions): Promise<JBSuckerMovement[]>;
|
|
609
|
+
/** Build a claim object from a movement whose proof was verified by the SDK. */
|
|
610
|
+
export declare function claimFromSuckerMovement(movement: JBSuckerMovement): JBClaim;
|
|
611
|
+
/** Common escalating native-value candidates for CCIP sucker simulations. */
|
|
612
|
+
export declare const CCIP_SUCKER_TRANSPORT_VALUES: readonly bigint[];
|
|
613
|
+
/** Common escalating native-value candidates for native bridge simulations. */
|
|
614
|
+
export declare const NATIVE_SUCKER_TRANSPORT_VALUES: readonly bigint[];
|
|
615
|
+
/** Return the first value whose exact transaction simulation succeeds. */
|
|
616
|
+
export declare function findSuckerTransportValue(values: readonly bigint[], simulate: (value: bigint) => Promise<unknown>): Promise<bigint | null>;
|
|
617
|
+
/** Refuse the CCIP zero-transport path, which would switch fees to LINK. */
|
|
618
|
+
export declare function assertSuckerTransportValue(transport: JBSuckerTransport, value: bigint, baseFee?: bigint): void;
|
|
619
|
+
/**
|
|
620
|
+
* Positively identify a sucker's bridge family. RPC failures and unfamiliar
|
|
621
|
+
* implementations return `unknown`; callers must not assume they are native.
|
|
622
|
+
*/
|
|
623
|
+
export declare function classifySuckerTransport(client: PublicClient, sucker: Address): Promise<JBSuckerTransport>;
|
|
624
|
+
/** Build a payable JBSucker.syncAccountingData transaction request. */
|
|
625
|
+
export declare function buildSyncAccountingDataTx(args: {
|
|
626
|
+
chainId: JBChainId;
|
|
627
|
+
sucker: Address;
|
|
628
|
+
value?: bigint;
|
|
629
|
+
}): {
|
|
630
|
+
chainId: 1 | 10 | 11155111 | 11155420 | 421614 | 84532 | 42161 | 8453;
|
|
631
|
+
address: `0x${string}`;
|
|
632
|
+
abi: readonly [{
|
|
633
|
+
readonly type: "function";
|
|
634
|
+
readonly name: "peer";
|
|
635
|
+
readonly stateMutability: "view";
|
|
636
|
+
readonly inputs: readonly [];
|
|
637
|
+
readonly outputs: readonly [{
|
|
638
|
+
readonly name: "";
|
|
639
|
+
readonly type: "bytes32";
|
|
640
|
+
}];
|
|
641
|
+
}, {
|
|
642
|
+
readonly type: "function";
|
|
643
|
+
readonly name: "peerChainId";
|
|
644
|
+
readonly stateMutability: "view";
|
|
645
|
+
readonly inputs: readonly [];
|
|
646
|
+
readonly outputs: readonly [{
|
|
647
|
+
readonly name: "";
|
|
648
|
+
readonly type: "uint256";
|
|
649
|
+
}];
|
|
650
|
+
}, {
|
|
651
|
+
readonly type: "function";
|
|
652
|
+
readonly name: "projectId";
|
|
653
|
+
readonly stateMutability: "view";
|
|
654
|
+
readonly inputs: readonly [];
|
|
655
|
+
readonly outputs: readonly [{
|
|
656
|
+
readonly name: "";
|
|
657
|
+
readonly type: "uint256";
|
|
658
|
+
}];
|
|
659
|
+
}, {
|
|
660
|
+
readonly type: "function";
|
|
661
|
+
readonly name: "outboxOf";
|
|
662
|
+
readonly stateMutability: "view";
|
|
663
|
+
readonly inputs: readonly [{
|
|
664
|
+
readonly name: "token";
|
|
665
|
+
readonly type: "address";
|
|
666
|
+
}];
|
|
667
|
+
readonly outputs: readonly [{
|
|
668
|
+
readonly name: "outbox";
|
|
669
|
+
readonly type: "tuple";
|
|
670
|
+
readonly components: readonly [{
|
|
671
|
+
readonly name: "nonce";
|
|
672
|
+
readonly type: "uint64";
|
|
673
|
+
}, {
|
|
674
|
+
readonly name: "numberOfClaimsSent";
|
|
675
|
+
readonly type: "uint192";
|
|
676
|
+
}, {
|
|
677
|
+
readonly name: "balance";
|
|
678
|
+
readonly type: "uint256";
|
|
679
|
+
}, {
|
|
680
|
+
readonly name: "tree";
|
|
681
|
+
readonly type: "tuple";
|
|
682
|
+
readonly components: readonly [{
|
|
683
|
+
readonly name: "branch";
|
|
684
|
+
readonly type: "bytes32[32]";
|
|
685
|
+
}, {
|
|
686
|
+
readonly name: "count";
|
|
687
|
+
readonly type: "uint256";
|
|
688
|
+
}];
|
|
689
|
+
}];
|
|
690
|
+
}];
|
|
691
|
+
}, {
|
|
692
|
+
readonly type: "function";
|
|
693
|
+
readonly name: "inboxOf";
|
|
694
|
+
readonly stateMutability: "view";
|
|
695
|
+
readonly inputs: readonly [{
|
|
696
|
+
readonly name: "token";
|
|
697
|
+
readonly type: "address";
|
|
698
|
+
}];
|
|
699
|
+
readonly outputs: readonly [{
|
|
700
|
+
readonly name: "inbox";
|
|
701
|
+
readonly type: "tuple";
|
|
702
|
+
readonly components: readonly [{
|
|
703
|
+
readonly name: "nonce";
|
|
704
|
+
readonly type: "uint64";
|
|
705
|
+
}, {
|
|
706
|
+
readonly name: "root";
|
|
707
|
+
readonly type: "bytes32";
|
|
708
|
+
}];
|
|
709
|
+
}];
|
|
710
|
+
}, {
|
|
711
|
+
readonly type: "function";
|
|
712
|
+
readonly name: "executedLeafHashOf";
|
|
713
|
+
readonly stateMutability: "view";
|
|
714
|
+
readonly inputs: readonly [{
|
|
715
|
+
readonly name: "token";
|
|
716
|
+
readonly type: "address";
|
|
717
|
+
}, {
|
|
718
|
+
readonly name: "index";
|
|
719
|
+
readonly type: "uint256";
|
|
720
|
+
}];
|
|
721
|
+
readonly outputs: readonly [{
|
|
722
|
+
readonly name: "hash";
|
|
723
|
+
readonly type: "bytes32";
|
|
724
|
+
}];
|
|
725
|
+
}, {
|
|
726
|
+
readonly type: "function";
|
|
727
|
+
readonly name: "remoteTokenFor";
|
|
728
|
+
readonly stateMutability: "view";
|
|
729
|
+
readonly inputs: readonly [{
|
|
730
|
+
readonly name: "token";
|
|
731
|
+
readonly type: "address";
|
|
732
|
+
}];
|
|
733
|
+
readonly outputs: readonly [{
|
|
734
|
+
readonly name: "remoteToken";
|
|
735
|
+
readonly type: "tuple";
|
|
736
|
+
readonly components: readonly [{
|
|
737
|
+
readonly name: "enabled";
|
|
738
|
+
readonly type: "bool";
|
|
739
|
+
}, {
|
|
740
|
+
readonly name: "emergencyHatch";
|
|
741
|
+
readonly type: "bool";
|
|
742
|
+
}, {
|
|
743
|
+
readonly name: "minGas";
|
|
744
|
+
readonly type: "uint32";
|
|
745
|
+
}, {
|
|
746
|
+
readonly name: "addr";
|
|
747
|
+
readonly type: "bytes32";
|
|
748
|
+
}];
|
|
749
|
+
}];
|
|
750
|
+
}, {
|
|
751
|
+
readonly type: "event";
|
|
752
|
+
readonly name: "InsertToOutboxTree";
|
|
753
|
+
readonly inputs: readonly [{
|
|
754
|
+
readonly name: "beneficiary";
|
|
755
|
+
readonly type: "bytes32";
|
|
756
|
+
readonly indexed: true;
|
|
757
|
+
}, {
|
|
758
|
+
readonly name: "token";
|
|
759
|
+
readonly type: "address";
|
|
760
|
+
readonly indexed: true;
|
|
761
|
+
}, {
|
|
762
|
+
readonly name: "hashed";
|
|
763
|
+
readonly type: "bytes32";
|
|
764
|
+
readonly indexed: false;
|
|
765
|
+
}, {
|
|
766
|
+
readonly name: "index";
|
|
767
|
+
readonly type: "uint256";
|
|
768
|
+
readonly indexed: false;
|
|
769
|
+
}, {
|
|
770
|
+
readonly name: "root";
|
|
771
|
+
readonly type: "bytes32";
|
|
772
|
+
readonly indexed: false;
|
|
773
|
+
}, {
|
|
774
|
+
readonly name: "projectTokenCount";
|
|
775
|
+
readonly type: "uint256";
|
|
776
|
+
readonly indexed: false;
|
|
777
|
+
}, {
|
|
778
|
+
readonly name: "terminalTokenAmount";
|
|
779
|
+
readonly type: "uint256";
|
|
780
|
+
readonly indexed: false;
|
|
781
|
+
}, {
|
|
782
|
+
readonly name: "metadata";
|
|
783
|
+
readonly type: "bytes32";
|
|
784
|
+
readonly indexed: false;
|
|
785
|
+
}, {
|
|
786
|
+
readonly name: "caller";
|
|
787
|
+
readonly type: "address";
|
|
788
|
+
readonly indexed: false;
|
|
789
|
+
}];
|
|
790
|
+
}, {
|
|
791
|
+
readonly type: "function";
|
|
792
|
+
readonly name: "prepare";
|
|
793
|
+
readonly inputs: readonly [{
|
|
794
|
+
readonly name: "projectTokenCount";
|
|
795
|
+
readonly type: "uint256";
|
|
796
|
+
readonly internalType: "uint256";
|
|
797
|
+
}, {
|
|
798
|
+
readonly name: "beneficiary";
|
|
799
|
+
readonly type: "bytes32";
|
|
800
|
+
readonly internalType: "bytes32";
|
|
801
|
+
}, {
|
|
802
|
+
readonly name: "minTokensReclaimed";
|
|
803
|
+
readonly type: "uint256";
|
|
804
|
+
readonly internalType: "uint256";
|
|
805
|
+
}, {
|
|
806
|
+
readonly name: "token";
|
|
807
|
+
readonly type: "address";
|
|
808
|
+
readonly internalType: "address";
|
|
809
|
+
}, {
|
|
810
|
+
readonly name: "metadata";
|
|
811
|
+
readonly type: "bytes32";
|
|
812
|
+
readonly internalType: "bytes32";
|
|
813
|
+
}];
|
|
814
|
+
readonly outputs: readonly [];
|
|
815
|
+
readonly stateMutability: "nonpayable";
|
|
816
|
+
}, {
|
|
817
|
+
readonly type: "function";
|
|
818
|
+
readonly name: "toRemote";
|
|
819
|
+
readonly inputs: readonly [{
|
|
820
|
+
readonly name: "token";
|
|
821
|
+
readonly type: "address";
|
|
822
|
+
readonly internalType: "address";
|
|
823
|
+
}];
|
|
824
|
+
readonly outputs: readonly [];
|
|
825
|
+
readonly stateMutability: "payable";
|
|
826
|
+
}, {
|
|
827
|
+
readonly type: "function";
|
|
828
|
+
readonly name: "claim";
|
|
829
|
+
readonly inputs: readonly [{
|
|
830
|
+
readonly name: "claimData";
|
|
831
|
+
readonly type: "tuple";
|
|
832
|
+
readonly internalType: "struct JBClaim";
|
|
833
|
+
readonly components: readonly [{
|
|
834
|
+
readonly name: "token";
|
|
835
|
+
readonly type: "address";
|
|
836
|
+
readonly internalType: "address";
|
|
837
|
+
}, {
|
|
838
|
+
readonly name: "leaf";
|
|
839
|
+
readonly type: "tuple";
|
|
840
|
+
readonly internalType: "struct JBLeaf";
|
|
841
|
+
readonly components: readonly [{
|
|
842
|
+
readonly name: "index";
|
|
843
|
+
readonly type: "uint256";
|
|
844
|
+
readonly internalType: "uint256";
|
|
845
|
+
}, {
|
|
846
|
+
readonly name: "beneficiary";
|
|
847
|
+
readonly type: "bytes32";
|
|
848
|
+
readonly internalType: "bytes32";
|
|
849
|
+
}, {
|
|
850
|
+
readonly name: "projectTokenCount";
|
|
851
|
+
readonly type: "uint256";
|
|
852
|
+
readonly internalType: "uint256";
|
|
853
|
+
}, {
|
|
854
|
+
readonly name: "terminalTokenAmount";
|
|
855
|
+
readonly type: "uint256";
|
|
856
|
+
readonly internalType: "uint256";
|
|
857
|
+
}, {
|
|
858
|
+
readonly name: "metadata";
|
|
859
|
+
readonly type: "bytes32";
|
|
860
|
+
readonly internalType: "bytes32";
|
|
861
|
+
}];
|
|
862
|
+
}, {
|
|
863
|
+
readonly name: "proof";
|
|
864
|
+
readonly type: "bytes32[32]";
|
|
865
|
+
readonly internalType: "bytes32[32]";
|
|
866
|
+
}];
|
|
867
|
+
}];
|
|
868
|
+
readonly outputs: readonly [];
|
|
869
|
+
readonly stateMutability: "nonpayable";
|
|
870
|
+
}, {
|
|
871
|
+
readonly type: "function";
|
|
872
|
+
readonly name: "syncAccountingData";
|
|
873
|
+
readonly stateMutability: "payable";
|
|
874
|
+
readonly inputs: readonly [];
|
|
875
|
+
readonly outputs: readonly [];
|
|
876
|
+
}];
|
|
877
|
+
functionName: "syncAccountingData";
|
|
878
|
+
args: readonly [];
|
|
879
|
+
value: bigint;
|
|
880
|
+
};
|
|
881
|
+
/** Relative absolute drift between two unsigned bigint values, from 0 to 1. */
|
|
882
|
+
export declare function relativeSuckerDrift(left: bigint, right: bigint): number;
|
|
883
|
+
/** Unpack a sucker freshness key (`timestamp << 128 | sequence`). */
|
|
884
|
+
export declare function suckerTimestampSeconds(value: bigint): number;
|
|
155
885
|
/**
|
|
156
886
|
* Builds a `prepare` transaction on a v6 sucker, locking project tokens into an outbox
|
|
157
887
|
* leaf destined for the remote chain.
|
|
@@ -244,4 +974,12 @@ export declare function getV6SuckerPairs(client: PublicClient, { chainId, projec
|
|
|
244
974
|
chainId: JBChainId;
|
|
245
975
|
projectId: bigint;
|
|
246
976
|
}): Promise<JBSuckerPairV6[]>;
|
|
977
|
+
/**
|
|
978
|
+
* Read active and deprecated suckers for a project. Historical suckers remain
|
|
979
|
+
* relevant because their already-delivered leaves can still be claimed.
|
|
980
|
+
*/
|
|
981
|
+
export declare function getAllV6SuckerPairs(client: PublicClient, { chainId, projectId }: {
|
|
982
|
+
chainId: JBChainId;
|
|
983
|
+
projectId: bigint;
|
|
984
|
+
}): Promise<JBSuckerPairV6[]>;
|
|
247
985
|
//# sourceMappingURL=suckers.d.ts.map
|