@gearbox-protocol/sdk 14.12.0-next.37 → 14.12.0-next.39
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/abi/IWithdrawalCompressorV313.js +78 -0
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +85 -1
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +85 -1
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +85 -1
- package/dist/cjs/abi/compressors/withdrawalCompressor.js +197 -1
- package/dist/cjs/abi/helpers/redemptionLogger.js +160 -0
- package/dist/cjs/abi/router/midasWorker.js +4 -4
- package/dist/cjs/dev/AccountOpener.js +2 -2
- package/dist/cjs/plugins/adapters/abi/actionAbi.js +13 -5
- package/dist/cjs/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.js +23 -8
- package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +2 -1
- package/dist/cjs/plugins/adapters/abi/securitize/iMidasGatewayAdapter.js +354 -0
- package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +1 -1
- package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +90 -5
- package/dist/esm/abi/IWithdrawalCompressorV313.js +78 -0
- package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +85 -1
- package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +85 -1
- package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +85 -1
- package/dist/esm/abi/compressors/withdrawalCompressor.js +197 -1
- package/dist/esm/abi/helpers/redemptionLogger.js +136 -0
- package/dist/esm/abi/router/midasWorker.js +4 -4
- package/dist/esm/dev/AccountOpener.js +2 -2
- package/dist/esm/plugins/adapters/abi/actionAbi.js +13 -5
- package/dist/esm/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.js +23 -8
- package/dist/esm/plugins/adapters/abi/conctructorAbi.js +2 -1
- package/dist/esm/plugins/adapters/abi/securitize/iMidasGatewayAdapter.js +330 -0
- package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +1 -1
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +90 -5
- package/dist/types/abi/IWithdrawalCompressorV313.d.ts +103 -0
- package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +121 -0
- package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +121 -0
- package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +121 -0
- package/dist/types/abi/compressors/withdrawalCompressor.d.ts +274 -0
- package/dist/types/abi/helpers/redemptionLogger.d.ts +167 -0
- package/dist/types/abi/router/midasWorker.d.ts +4 -4
- package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +274 -0
- package/dist/types/plugins/adapters/abi/actionAbi.d.ts +1 -1
- package/dist/types/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts +37 -7
- package/dist/types/plugins/adapters/abi/securitize/iMidasGatewayAdapter.d.ts +555 -0
- package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -0
- package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +37 -7
- package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +1 -1
- package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +104 -1
- package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +3 -2
- package/package.json +1 -1
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
const iMidasGatewayAdapterAbi = [
|
|
2
|
+
{
|
|
3
|
+
type: "function",
|
|
4
|
+
name: "acl",
|
|
5
|
+
inputs: [],
|
|
6
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
7
|
+
stateMutability: "view"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
type: "function",
|
|
11
|
+
name: "allowedInputTokens",
|
|
12
|
+
inputs: [],
|
|
13
|
+
outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
|
|
14
|
+
stateMutability: "view"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: "function",
|
|
18
|
+
name: "allowedOutputTokens",
|
|
19
|
+
inputs: [],
|
|
20
|
+
outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
|
|
21
|
+
stateMutability: "view"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: "function",
|
|
25
|
+
name: "allowedPhantomTokens",
|
|
26
|
+
inputs: [],
|
|
27
|
+
outputs: [{ name: "", type: "address[]", internalType: "address[]" }],
|
|
28
|
+
stateMutability: "view"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
type: "function",
|
|
32
|
+
name: "contractType",
|
|
33
|
+
inputs: [],
|
|
34
|
+
outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
|
|
35
|
+
stateMutability: "view"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
type: "function",
|
|
39
|
+
name: "creditManager",
|
|
40
|
+
inputs: [],
|
|
41
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
42
|
+
stateMutability: "view"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: "function",
|
|
46
|
+
name: "depositInstant",
|
|
47
|
+
inputs: [
|
|
48
|
+
{ name: "tokenIn", type: "address", internalType: "address" },
|
|
49
|
+
{ name: "amountToken", type: "uint256", internalType: "uint256" },
|
|
50
|
+
{ name: "minReceiveAmount", type: "uint256", internalType: "uint256" },
|
|
51
|
+
{ name: "", type: "bytes32", internalType: "bytes32" }
|
|
52
|
+
],
|
|
53
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
54
|
+
stateMutability: "nonpayable"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
type: "function",
|
|
58
|
+
name: "depositInstantDiff",
|
|
59
|
+
inputs: [
|
|
60
|
+
{ name: "tokenIn", type: "address", internalType: "address" },
|
|
61
|
+
{ name: "leftoverAmount", type: "uint256", internalType: "uint256" },
|
|
62
|
+
{ name: "rateMinRAY", type: "uint256", internalType: "uint256" }
|
|
63
|
+
],
|
|
64
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
65
|
+
stateMutability: "nonpayable"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: "function",
|
|
69
|
+
name: "depositPhantomToken",
|
|
70
|
+
inputs: [
|
|
71
|
+
{ name: "", type: "address", internalType: "address" },
|
|
72
|
+
{ name: "", type: "uint256", internalType: "uint256" }
|
|
73
|
+
],
|
|
74
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
75
|
+
stateMutability: "view"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
type: "function",
|
|
79
|
+
name: "gateway",
|
|
80
|
+
inputs: [],
|
|
81
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
82
|
+
stateMutability: "view"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: "function",
|
|
86
|
+
name: "isInputTokenAllowed",
|
|
87
|
+
inputs: [{ name: "token", type: "address", internalType: "address" }],
|
|
88
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
89
|
+
stateMutability: "view"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
type: "function",
|
|
93
|
+
name: "isOutputTokenAllowed",
|
|
94
|
+
inputs: [{ name: "token", type: "address", internalType: "address" }],
|
|
95
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
96
|
+
stateMutability: "view"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: "function",
|
|
100
|
+
name: "mToken",
|
|
101
|
+
inputs: [],
|
|
102
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
103
|
+
stateMutability: "view"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: "function",
|
|
107
|
+
name: "outputTokenToPhantomToken",
|
|
108
|
+
inputs: [{ name: "", type: "address", internalType: "address" }],
|
|
109
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
110
|
+
stateMutability: "view"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: "function",
|
|
114
|
+
name: "phantomTokenToOutputToken",
|
|
115
|
+
inputs: [{ name: "", type: "address", internalType: "address" }],
|
|
116
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
117
|
+
stateMutability: "view"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: "function",
|
|
121
|
+
name: "redeemInstant",
|
|
122
|
+
inputs: [
|
|
123
|
+
{ name: "tokenOut", type: "address", internalType: "address" },
|
|
124
|
+
{ name: "amountMTokenIn", type: "uint256", internalType: "uint256" },
|
|
125
|
+
{ name: "minReceiveAmount", type: "uint256", internalType: "uint256" }
|
|
126
|
+
],
|
|
127
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
128
|
+
stateMutability: "nonpayable"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: "function",
|
|
132
|
+
name: "redeemInstantDiff",
|
|
133
|
+
inputs: [
|
|
134
|
+
{ name: "tokenOut", type: "address", internalType: "address" },
|
|
135
|
+
{ name: "leftoverAmount", type: "uint256", internalType: "uint256" },
|
|
136
|
+
{ name: "rateMinRAY", type: "uint256", internalType: "uint256" }
|
|
137
|
+
],
|
|
138
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
139
|
+
stateMutability: "nonpayable"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: "function",
|
|
143
|
+
name: "redeemRequest",
|
|
144
|
+
inputs: [
|
|
145
|
+
{ name: "tokenOut", type: "address", internalType: "address" },
|
|
146
|
+
{ name: "amountMTokenIn", type: "uint256", internalType: "uint256" },
|
|
147
|
+
{ name: "extraData", type: "bytes", internalType: "bytes" }
|
|
148
|
+
],
|
|
149
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
150
|
+
stateMutability: "nonpayable"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: "function",
|
|
154
|
+
name: "redeemRequest",
|
|
155
|
+
inputs: [
|
|
156
|
+
{ name: "tokenOut", type: "address", internalType: "address" },
|
|
157
|
+
{ name: "amountMTokenIn", type: "uint256", internalType: "uint256" }
|
|
158
|
+
],
|
|
159
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
160
|
+
stateMutability: "nonpayable"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: "function",
|
|
164
|
+
name: "redeemRequestDiff",
|
|
165
|
+
inputs: [
|
|
166
|
+
{ name: "tokenOut", type: "address", internalType: "address" },
|
|
167
|
+
{ name: "leftoverAmount", type: "uint256", internalType: "uint256" }
|
|
168
|
+
],
|
|
169
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
170
|
+
stateMutability: "nonpayable"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: "function",
|
|
174
|
+
name: "redeemRequestDiff",
|
|
175
|
+
inputs: [
|
|
176
|
+
{ name: "tokenOut", type: "address", internalType: "address" },
|
|
177
|
+
{ name: "leftoverAmount", type: "uint256", internalType: "uint256" },
|
|
178
|
+
{ name: "extraData", type: "bytes", internalType: "bytes" }
|
|
179
|
+
],
|
|
180
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
181
|
+
stateMutability: "nonpayable"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: "function",
|
|
185
|
+
name: "referrerId",
|
|
186
|
+
inputs: [],
|
|
187
|
+
outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
|
|
188
|
+
stateMutability: "view"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
type: "function",
|
|
192
|
+
name: "serialize",
|
|
193
|
+
inputs: [],
|
|
194
|
+
outputs: [{ name: "serializedData", type: "bytes", internalType: "bytes" }],
|
|
195
|
+
stateMutability: "view"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
type: "function",
|
|
199
|
+
name: "setInputTokenAllowedStatusBatch",
|
|
200
|
+
inputs: [
|
|
201
|
+
{ name: "tokens", type: "address[]", internalType: "address[]" },
|
|
202
|
+
{ name: "allowed", type: "bool[]", internalType: "bool[]" }
|
|
203
|
+
],
|
|
204
|
+
outputs: [],
|
|
205
|
+
stateMutability: "nonpayable"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
type: "function",
|
|
209
|
+
name: "setOutputTokenAllowedStatusBatch",
|
|
210
|
+
inputs: [
|
|
211
|
+
{
|
|
212
|
+
name: "configs",
|
|
213
|
+
type: "tuple[]",
|
|
214
|
+
internalType: "struct IMidasGatewayAdapter.MidasAllowedTokenStatus[]",
|
|
215
|
+
components: [
|
|
216
|
+
{ name: "token", type: "address", internalType: "address" },
|
|
217
|
+
{ name: "phantomToken", type: "address", internalType: "address" },
|
|
218
|
+
{ name: "allowed", type: "bool", internalType: "bool" }
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
],
|
|
222
|
+
outputs: [],
|
|
223
|
+
stateMutability: "nonpayable"
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
type: "function",
|
|
227
|
+
name: "targetContract",
|
|
228
|
+
inputs: [],
|
|
229
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
230
|
+
stateMutability: "view"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
type: "function",
|
|
234
|
+
name: "transferRedeemer",
|
|
235
|
+
inputs: [
|
|
236
|
+
{ name: "redeemer", type: "address", internalType: "address" },
|
|
237
|
+
{ name: "newAccount", type: "address", internalType: "address" }
|
|
238
|
+
],
|
|
239
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
240
|
+
stateMutability: "nonpayable"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
type: "function",
|
|
244
|
+
name: "version",
|
|
245
|
+
inputs: [],
|
|
246
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
247
|
+
stateMutability: "view"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
type: "function",
|
|
251
|
+
name: "withdraw",
|
|
252
|
+
inputs: [
|
|
253
|
+
{ name: "tokenOut", type: "address", internalType: "address" },
|
|
254
|
+
{ name: "amount", type: "uint256", internalType: "uint256" }
|
|
255
|
+
],
|
|
256
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
257
|
+
stateMutability: "nonpayable"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
type: "function",
|
|
261
|
+
name: "withdrawFromRedeemer",
|
|
262
|
+
inputs: [
|
|
263
|
+
{ name: "redeemer", type: "address", internalType: "address" },
|
|
264
|
+
{ name: "tokenOut", type: "address", internalType: "address" },
|
|
265
|
+
{ name: "amount", type: "uint256", internalType: "uint256" }
|
|
266
|
+
],
|
|
267
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
268
|
+
stateMutability: "nonpayable"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
type: "function",
|
|
272
|
+
name: "withdrawPhantomToken",
|
|
273
|
+
inputs: [
|
|
274
|
+
{ name: "token", type: "address", internalType: "address" },
|
|
275
|
+
{ name: "amount", type: "uint256", internalType: "uint256" }
|
|
276
|
+
],
|
|
277
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
278
|
+
stateMutability: "nonpayable"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
type: "event",
|
|
282
|
+
name: "SetInputTokenAllowedStatus",
|
|
283
|
+
inputs: [
|
|
284
|
+
{
|
|
285
|
+
name: "token",
|
|
286
|
+
type: "address",
|
|
287
|
+
indexed: true,
|
|
288
|
+
internalType: "address"
|
|
289
|
+
},
|
|
290
|
+
{ name: "allowed", type: "bool", indexed: false, internalType: "bool" }
|
|
291
|
+
],
|
|
292
|
+
anonymous: false
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
type: "event",
|
|
296
|
+
name: "SetOutputTokenAllowedStatus",
|
|
297
|
+
inputs: [
|
|
298
|
+
{
|
|
299
|
+
name: "token",
|
|
300
|
+
type: "address",
|
|
301
|
+
indexed: true,
|
|
302
|
+
internalType: "address"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
name: "phantomToken",
|
|
306
|
+
type: "address",
|
|
307
|
+
indexed: true,
|
|
308
|
+
internalType: "address"
|
|
309
|
+
},
|
|
310
|
+
{ name: "allowed", type: "bool", indexed: false, internalType: "bool" }
|
|
311
|
+
],
|
|
312
|
+
anonymous: false
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
type: "error",
|
|
316
|
+
name: "AddressIsNotContractException",
|
|
317
|
+
inputs: [{ name: "", type: "address", internalType: "address" }]
|
|
318
|
+
},
|
|
319
|
+
{ type: "error", name: "CallerNotConfiguratorException", inputs: [] },
|
|
320
|
+
{ type: "error", name: "CallerNotCreditFacadeException", inputs: [] },
|
|
321
|
+
{ type: "error", name: "IncorrectArrayLengthException", inputs: [] },
|
|
322
|
+
{ type: "error", name: "IncorrectStakedPhantomTokenException", inputs: [] },
|
|
323
|
+
{ type: "error", name: "NotImplementedException", inputs: [] },
|
|
324
|
+
{ type: "error", name: "PhantomTokenTokenOutMismatchException", inputs: [] },
|
|
325
|
+
{ type: "error", name: "TokenNotAllowedException", inputs: [] },
|
|
326
|
+
{ type: "error", name: "ZeroAddressException", inputs: [] }
|
|
327
|
+
];
|
|
328
|
+
export {
|
|
329
|
+
iMidasGatewayAdapterAbi
|
|
330
|
+
};
|
|
@@ -164,7 +164,7 @@ class AbstractWithdrawalCompressorContract extends BaseContract {
|
|
|
164
164
|
/**
|
|
165
165
|
* {@inheritDoc IWithdrawalCompressorContract.getExternalAccountCurrentWithdrawals}
|
|
166
166
|
**/
|
|
167
|
-
async getExternalAccountCurrentWithdrawals(
|
|
167
|
+
async getExternalAccountCurrentWithdrawals(_account, ..._withdrawalTokens) {
|
|
168
168
|
this.#reportUnsupported("external account withdrawals");
|
|
169
169
|
return { claimable: [], pending: [] };
|
|
170
170
|
}
|
|
@@ -9,6 +9,86 @@ import {
|
|
|
9
9
|
import { encodeDelayedIntent } from "./intent-codec.js";
|
|
10
10
|
import { toWithdrawalStatus } from "./types.js";
|
|
11
11
|
const abi = iWithdrawalCompressorV313Abi;
|
|
12
|
+
const iExternalWithdrawalsBatchAbi = [
|
|
13
|
+
{
|
|
14
|
+
type: "function",
|
|
15
|
+
name: "getExternalAccountCurrentWithdrawals",
|
|
16
|
+
inputs: [
|
|
17
|
+
{
|
|
18
|
+
name: "withdrawalTokens",
|
|
19
|
+
type: "address[]",
|
|
20
|
+
internalType: "address[]"
|
|
21
|
+
},
|
|
22
|
+
{ name: "account", type: "address", internalType: "address" }
|
|
23
|
+
],
|
|
24
|
+
outputs: [
|
|
25
|
+
{
|
|
26
|
+
name: "",
|
|
27
|
+
type: "tuple[]",
|
|
28
|
+
internalType: "struct ClaimableWithdrawal[]",
|
|
29
|
+
components: [
|
|
30
|
+
{ name: "token", type: "address", internalType: "address" },
|
|
31
|
+
{
|
|
32
|
+
name: "withdrawalPhantomToken",
|
|
33
|
+
type: "address",
|
|
34
|
+
internalType: "address"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: "withdrawalTokenSpent",
|
|
38
|
+
type: "uint256",
|
|
39
|
+
internalType: "uint256"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "outputs",
|
|
43
|
+
type: "tuple[]",
|
|
44
|
+
internalType: "struct WithdrawalOutput[]",
|
|
45
|
+
components: [
|
|
46
|
+
{ name: "token", type: "address", internalType: "address" },
|
|
47
|
+
{ name: "isDelayed", type: "bool", internalType: "bool" },
|
|
48
|
+
{ name: "amount", type: "uint256", internalType: "uint256" }
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: "claimCalls",
|
|
53
|
+
type: "tuple[]",
|
|
54
|
+
internalType: "struct MultiCall[]",
|
|
55
|
+
components: [
|
|
56
|
+
{ name: "target", type: "address", internalType: "address" },
|
|
57
|
+
{ name: "callData", type: "bytes", internalType: "bytes" }
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{ name: "extraData", type: "bytes", internalType: "bytes" }
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "",
|
|
65
|
+
type: "tuple[]",
|
|
66
|
+
internalType: "struct PendingWithdrawal[]",
|
|
67
|
+
components: [
|
|
68
|
+
{ name: "token", type: "address", internalType: "address" },
|
|
69
|
+
{
|
|
70
|
+
name: "withdrawalPhantomToken",
|
|
71
|
+
type: "address",
|
|
72
|
+
internalType: "address"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "expectedOutputs",
|
|
76
|
+
type: "tuple[]",
|
|
77
|
+
internalType: "struct WithdrawalOutput[]",
|
|
78
|
+
components: [
|
|
79
|
+
{ name: "token", type: "address", internalType: "address" },
|
|
80
|
+
{ name: "isDelayed", type: "bool", internalType: "bool" },
|
|
81
|
+
{ name: "amount", type: "uint256", internalType: "uint256" }
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
{ name: "claimableAt", type: "uint256", internalType: "uint256" },
|
|
85
|
+
{ name: "extraData", type: "bytes", internalType: "bytes" }
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
stateMutability: "view"
|
|
90
|
+
}
|
|
91
|
+
];
|
|
12
92
|
const iWithdrawalStatusBatchAbi = [
|
|
13
93
|
{
|
|
14
94
|
type: "function",
|
|
@@ -34,11 +114,16 @@ class WithdrawalCompressorV313Contract extends AbstractWithdrawalCompressorContr
|
|
|
34
114
|
/**
|
|
35
115
|
* {@inheritDoc IWithdrawalCompressorContract.getExternalAccountCurrentWithdrawals}
|
|
36
116
|
**/
|
|
37
|
-
async getExternalAccountCurrentWithdrawals(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
]
|
|
117
|
+
async getExternalAccountCurrentWithdrawals(account, ...withdrawalTokens) {
|
|
118
|
+
if (withdrawalTokens.length === 0) {
|
|
119
|
+
return { claimable: [], pending: [] };
|
|
120
|
+
}
|
|
121
|
+
const [claimable, pending] = await this.client.readContract({
|
|
122
|
+
address: this.address,
|
|
123
|
+
abi: iExternalWithdrawalsBatchAbi,
|
|
124
|
+
functionName: "getExternalAccountCurrentWithdrawals",
|
|
125
|
+
args: [withdrawalTokens, account]
|
|
126
|
+
});
|
|
42
127
|
return {
|
|
43
128
|
claimable: claimable.map((w) => toClaimableWithdrawal(w, void 0)),
|
|
44
129
|
pending: pending.map((w) => toPendingWithdrawal(w, void 0)).sort((a, b) => a.claimableAt < b.claimableAt ? -1 : 1)
|
|
@@ -210,6 +210,109 @@ export declare const iWithdrawalCompressorV313Abi: readonly [{
|
|
|
210
210
|
}];
|
|
211
211
|
}];
|
|
212
212
|
readonly stateMutability: "view";
|
|
213
|
+
}, {
|
|
214
|
+
readonly type: "function";
|
|
215
|
+
readonly name: "getExternalAccountCurrentWithdrawals";
|
|
216
|
+
readonly inputs: readonly [{
|
|
217
|
+
readonly name: "withdrawalTokens";
|
|
218
|
+
readonly type: "address[]";
|
|
219
|
+
readonly internalType: "address[]";
|
|
220
|
+
}, {
|
|
221
|
+
readonly name: "account";
|
|
222
|
+
readonly type: "address";
|
|
223
|
+
readonly internalType: "address";
|
|
224
|
+
}];
|
|
225
|
+
readonly outputs: readonly [{
|
|
226
|
+
readonly name: "";
|
|
227
|
+
readonly type: "tuple[]";
|
|
228
|
+
readonly internalType: "struct ClaimableWithdrawal[]";
|
|
229
|
+
readonly components: readonly [{
|
|
230
|
+
readonly name: "token";
|
|
231
|
+
readonly type: "address";
|
|
232
|
+
readonly internalType: "address";
|
|
233
|
+
}, {
|
|
234
|
+
readonly name: "withdrawalPhantomToken";
|
|
235
|
+
readonly type: "address";
|
|
236
|
+
readonly internalType: "address";
|
|
237
|
+
}, {
|
|
238
|
+
readonly name: "withdrawalTokenSpent";
|
|
239
|
+
readonly type: "uint256";
|
|
240
|
+
readonly internalType: "uint256";
|
|
241
|
+
}, {
|
|
242
|
+
readonly name: "outputs";
|
|
243
|
+
readonly type: "tuple[]";
|
|
244
|
+
readonly internalType: "struct WithdrawalOutput[]";
|
|
245
|
+
readonly components: readonly [{
|
|
246
|
+
readonly name: "token";
|
|
247
|
+
readonly type: "address";
|
|
248
|
+
readonly internalType: "address";
|
|
249
|
+
}, {
|
|
250
|
+
readonly name: "isDelayed";
|
|
251
|
+
readonly type: "bool";
|
|
252
|
+
readonly internalType: "bool";
|
|
253
|
+
}, {
|
|
254
|
+
readonly name: "amount";
|
|
255
|
+
readonly type: "uint256";
|
|
256
|
+
readonly internalType: "uint256";
|
|
257
|
+
}];
|
|
258
|
+
}, {
|
|
259
|
+
readonly name: "claimCalls";
|
|
260
|
+
readonly type: "tuple[]";
|
|
261
|
+
readonly internalType: "struct MultiCall[]";
|
|
262
|
+
readonly components: readonly [{
|
|
263
|
+
readonly name: "target";
|
|
264
|
+
readonly type: "address";
|
|
265
|
+
readonly internalType: "address";
|
|
266
|
+
}, {
|
|
267
|
+
readonly name: "callData";
|
|
268
|
+
readonly type: "bytes";
|
|
269
|
+
readonly internalType: "bytes";
|
|
270
|
+
}];
|
|
271
|
+
}, {
|
|
272
|
+
readonly name: "extraData";
|
|
273
|
+
readonly type: "bytes";
|
|
274
|
+
readonly internalType: "bytes";
|
|
275
|
+
}];
|
|
276
|
+
}, {
|
|
277
|
+
readonly name: "";
|
|
278
|
+
readonly type: "tuple[]";
|
|
279
|
+
readonly internalType: "struct PendingWithdrawal[]";
|
|
280
|
+
readonly components: readonly [{
|
|
281
|
+
readonly name: "token";
|
|
282
|
+
readonly type: "address";
|
|
283
|
+
readonly internalType: "address";
|
|
284
|
+
}, {
|
|
285
|
+
readonly name: "withdrawalPhantomToken";
|
|
286
|
+
readonly type: "address";
|
|
287
|
+
readonly internalType: "address";
|
|
288
|
+
}, {
|
|
289
|
+
readonly name: "expectedOutputs";
|
|
290
|
+
readonly type: "tuple[]";
|
|
291
|
+
readonly internalType: "struct WithdrawalOutput[]";
|
|
292
|
+
readonly components: readonly [{
|
|
293
|
+
readonly name: "token";
|
|
294
|
+
readonly type: "address";
|
|
295
|
+
readonly internalType: "address";
|
|
296
|
+
}, {
|
|
297
|
+
readonly name: "isDelayed";
|
|
298
|
+
readonly type: "bool";
|
|
299
|
+
readonly internalType: "bool";
|
|
300
|
+
}, {
|
|
301
|
+
readonly name: "amount";
|
|
302
|
+
readonly type: "uint256";
|
|
303
|
+
readonly internalType: "uint256";
|
|
304
|
+
}];
|
|
305
|
+
}, {
|
|
306
|
+
readonly name: "claimableAt";
|
|
307
|
+
readonly type: "uint256";
|
|
308
|
+
readonly internalType: "uint256";
|
|
309
|
+
}, {
|
|
310
|
+
readonly name: "extraData";
|
|
311
|
+
readonly type: "bytes";
|
|
312
|
+
readonly internalType: "bytes";
|
|
313
|
+
}];
|
|
314
|
+
}];
|
|
315
|
+
readonly stateMutability: "view";
|
|
213
316
|
}, {
|
|
214
317
|
readonly type: "function";
|
|
215
318
|
readonly name: "getWithdrawalStatus";
|