eth-twc-sdk-js 0.1.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/README.md +29 -0
- package/dist/abi.cjs +286 -0
- package/dist/abi.d.cts +419 -0
- package/dist/abi.d.ts +419 -0
- package/dist/abi.js +259 -0
- package/dist/config.cjs +41 -0
- package/dist/config.d.cts +14 -0
- package/dist/config.d.ts +14 -0
- package/dist/config.js +11 -0
- package/dist/selfTransfer/batch/index.cjs +373 -0
- package/dist/selfTransfer/batch/index.d.cts +24 -0
- package/dist/selfTransfer/batch/index.d.ts +24 -0
- package/dist/selfTransfer/batch/index.js +345 -0
- package/dist/selfTransfer/single/index.cjs +360 -0
- package/dist/selfTransfer/single/index.d.cts +20 -0
- package/dist/selfTransfer/single/index.d.ts +20 -0
- package/dist/selfTransfer/single/index.js +332 -0
- package/dist/selfTransfer/unified/index.cjs +372 -0
- package/dist/selfTransfer/unified/index.d.cts +24 -0
- package/dist/selfTransfer/unified/index.d.ts +24 -0
- package/dist/selfTransfer/unified/index.js +344 -0
- package/dist/signatureTransfer/batch/index.cjs +545 -0
- package/dist/signatureTransfer/batch/index.d.cts +100 -0
- package/dist/signatureTransfer/batch/index.d.ts +100 -0
- package/dist/signatureTransfer/batch/index.js +514 -0
- package/dist/signatureTransfer/cancelAuthorization/index.cjs +491 -0
- package/dist/signatureTransfer/cancelAuthorization/index.d.cts +49 -0
- package/dist/signatureTransfer/cancelAuthorization/index.d.ts +49 -0
- package/dist/signatureTransfer/cancelAuthorization/index.js +460 -0
- package/dist/signatureTransfer/single/index.cjs +528 -0
- package/dist/signatureTransfer/single/index.d.cts +84 -0
- package/dist/signatureTransfer/single/index.d.ts +84 -0
- package/dist/signatureTransfer/single/index.js +497 -0
- package/dist/signatureTransfer/unified/index.cjs +541 -0
- package/dist/signatureTransfer/unified/index.d.cts +95 -0
- package/dist/signatureTransfer/unified/index.d.ts +95 -0
- package/dist/signatureTransfer/unified/index.js +510 -0
- package/dist/types/transferDetail.cjs +62 -0
- package/dist/types/transferDetail.d.cts +15 -0
- package/dist/types/transferDetail.d.ts +15 -0
- package/dist/types/transferDetail.js +36 -0
- package/dist/types/utils.cjs +52 -0
- package/dist/types/utils.d.cts +12 -0
- package/dist/types/utils.d.ts +12 -0
- package/dist/types/utils.js +23 -0
- package/dist/utils.cjs +123 -0
- package/dist/utils.d.cts +21 -0
- package/dist/utils.d.ts +21 -0
- package/dist/utils.js +90 -0
- package/dist/verify.cjs +366 -0
- package/dist/verify.d.cts +433 -0
- package/dist/verify.d.ts +433 -0
- package/dist/verify.js +339 -0
- package/package.json +100 -0
package/dist/config.cjs
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// config.ts
|
|
21
|
+
var config_exports = {};
|
|
22
|
+
__export(config_exports, {
|
|
23
|
+
EIP712_DOMAIN_NAME: () => EIP712_DOMAIN_NAME,
|
|
24
|
+
EIP712_DOMAIN_VERSION: () => EIP712_DOMAIN_VERSION,
|
|
25
|
+
TRANSFER_WITH_COMMITMENT_CREATE2_SALT: () => TRANSFER_WITH_COMMITMENT_CREATE2_SALT,
|
|
26
|
+
transferWithCommitmentAddress: () => transferWithCommitmentAddress
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(config_exports);
|
|
29
|
+
|
|
30
|
+
// twcConstants.ts
|
|
31
|
+
var TRANSFER_WITH_COMMITMENT_CREATE2_SALT = "0x779ff8f20f474ffe5281ee6d24a20a25c33cbac9e89a282d33b494d0458dfdc2";
|
|
32
|
+
var EIP712_DOMAIN_NAME = "TransferWithCommitment";
|
|
33
|
+
var EIP712_DOMAIN_VERSION = "1";
|
|
34
|
+
var transferWithCommitmentAddress = "0x5C260DD537A9c23Bbd42493e59F3CeA7da2DbC71";
|
|
35
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
36
|
+
0 && (module.exports = {
|
|
37
|
+
EIP712_DOMAIN_NAME,
|
|
38
|
+
EIP712_DOMAIN_VERSION,
|
|
39
|
+
TRANSFER_WITH_COMMITMENT_CREATE2_SALT,
|
|
40
|
+
transferWithCommitmentAddress
|
|
41
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical CREATE2 / EIP-712 parameters for TransferWithCommitment.
|
|
3
|
+
* Must stay in lockstep with `contracts/script/TransferWithCommitmentCreate2.s.sol`
|
|
4
|
+
* and `contracts/TWC_CREATE2.md`.
|
|
5
|
+
* (Singleton factory address lives in contracts / deployment docs only — not part of the SDK surface.)
|
|
6
|
+
*/
|
|
7
|
+
/** `keccak256("TransferWithCommitment/default/1")` */
|
|
8
|
+
declare const TRANSFER_WITH_COMMITMENT_CREATE2_SALT: "0x779ff8f20f474ffe5281ee6d24a20a25c33cbac9e89a282d33b494d0458dfdc2";
|
|
9
|
+
declare const EIP712_DOMAIN_NAME: "TransferWithCommitment";
|
|
10
|
+
declare const EIP712_DOMAIN_VERSION: "1";
|
|
11
|
+
/** Deterministic address for default Foundry profile + default constructor args. */
|
|
12
|
+
declare const transferWithCommitmentAddress: "0x5C260DD537A9c23Bbd42493e59F3CeA7da2DbC71";
|
|
13
|
+
|
|
14
|
+
export { EIP712_DOMAIN_NAME, EIP712_DOMAIN_VERSION, TRANSFER_WITH_COMMITMENT_CREATE2_SALT, transferWithCommitmentAddress };
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical CREATE2 / EIP-712 parameters for TransferWithCommitment.
|
|
3
|
+
* Must stay in lockstep with `contracts/script/TransferWithCommitmentCreate2.s.sol`
|
|
4
|
+
* and `contracts/TWC_CREATE2.md`.
|
|
5
|
+
* (Singleton factory address lives in contracts / deployment docs only — not part of the SDK surface.)
|
|
6
|
+
*/
|
|
7
|
+
/** `keccak256("TransferWithCommitment/default/1")` */
|
|
8
|
+
declare const TRANSFER_WITH_COMMITMENT_CREATE2_SALT: "0x779ff8f20f474ffe5281ee6d24a20a25c33cbac9e89a282d33b494d0458dfdc2";
|
|
9
|
+
declare const EIP712_DOMAIN_NAME: "TransferWithCommitment";
|
|
10
|
+
declare const EIP712_DOMAIN_VERSION: "1";
|
|
11
|
+
/** Deterministic address for default Foundry profile + default constructor args. */
|
|
12
|
+
declare const transferWithCommitmentAddress: "0x5C260DD537A9c23Bbd42493e59F3CeA7da2DbC71";
|
|
13
|
+
|
|
14
|
+
export { EIP712_DOMAIN_NAME, EIP712_DOMAIN_VERSION, TRANSFER_WITH_COMMITMENT_CREATE2_SALT, transferWithCommitmentAddress };
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// twcConstants.ts
|
|
2
|
+
var TRANSFER_WITH_COMMITMENT_CREATE2_SALT = "0x779ff8f20f474ffe5281ee6d24a20a25c33cbac9e89a282d33b494d0458dfdc2";
|
|
3
|
+
var EIP712_DOMAIN_NAME = "TransferWithCommitment";
|
|
4
|
+
var EIP712_DOMAIN_VERSION = "1";
|
|
5
|
+
var transferWithCommitmentAddress = "0x5C260DD537A9c23Bbd42493e59F3CeA7da2DbC71";
|
|
6
|
+
export {
|
|
7
|
+
EIP712_DOMAIN_NAME,
|
|
8
|
+
EIP712_DOMAIN_VERSION,
|
|
9
|
+
TRANSFER_WITH_COMMITMENT_CREATE2_SALT,
|
|
10
|
+
transferWithCommitmentAddress
|
|
11
|
+
};
|
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// selfTransfer/batch/index.ts
|
|
21
|
+
var batch_exports = {};
|
|
22
|
+
__export(batch_exports, {
|
|
23
|
+
argsSchema: () => argsSchema,
|
|
24
|
+
sendTx: () => sendTx
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(batch_exports);
|
|
27
|
+
|
|
28
|
+
// twcConstants.ts
|
|
29
|
+
var transferWithCommitmentAddress = "0x5C260DD537A9c23Bbd42493e59F3CeA7da2DbC71";
|
|
30
|
+
|
|
31
|
+
// ../contracts/abi/generated.ts
|
|
32
|
+
var transferWithCommitmentAbi = [
|
|
33
|
+
{
|
|
34
|
+
type: "constructor",
|
|
35
|
+
inputs: [
|
|
36
|
+
{ name: "name", internalType: "string", type: "string" },
|
|
37
|
+
{ name: "version", internalType: "string", type: "string" }
|
|
38
|
+
],
|
|
39
|
+
stateMutability: "nonpayable"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: "function",
|
|
43
|
+
inputs: [],
|
|
44
|
+
name: "BATCH_TRANSFER_WITH_COMMIT_TYPEHASH",
|
|
45
|
+
outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }],
|
|
46
|
+
stateMutability: "view"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: "function",
|
|
50
|
+
inputs: [],
|
|
51
|
+
name: "CANCEL_AUTHORIZATION_TYPEHASH",
|
|
52
|
+
outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }],
|
|
53
|
+
stateMutability: "view"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
type: "function",
|
|
57
|
+
inputs: [],
|
|
58
|
+
name: "TRANSFER_WITH_COMMIT_TYPEHASH",
|
|
59
|
+
outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }],
|
|
60
|
+
stateMutability: "view"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: "function",
|
|
64
|
+
inputs: [],
|
|
65
|
+
name: "UNI_COMMIT_TRANSFER_TYPEHASH",
|
|
66
|
+
outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }],
|
|
67
|
+
stateMutability: "view"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: "function",
|
|
71
|
+
inputs: [
|
|
72
|
+
{ name: "authorizer", internalType: "address", type: "address" },
|
|
73
|
+
{ name: "commitment", internalType: "bytes32", type: "bytes32" },
|
|
74
|
+
{ name: "signature", internalType: "bytes", type: "bytes" }
|
|
75
|
+
],
|
|
76
|
+
name: "cancelAuthorization",
|
|
77
|
+
outputs: [],
|
|
78
|
+
stateMutability: "nonpayable"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: "function",
|
|
82
|
+
inputs: [
|
|
83
|
+
{ name: "payer", internalType: "address", type: "address" },
|
|
84
|
+
{ name: "commitment", internalType: "bytes32", type: "bytes32" }
|
|
85
|
+
],
|
|
86
|
+
name: "commitmentState",
|
|
87
|
+
outputs: [{ name: "", internalType: "bool", type: "bool" }],
|
|
88
|
+
stateMutability: "view"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: "function",
|
|
92
|
+
inputs: [],
|
|
93
|
+
name: "eip712Domain",
|
|
94
|
+
outputs: [
|
|
95
|
+
{ name: "fields", internalType: "bytes1", type: "bytes1" },
|
|
96
|
+
{ name: "name", internalType: "string", type: "string" },
|
|
97
|
+
{ name: "version", internalType: "string", type: "string" },
|
|
98
|
+
{ name: "chainId", internalType: "uint256", type: "uint256" },
|
|
99
|
+
{ name: "verifyingContract", internalType: "address", type: "address" },
|
|
100
|
+
{ name: "salt", internalType: "bytes32", type: "bytes32" },
|
|
101
|
+
{ name: "extensions", internalType: "uint256[]", type: "uint256[]" }
|
|
102
|
+
],
|
|
103
|
+
stateMutability: "view"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: "function",
|
|
107
|
+
inputs: [
|
|
108
|
+
{ name: "token", internalType: "address", type: "address" },
|
|
109
|
+
{ name: "to", internalType: "address", type: "address" },
|
|
110
|
+
{ name: "value", internalType: "uint256", type: "uint256" },
|
|
111
|
+
{ name: "commitment", internalType: "bytes32", type: "bytes32" }
|
|
112
|
+
],
|
|
113
|
+
name: "transfer",
|
|
114
|
+
outputs: [],
|
|
115
|
+
stateMutability: "nonpayable"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: "function",
|
|
119
|
+
inputs: [
|
|
120
|
+
{
|
|
121
|
+
name: "details",
|
|
122
|
+
internalType: "struct TransferDetail[]",
|
|
123
|
+
type: "tuple[]",
|
|
124
|
+
components: [
|
|
125
|
+
{ name: "to", internalType: "address", type: "address" },
|
|
126
|
+
{ name: "token", internalType: "address", type: "address" },
|
|
127
|
+
{ name: "value", internalType: "uint256", type: "uint256" }
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
{ name: "commitment", internalType: "bytes32", type: "bytes32" }
|
|
131
|
+
],
|
|
132
|
+
name: "transfer",
|
|
133
|
+
outputs: [],
|
|
134
|
+
stateMutability: "nonpayable"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: "function",
|
|
138
|
+
inputs: [
|
|
139
|
+
{
|
|
140
|
+
name: "details",
|
|
141
|
+
internalType: "struct CommittedTransferDetail[]",
|
|
142
|
+
type: "tuple[]",
|
|
143
|
+
components: [
|
|
144
|
+
{ name: "to", internalType: "address", type: "address" },
|
|
145
|
+
{ name: "token", internalType: "address", type: "address" },
|
|
146
|
+
{ name: "value", internalType: "uint256", type: "uint256" },
|
|
147
|
+
{ name: "commitment", internalType: "bytes32", type: "bytes32" }
|
|
148
|
+
]
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
name: "transfer",
|
|
152
|
+
outputs: [],
|
|
153
|
+
stateMutability: "nonpayable"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: "function",
|
|
157
|
+
inputs: [
|
|
158
|
+
{ name: "from", internalType: "address", type: "address" },
|
|
159
|
+
{
|
|
160
|
+
name: "details",
|
|
161
|
+
internalType: "struct TransferDetail[]",
|
|
162
|
+
type: "tuple[]",
|
|
163
|
+
components: [
|
|
164
|
+
{ name: "to", internalType: "address", type: "address" },
|
|
165
|
+
{ name: "token", internalType: "address", type: "address" },
|
|
166
|
+
{ name: "value", internalType: "uint256", type: "uint256" }
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
{ name: "validAfter", internalType: "uint256", type: "uint256" },
|
|
170
|
+
{ name: "validBefore", internalType: "uint256", type: "uint256" },
|
|
171
|
+
{ name: "commitment", internalType: "bytes32", type: "bytes32" },
|
|
172
|
+
{ name: "signature", internalType: "bytes", type: "bytes" }
|
|
173
|
+
],
|
|
174
|
+
name: "transferWithAuthorization",
|
|
175
|
+
outputs: [],
|
|
176
|
+
stateMutability: "nonpayable"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: "function",
|
|
180
|
+
inputs: [
|
|
181
|
+
{ name: "from", internalType: "address", type: "address" },
|
|
182
|
+
{
|
|
183
|
+
name: "details",
|
|
184
|
+
internalType: "struct CommittedTransferDetail[]",
|
|
185
|
+
type: "tuple[]",
|
|
186
|
+
components: [
|
|
187
|
+
{ name: "to", internalType: "address", type: "address" },
|
|
188
|
+
{ name: "token", internalType: "address", type: "address" },
|
|
189
|
+
{ name: "value", internalType: "uint256", type: "uint256" },
|
|
190
|
+
{ name: "commitment", internalType: "bytes32", type: "bytes32" }
|
|
191
|
+
]
|
|
192
|
+
},
|
|
193
|
+
{ name: "validAfter", internalType: "uint256", type: "uint256" },
|
|
194
|
+
{ name: "validBefore", internalType: "uint256", type: "uint256" },
|
|
195
|
+
{ name: "batchCommitment", internalType: "bytes32", type: "bytes32" },
|
|
196
|
+
{ name: "signature", internalType: "bytes", type: "bytes" }
|
|
197
|
+
],
|
|
198
|
+
name: "transferWithAuthorization",
|
|
199
|
+
outputs: [],
|
|
200
|
+
stateMutability: "nonpayable"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
type: "function",
|
|
204
|
+
inputs: [
|
|
205
|
+
{ name: "from", internalType: "address", type: "address" },
|
|
206
|
+
{ name: "to", internalType: "address", type: "address" },
|
|
207
|
+
{ name: "token", internalType: "address", type: "address" },
|
|
208
|
+
{ name: "value", internalType: "uint256", type: "uint256" },
|
|
209
|
+
{ name: "validAfter", internalType: "uint256", type: "uint256" },
|
|
210
|
+
{ name: "validBefore", internalType: "uint256", type: "uint256" },
|
|
211
|
+
{ name: "commitment", internalType: "bytes32", type: "bytes32" },
|
|
212
|
+
{ name: "signature", internalType: "bytes", type: "bytes" }
|
|
213
|
+
],
|
|
214
|
+
name: "transferWithAuthorization",
|
|
215
|
+
outputs: [],
|
|
216
|
+
stateMutability: "nonpayable"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
type: "event",
|
|
220
|
+
anonymous: false,
|
|
221
|
+
inputs: [
|
|
222
|
+
{
|
|
223
|
+
name: "payer",
|
|
224
|
+
internalType: "address",
|
|
225
|
+
type: "address",
|
|
226
|
+
indexed: true
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
name: "commitment",
|
|
230
|
+
internalType: "bytes32",
|
|
231
|
+
type: "bytes32",
|
|
232
|
+
indexed: true
|
|
233
|
+
}
|
|
234
|
+
],
|
|
235
|
+
name: "CommitmentUsed"
|
|
236
|
+
},
|
|
237
|
+
{ type: "event", anonymous: false, inputs: [], name: "EIP712DomainChanged" },
|
|
238
|
+
{
|
|
239
|
+
type: "event",
|
|
240
|
+
anonymous: false,
|
|
241
|
+
inputs: [
|
|
242
|
+
{ name: "from", internalType: "address", type: "address", indexed: true },
|
|
243
|
+
{ name: "to", internalType: "address", type: "address", indexed: true },
|
|
244
|
+
{
|
|
245
|
+
name: "token",
|
|
246
|
+
internalType: "address",
|
|
247
|
+
type: "address",
|
|
248
|
+
indexed: true
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: "value",
|
|
252
|
+
internalType: "uint256",
|
|
253
|
+
type: "uint256",
|
|
254
|
+
indexed: false
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
name: "commitment",
|
|
258
|
+
internalType: "bytes32",
|
|
259
|
+
type: "bytes32",
|
|
260
|
+
indexed: false
|
|
261
|
+
}
|
|
262
|
+
],
|
|
263
|
+
name: "TransferWithCommitmentSent"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
type: "error",
|
|
267
|
+
inputs: [
|
|
268
|
+
{ name: "token", internalType: "address", type: "address" },
|
|
269
|
+
{ name: "from", internalType: "address", type: "address" },
|
|
270
|
+
{ name: "value", internalType: "uint256", type: "uint256" }
|
|
271
|
+
],
|
|
272
|
+
name: "AllowanceNotEnough"
|
|
273
|
+
},
|
|
274
|
+
{ type: "error", inputs: [], name: "InvalidShortString" },
|
|
275
|
+
{ type: "error", inputs: [], name: "ReentrancyGuardReentrantCall" },
|
|
276
|
+
{
|
|
277
|
+
type: "error",
|
|
278
|
+
inputs: [{ name: "token", internalType: "address", type: "address" }],
|
|
279
|
+
name: "SafeERC20FailedOperation"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
type: "error",
|
|
283
|
+
inputs: [{ name: "str", internalType: "string", type: "string" }],
|
|
284
|
+
name: "StringTooLong"
|
|
285
|
+
}
|
|
286
|
+
];
|
|
287
|
+
|
|
288
|
+
// utils.ts
|
|
289
|
+
var assertPublicWalletSameChain = (publicClient, wallet) => {
|
|
290
|
+
const publicId = publicClient.chain?.id;
|
|
291
|
+
const walletId = wallet.chain?.id;
|
|
292
|
+
if (publicId === void 0 || walletId === void 0) {
|
|
293
|
+
throw new Error(
|
|
294
|
+
"Chain is not set on public client and/or wallet client"
|
|
295
|
+
);
|
|
296
|
+
}
|
|
297
|
+
if (publicId !== walletId) {
|
|
298
|
+
throw new Error(
|
|
299
|
+
`PublicClient and WalletClient chain mismatch: ${publicId} vs ${walletId}`
|
|
300
|
+
);
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
async function assertTransferContractDeployed(publicClient, contractAddress = transferWithCommitmentAddress) {
|
|
304
|
+
const code = await publicClient.getCode({ address: contractAddress });
|
|
305
|
+
if (code === void 0 || code === "0x") {
|
|
306
|
+
throw new Error(
|
|
307
|
+
`TransferWithCommitment is not deployed at ${contractAddress} on this chain (no contract code). Deploy with CREATE2 (see contracts/TWC_CREATE2.md) or switch network.`
|
|
308
|
+
);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
// selfTransfer/batch/types.ts
|
|
313
|
+
var import_arktype3 = require("arktype");
|
|
314
|
+
|
|
315
|
+
// types/transferDetail.ts
|
|
316
|
+
var import_arktype2 = require("arktype");
|
|
317
|
+
|
|
318
|
+
// types/utils.ts
|
|
319
|
+
var import_arktype = require("arktype");
|
|
320
|
+
var UINT256_MAX = (1n << 256n) - 1n;
|
|
321
|
+
var uint256 = (0, import_arktype.type)("bigint").filter(
|
|
322
|
+
(v, ctx) => v <= UINT256_MAX && v >= 0n ? true : ctx.reject(`must be: 0n <= value <= ${UINT256_MAX}`)
|
|
323
|
+
);
|
|
324
|
+
var reBytes32 = /^0x[0-9a-fA-F]{64}$/;
|
|
325
|
+
var reBytes = /^0x[0-9a-fA-F]+$/;
|
|
326
|
+
var reAddress = /^0x[0-9a-fA-F]{40}$/;
|
|
327
|
+
var bytes32 = (0, import_arktype.type)("string").narrow(
|
|
328
|
+
(s) => reBytes32.test(s)
|
|
329
|
+
);
|
|
330
|
+
var bytes = (0, import_arktype.type)("string").narrow((s) => reBytes.test(s));
|
|
331
|
+
var address = (0, import_arktype.type)("string").narrow(
|
|
332
|
+
(s) => reAddress.test(s)
|
|
333
|
+
);
|
|
334
|
+
|
|
335
|
+
// types/transferDetail.ts
|
|
336
|
+
var transferDetail = (0, import_arktype2.type)({
|
|
337
|
+
to: address,
|
|
338
|
+
token: address,
|
|
339
|
+
value: uint256
|
|
340
|
+
});
|
|
341
|
+
var committedTransferDetail = (0, import_arktype2.type)({
|
|
342
|
+
to: address,
|
|
343
|
+
token: address,
|
|
344
|
+
value: uint256,
|
|
345
|
+
commitment: bytes32
|
|
346
|
+
});
|
|
347
|
+
|
|
348
|
+
// selfTransfer/batch/types.ts
|
|
349
|
+
var batchTransferWithCommit = (0, import_arktype3.type)({
|
|
350
|
+
details: committedTransferDetail.array()
|
|
351
|
+
});
|
|
352
|
+
var argsSchema = batchTransferWithCommit;
|
|
353
|
+
|
|
354
|
+
// selfTransfer/batch/sendTx.ts
|
|
355
|
+
var sendTx = async (publicClient, wallet, account, args) => {
|
|
356
|
+
assertPublicWalletSameChain(publicClient, wallet);
|
|
357
|
+
await assertTransferContractDeployed(publicClient);
|
|
358
|
+
argsSchema.assert(args);
|
|
359
|
+
const { request } = await publicClient.simulateContract({
|
|
360
|
+
address: transferWithCommitmentAddress,
|
|
361
|
+
abi: transferWithCommitmentAbi,
|
|
362
|
+
functionName: "transfer",
|
|
363
|
+
args: [args.details],
|
|
364
|
+
account
|
|
365
|
+
});
|
|
366
|
+
const hash = await wallet.writeContract(request);
|
|
367
|
+
return hash;
|
|
368
|
+
};
|
|
369
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
370
|
+
0 && (module.exports = {
|
|
371
|
+
argsSchema,
|
|
372
|
+
sendTx
|
|
373
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PublicClient, WalletClient, Hex } from 'viem';
|
|
2
|
+
import * as arktype_internal_variants_object_ts from 'arktype/internal/variants/object.ts';
|
|
3
|
+
|
|
4
|
+
declare const batchTransferWithCommit: arktype_internal_variants_object_ts.ObjectType<{
|
|
5
|
+
details: {
|
|
6
|
+
to: `0x${string}`;
|
|
7
|
+
token: `0x${string}`;
|
|
8
|
+
value: bigint;
|
|
9
|
+
commitment: `0x${string}`;
|
|
10
|
+
}[];
|
|
11
|
+
}, {}>;
|
|
12
|
+
declare const argsSchema: arktype_internal_variants_object_ts.ObjectType<{
|
|
13
|
+
details: {
|
|
14
|
+
to: `0x${string}`;
|
|
15
|
+
token: `0x${string}`;
|
|
16
|
+
value: bigint;
|
|
17
|
+
commitment: `0x${string}`;
|
|
18
|
+
}[];
|
|
19
|
+
}, {}>;
|
|
20
|
+
type SelfTransferBatchArgs = typeof batchTransferWithCommit.infer;
|
|
21
|
+
|
|
22
|
+
declare const sendTx: (publicClient: PublicClient, wallet: WalletClient, account: Hex, args: SelfTransferBatchArgs) => Promise<`0x${string}`>;
|
|
23
|
+
|
|
24
|
+
export { type SelfTransferBatchArgs, argsSchema, sendTx };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PublicClient, WalletClient, Hex } from 'viem';
|
|
2
|
+
import * as arktype_internal_variants_object_ts from 'arktype/internal/variants/object.ts';
|
|
3
|
+
|
|
4
|
+
declare const batchTransferWithCommit: arktype_internal_variants_object_ts.ObjectType<{
|
|
5
|
+
details: {
|
|
6
|
+
to: `0x${string}`;
|
|
7
|
+
token: `0x${string}`;
|
|
8
|
+
value: bigint;
|
|
9
|
+
commitment: `0x${string}`;
|
|
10
|
+
}[];
|
|
11
|
+
}, {}>;
|
|
12
|
+
declare const argsSchema: arktype_internal_variants_object_ts.ObjectType<{
|
|
13
|
+
details: {
|
|
14
|
+
to: `0x${string}`;
|
|
15
|
+
token: `0x${string}`;
|
|
16
|
+
value: bigint;
|
|
17
|
+
commitment: `0x${string}`;
|
|
18
|
+
}[];
|
|
19
|
+
}, {}>;
|
|
20
|
+
type SelfTransferBatchArgs = typeof batchTransferWithCommit.infer;
|
|
21
|
+
|
|
22
|
+
declare const sendTx: (publicClient: PublicClient, wallet: WalletClient, account: Hex, args: SelfTransferBatchArgs) => Promise<`0x${string}`>;
|
|
23
|
+
|
|
24
|
+
export { type SelfTransferBatchArgs, argsSchema, sendTx };
|