@gearbox-protocol/sdk 11.2.1 → 11.3.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.
Files changed (52) hide show
  1. package/dist/cjs/abi/compressors/subcompressors/kelpLRTWithdrawalSubcompressor.js +187 -0
  2. package/dist/cjs/abi/compressors/subcompressors/mellowFlexibleDepositSubcompressor.js +187 -0
  3. package/dist/cjs/abi/compressors/subcompressors/mellowFlexibleRedeemSubcompressor.js +187 -0
  4. package/dist/cjs/abi/compressors/withdrawalCompressor.js +42 -0
  5. package/dist/cjs/abi/router/infinifiWorker.js +541 -0
  6. package/dist/cjs/abi/router/uniswapV4Worker.js +574 -0
  7. package/dist/cjs/plugins/adapters/AdaptersPlugin.js +9 -0
  8. package/dist/cjs/plugins/adapters/abi/actionAbi.js +9 -0
  9. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +17 -8
  10. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +4 -4
  11. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -1
  12. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +58 -0
  13. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +49 -0
  14. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -1
  15. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -1
  16. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +62 -0
  17. package/dist/cjs/plugins/adapters/types.js +3 -0
  18. package/dist/esm/abi/compressors/subcompressors/kelpLRTWithdrawalSubcompressor.js +163 -0
  19. package/dist/esm/abi/compressors/subcompressors/mellowFlexibleDepositSubcompressor.js +163 -0
  20. package/dist/esm/abi/compressors/subcompressors/mellowFlexibleRedeemSubcompressor.js +163 -0
  21. package/dist/esm/abi/compressors/withdrawalCompressor.js +42 -0
  22. package/dist/esm/abi/router/infinifiWorker.js +517 -0
  23. package/dist/esm/abi/router/uniswapV4Worker.js +550 -0
  24. package/dist/esm/plugins/adapters/AdaptersPlugin.js +9 -0
  25. package/dist/esm/plugins/adapters/abi/actionAbi.js +9 -0
  26. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +18 -9
  27. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +3 -3
  28. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -1
  29. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +34 -0
  30. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +25 -0
  31. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -1
  32. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -1
  33. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +38 -0
  34. package/dist/esm/plugins/adapters/types.js +3 -0
  35. package/dist/types/abi/compressors/subcompressors/kelpLRTWithdrawalSubcompressor.d.ts +220 -0
  36. package/dist/types/abi/compressors/subcompressors/mellowFlexibleDepositSubcompressor.d.ts +220 -0
  37. package/dist/types/abi/compressors/subcompressors/mellowFlexibleRedeemSubcompressor.d.ts +220 -0
  38. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +69 -0
  39. package/dist/types/abi/router/infinifiWorker.d.ts +726 -0
  40. package/dist/types/abi/router/uniswapV4Worker.d.ts +774 -0
  41. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +69 -0
  42. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +2 -2
  43. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +139 -13
  44. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +117 -1
  45. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +351 -0
  46. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +208 -0
  47. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +180 -1
  48. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +276 -1
  49. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +559 -0
  50. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +320 -0
  51. package/dist/types/plugins/adapters/types.d.ts +4 -1
  52. package/package.json +2 -2
@@ -2,10 +2,10 @@ const BASIC_ADAPTER_ABI = [
2
2
  { type: "address", name: "creditManager" },
3
3
  { type: "address", name: "target" }
4
4
  ];
5
- const STAKED_TOKEN_ADAPTER_ABI = [
5
+ const PHANTOM_TOKEN_ADAPTER_ABI = [
6
6
  { type: "address", name: "creditManager" },
7
7
  { type: "address", name: "target" },
8
- { type: "address", name: "stakedToken" }
8
+ { type: "address", name: "phantomToken" }
9
9
  ];
10
10
  const LP_ADAPTER_ABI = [
11
11
  { type: "address", name: "creditManager" },
@@ -65,8 +65,8 @@ export {
65
65
  CURVE_V1_WRAPPER_ADAPTER_ABI,
66
66
  GATEWAY_ADAPTER_ABI,
67
67
  LP_ADAPTER_ABI,
68
+ PHANTOM_TOKEN_ADAPTER_ABI,
68
69
  REFERER_ID_ADAPTER_ABI,
69
- STAKED_TOKEN_ADAPTER_ABI,
70
70
  STAKING_REWARDS_ADAPTER_ABI,
71
71
  UINT_REFERRAL_ADAPTER_ABI
72
72
  };
@@ -1,6 +1,7 @@
1
+ import { iBalancerV3WrapperAdapterAbi } from "@gearbox-protocol/integrations-v3";
1
2
  import { decodeAbiParameters } from "viem";
2
3
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
3
- const abi = [];
4
+ const abi = iBalancerV3WrapperAdapterAbi;
4
5
  class BalancerV3WrapperAdapterContract extends AbstractAdapterContract {
5
6
  balancerPoolToken;
6
7
  constructor(sdk, args) {
@@ -0,0 +1,34 @@
1
+ import { iInfinifiGatewayAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
+ import { decodeAbiParameters } from "viem";
3
+ import { AbstractAdapterContract } from "./AbstractAdapter.js";
4
+ const abi = iInfinifiGatewayAdapterAbi;
5
+ class InfinifiGatewayAdapterContract extends AbstractAdapterContract {
6
+ usdc;
7
+ iusd;
8
+ siusd;
9
+ allowedLockedTokens;
10
+ constructor(sdk, args) {
11
+ super(sdk, { ...args, abi });
12
+ const decoded = decodeAbiParameters(
13
+ [
14
+ { type: "address", name: "creditManager" },
15
+ { type: "address", name: "targetContract" },
16
+ { type: "address", name: "usdc" },
17
+ { type: "address", name: "iusd" },
18
+ { type: "address", name: "siusd" },
19
+ {
20
+ type: "address[]",
21
+ name: "allowedLockedTokens"
22
+ }
23
+ ],
24
+ args.baseParams.serializedParams
25
+ );
26
+ this.usdc = decoded[2];
27
+ this.iusd = decoded[3];
28
+ this.siusd = decoded[4];
29
+ this.allowedLockedTokens = [...decoded[5]];
30
+ }
31
+ }
32
+ export {
33
+ InfinifiGatewayAdapterContract
34
+ };
@@ -0,0 +1,25 @@
1
+ import { iInfinifiUnwindingGatewayAdapterAbi } from "@gearbox-protocol/integrations-v3";
2
+ import { decodeAbiParameters } from "viem";
3
+ import { AbstractAdapterContract } from "./AbstractAdapter.js";
4
+ const abi = iInfinifiUnwindingGatewayAdapterAbi;
5
+ class InfinifiUnwindingGatewayAdapterContract extends AbstractAdapterContract {
6
+ allowedLockedTokens;
7
+ constructor(sdk, args) {
8
+ super(sdk, { ...args, abi });
9
+ const decoded = decodeAbiParameters(
10
+ [
11
+ { type: "address", name: "creditManager" },
12
+ { type: "address", name: "targetContract" },
13
+ {
14
+ type: "address[]",
15
+ name: "allowedLockedTokens"
16
+ }
17
+ ],
18
+ args.baseParams.serializedParams
19
+ );
20
+ this.allowedLockedTokens = [...decoded[2]];
21
+ }
22
+ }
23
+ export {
24
+ InfinifiUnwindingGatewayAdapterContract
25
+ };
@@ -1,6 +1,7 @@
1
+ import { iMidasIssuanceVaultAdapterAbi } from "@gearbox-protocol/integrations-v3";
1
2
  import { decodeAbiParameters } from "viem";
2
3
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
3
- const abi = [];
4
+ const abi = iMidasIssuanceVaultAdapterAbi;
4
5
  class MidasIssuanceVaultAdapterContract extends AbstractAdapterContract {
5
6
  mToken;
6
7
  referrerId;
@@ -1,6 +1,7 @@
1
+ import { iMidasRedemptionVaultAdapterAbi } from "@gearbox-protocol/integrations-v3";
1
2
  import { decodeAbiParameters } from "viem";
2
3
  import { AbstractAdapterContract } from "./AbstractAdapter.js";
3
- const abi = [];
4
+ const abi = iMidasRedemptionVaultAdapterAbi;
4
5
  class MidasRedemptionVaultAdapterContract extends AbstractAdapterContract {
5
6
  gateway;
6
7
  mToken;
@@ -0,0 +1,38 @@
1
+ import { iUniswapV4AdapterAbi } from "@gearbox-protocol/integrations-v3";
2
+ import { decodeAbiParameters } from "viem";
3
+ import { AbstractAdapterContract } from "./AbstractAdapter.js";
4
+ const abi = iUniswapV4AdapterAbi;
5
+ class UniswapV4AdapterContract extends AbstractAdapterContract {
6
+ supportedPoolKeys;
7
+ constructor(sdk, args) {
8
+ super(sdk, { ...args, abi });
9
+ const decoded = decodeAbiParameters(
10
+ [
11
+ { type: "address", name: "creditManager" },
12
+ { type: "address", name: "targetContract" },
13
+ {
14
+ type: "tuple[]",
15
+ name: "supportedPools",
16
+ components: [
17
+ { type: "address", name: "token0" },
18
+ { type: "address", name: "token1" },
19
+ { type: "uint24", name: "fee" },
20
+ { type: "int24", name: "tickSpacing" },
21
+ { type: "address", name: "hooks" }
22
+ ]
23
+ }
24
+ ],
25
+ args.baseParams.serializedParams
26
+ );
27
+ this.supportedPoolKeys = decoded[2].map((pool) => ({
28
+ token0: pool.token0,
29
+ token1: pool.token1,
30
+ fee: pool.fee,
31
+ tickSpacing: pool.tickSpacing,
32
+ hooks: pool.hooks
33
+ }));
34
+ }
35
+ }
36
+ export {
37
+ UniswapV4AdapterContract
38
+ };
@@ -17,6 +17,8 @@ var AdapterType = /* @__PURE__ */ ((AdapterType2) => {
17
17
  AdapterType2["ERC4626_VAULT"] = "ERC4626_VAULT";
18
18
  AdapterType2["ERC4626_VAULT_REFERRAL"] = "ERC4626_VAULT_REFERRAL";
19
19
  AdapterType2["FLUID_DEX"] = "FLUID_DEX";
20
+ AdapterType2["INFINIFI_GATEWAY"] = "INFINIFI_GATEWAY";
21
+ AdapterType2["INFINIFI_UNWINDING"] = "INFINIFI_UNWINDING";
20
22
  AdapterType2["INFRARED_VAULT"] = "INFRARED_VAULT";
21
23
  AdapterType2["KODIAK_ISLAND_GATEWAY"] = "KODIAK_ISLAND_GATEWAY";
22
24
  AdapterType2["LIDO_V1"] = "LIDO_V1";
@@ -33,6 +35,7 @@ var AdapterType = /* @__PURE__ */ ((AdapterType2) => {
33
35
  AdapterType2["TRADERJOE_ROUTER"] = "TRADERJOE_ROUTER";
34
36
  AdapterType2["UNISWAP_V2_ROUTER"] = "UNISWAP_V2_ROUTER";
35
37
  AdapterType2["UNISWAP_V3_ROUTER"] = "UNISWAP_V3_ROUTER";
38
+ AdapterType2["UNISWAP_V4_GATEWAY"] = "UNISWAP_V4_GATEWAY";
36
39
  AdapterType2["UPSHIFT_VAULT"] = "UPSHIFT_VAULT";
37
40
  AdapterType2["VELODROME_V2_ROUTER"] = "VELODROME_V2_ROUTER";
38
41
  AdapterType2["YEARN_V2"] = "YEARN_V2";
@@ -0,0 +1,220 @@
1
+ export declare const kelpLRTWithdrawalSubcompressorAbi: readonly [{
2
+ readonly type: "function";
3
+ readonly name: "contractType";
4
+ readonly inputs: readonly [];
5
+ readonly outputs: readonly [{
6
+ readonly name: "";
7
+ readonly type: "bytes32";
8
+ readonly internalType: "bytes32";
9
+ }];
10
+ readonly stateMutability: "view";
11
+ }, {
12
+ readonly type: "function";
13
+ readonly name: "getCurrentWithdrawals";
14
+ readonly inputs: readonly [{
15
+ readonly name: "creditAccount";
16
+ readonly type: "address";
17
+ readonly internalType: "address";
18
+ }, {
19
+ readonly name: "token";
20
+ readonly type: "address";
21
+ readonly internalType: "address";
22
+ }];
23
+ readonly outputs: readonly [{
24
+ readonly name: "";
25
+ readonly type: "tuple[]";
26
+ readonly internalType: "struct ClaimableWithdrawal[]";
27
+ readonly components: readonly [{
28
+ readonly name: "token";
29
+ readonly type: "address";
30
+ readonly internalType: "address";
31
+ }, {
32
+ readonly name: "withdrawalPhantomToken";
33
+ readonly type: "address";
34
+ readonly internalType: "address";
35
+ }, {
36
+ readonly name: "withdrawalTokenSpent";
37
+ readonly type: "uint256";
38
+ readonly internalType: "uint256";
39
+ }, {
40
+ readonly name: "outputs";
41
+ readonly type: "tuple[]";
42
+ readonly internalType: "struct WithdrawalOutput[]";
43
+ readonly components: readonly [{
44
+ readonly name: "token";
45
+ readonly type: "address";
46
+ readonly internalType: "address";
47
+ }, {
48
+ readonly name: "isDelayed";
49
+ readonly type: "bool";
50
+ readonly internalType: "bool";
51
+ }, {
52
+ readonly name: "amount";
53
+ readonly type: "uint256";
54
+ readonly internalType: "uint256";
55
+ }];
56
+ }, {
57
+ readonly name: "claimCalls";
58
+ readonly type: "tuple[]";
59
+ readonly internalType: "struct MultiCall[]";
60
+ readonly components: readonly [{
61
+ readonly name: "target";
62
+ readonly type: "address";
63
+ readonly internalType: "address";
64
+ }, {
65
+ readonly name: "callData";
66
+ readonly type: "bytes";
67
+ readonly internalType: "bytes";
68
+ }];
69
+ }];
70
+ }, {
71
+ readonly name: "";
72
+ readonly type: "tuple[]";
73
+ readonly internalType: "struct PendingWithdrawal[]";
74
+ readonly components: readonly [{
75
+ readonly name: "token";
76
+ readonly type: "address";
77
+ readonly internalType: "address";
78
+ }, {
79
+ readonly name: "withdrawalPhantomToken";
80
+ readonly type: "address";
81
+ readonly internalType: "address";
82
+ }, {
83
+ readonly name: "expectedOutputs";
84
+ readonly type: "tuple[]";
85
+ readonly internalType: "struct WithdrawalOutput[]";
86
+ readonly components: readonly [{
87
+ readonly name: "token";
88
+ readonly type: "address";
89
+ readonly internalType: "address";
90
+ }, {
91
+ readonly name: "isDelayed";
92
+ readonly type: "bool";
93
+ readonly internalType: "bool";
94
+ }, {
95
+ readonly name: "amount";
96
+ readonly type: "uint256";
97
+ readonly internalType: "uint256";
98
+ }];
99
+ }, {
100
+ readonly name: "claimableAt";
101
+ readonly type: "uint256";
102
+ readonly internalType: "uint256";
103
+ }];
104
+ }];
105
+ readonly stateMutability: "view";
106
+ }, {
107
+ readonly type: "function";
108
+ readonly name: "getWithdrawableAssets";
109
+ readonly inputs: readonly [{
110
+ readonly name: "";
111
+ readonly type: "address";
112
+ readonly internalType: "address";
113
+ }, {
114
+ readonly name: "token";
115
+ readonly type: "address";
116
+ readonly internalType: "address";
117
+ }];
118
+ readonly outputs: readonly [{
119
+ readonly name: "";
120
+ readonly type: "tuple[]";
121
+ readonly internalType: "struct WithdrawableAsset[]";
122
+ readonly components: readonly [{
123
+ readonly name: "token";
124
+ readonly type: "address";
125
+ readonly internalType: "address";
126
+ }, {
127
+ readonly name: "withdrawalPhantomToken";
128
+ readonly type: "address";
129
+ readonly internalType: "address";
130
+ }, {
131
+ readonly name: "underlying";
132
+ readonly type: "address";
133
+ readonly internalType: "address";
134
+ }, {
135
+ readonly name: "withdrawalLength";
136
+ readonly type: "uint256";
137
+ readonly internalType: "uint256";
138
+ }];
139
+ }];
140
+ readonly stateMutability: "view";
141
+ }, {
142
+ readonly type: "function";
143
+ readonly name: "getWithdrawalRequestResult";
144
+ readonly inputs: readonly [{
145
+ readonly name: "creditAccount";
146
+ readonly type: "address";
147
+ readonly internalType: "address";
148
+ }, {
149
+ readonly name: "token";
150
+ readonly type: "address";
151
+ readonly internalType: "address";
152
+ }, {
153
+ readonly name: "withdrawalToken";
154
+ readonly type: "address";
155
+ readonly internalType: "address";
156
+ }, {
157
+ readonly name: "amount";
158
+ readonly type: "uint256";
159
+ readonly internalType: "uint256";
160
+ }];
161
+ readonly outputs: readonly [{
162
+ readonly name: "requestableWithdrawal";
163
+ readonly type: "tuple";
164
+ readonly internalType: "struct RequestableWithdrawal";
165
+ readonly components: readonly [{
166
+ readonly name: "token";
167
+ readonly type: "address";
168
+ readonly internalType: "address";
169
+ }, {
170
+ readonly name: "amountIn";
171
+ readonly type: "uint256";
172
+ readonly internalType: "uint256";
173
+ }, {
174
+ readonly name: "outputs";
175
+ readonly type: "tuple[]";
176
+ readonly internalType: "struct WithdrawalOutput[]";
177
+ readonly components: readonly [{
178
+ readonly name: "token";
179
+ readonly type: "address";
180
+ readonly internalType: "address";
181
+ }, {
182
+ readonly name: "isDelayed";
183
+ readonly type: "bool";
184
+ readonly internalType: "bool";
185
+ }, {
186
+ readonly name: "amount";
187
+ readonly type: "uint256";
188
+ readonly internalType: "uint256";
189
+ }];
190
+ }, {
191
+ readonly name: "requestCalls";
192
+ readonly type: "tuple[]";
193
+ readonly internalType: "struct MultiCall[]";
194
+ readonly components: readonly [{
195
+ readonly name: "target";
196
+ readonly type: "address";
197
+ readonly internalType: "address";
198
+ }, {
199
+ readonly name: "callData";
200
+ readonly type: "bytes";
201
+ readonly internalType: "bytes";
202
+ }];
203
+ }, {
204
+ readonly name: "claimableAt";
205
+ readonly type: "uint256";
206
+ readonly internalType: "uint256";
207
+ }];
208
+ }];
209
+ readonly stateMutability: "view";
210
+ }, {
211
+ readonly type: "function";
212
+ readonly name: "version";
213
+ readonly inputs: readonly [];
214
+ readonly outputs: readonly [{
215
+ readonly name: "";
216
+ readonly type: "uint256";
217
+ readonly internalType: "uint256";
218
+ }];
219
+ readonly stateMutability: "view";
220
+ }];
@@ -0,0 +1,220 @@
1
+ export declare const mellowFlexibleDepositSubcompressorAbi: readonly [{
2
+ readonly type: "function";
3
+ readonly name: "contractType";
4
+ readonly inputs: readonly [];
5
+ readonly outputs: readonly [{
6
+ readonly name: "";
7
+ readonly type: "bytes32";
8
+ readonly internalType: "bytes32";
9
+ }];
10
+ readonly stateMutability: "view";
11
+ }, {
12
+ readonly type: "function";
13
+ readonly name: "getCurrentWithdrawals";
14
+ readonly inputs: readonly [{
15
+ readonly name: "creditAccount";
16
+ readonly type: "address";
17
+ readonly internalType: "address";
18
+ }, {
19
+ readonly name: "token";
20
+ readonly type: "address";
21
+ readonly internalType: "address";
22
+ }];
23
+ readonly outputs: readonly [{
24
+ readonly name: "";
25
+ readonly type: "tuple[]";
26
+ readonly internalType: "struct ClaimableWithdrawal[]";
27
+ readonly components: readonly [{
28
+ readonly name: "token";
29
+ readonly type: "address";
30
+ readonly internalType: "address";
31
+ }, {
32
+ readonly name: "withdrawalPhantomToken";
33
+ readonly type: "address";
34
+ readonly internalType: "address";
35
+ }, {
36
+ readonly name: "withdrawalTokenSpent";
37
+ readonly type: "uint256";
38
+ readonly internalType: "uint256";
39
+ }, {
40
+ readonly name: "outputs";
41
+ readonly type: "tuple[]";
42
+ readonly internalType: "struct WithdrawalOutput[]";
43
+ readonly components: readonly [{
44
+ readonly name: "token";
45
+ readonly type: "address";
46
+ readonly internalType: "address";
47
+ }, {
48
+ readonly name: "isDelayed";
49
+ readonly type: "bool";
50
+ readonly internalType: "bool";
51
+ }, {
52
+ readonly name: "amount";
53
+ readonly type: "uint256";
54
+ readonly internalType: "uint256";
55
+ }];
56
+ }, {
57
+ readonly name: "claimCalls";
58
+ readonly type: "tuple[]";
59
+ readonly internalType: "struct MultiCall[]";
60
+ readonly components: readonly [{
61
+ readonly name: "target";
62
+ readonly type: "address";
63
+ readonly internalType: "address";
64
+ }, {
65
+ readonly name: "callData";
66
+ readonly type: "bytes";
67
+ readonly internalType: "bytes";
68
+ }];
69
+ }];
70
+ }, {
71
+ readonly name: "";
72
+ readonly type: "tuple[]";
73
+ readonly internalType: "struct PendingWithdrawal[]";
74
+ readonly components: readonly [{
75
+ readonly name: "token";
76
+ readonly type: "address";
77
+ readonly internalType: "address";
78
+ }, {
79
+ readonly name: "withdrawalPhantomToken";
80
+ readonly type: "address";
81
+ readonly internalType: "address";
82
+ }, {
83
+ readonly name: "expectedOutputs";
84
+ readonly type: "tuple[]";
85
+ readonly internalType: "struct WithdrawalOutput[]";
86
+ readonly components: readonly [{
87
+ readonly name: "token";
88
+ readonly type: "address";
89
+ readonly internalType: "address";
90
+ }, {
91
+ readonly name: "isDelayed";
92
+ readonly type: "bool";
93
+ readonly internalType: "bool";
94
+ }, {
95
+ readonly name: "amount";
96
+ readonly type: "uint256";
97
+ readonly internalType: "uint256";
98
+ }];
99
+ }, {
100
+ readonly name: "claimableAt";
101
+ readonly type: "uint256";
102
+ readonly internalType: "uint256";
103
+ }];
104
+ }];
105
+ readonly stateMutability: "view";
106
+ }, {
107
+ readonly type: "function";
108
+ readonly name: "getWithdrawableAssets";
109
+ readonly inputs: readonly [{
110
+ readonly name: "";
111
+ readonly type: "address";
112
+ readonly internalType: "address";
113
+ }, {
114
+ readonly name: "token";
115
+ readonly type: "address";
116
+ readonly internalType: "address";
117
+ }];
118
+ readonly outputs: readonly [{
119
+ readonly name: "";
120
+ readonly type: "tuple[]";
121
+ readonly internalType: "struct WithdrawableAsset[]";
122
+ readonly components: readonly [{
123
+ readonly name: "token";
124
+ readonly type: "address";
125
+ readonly internalType: "address";
126
+ }, {
127
+ readonly name: "withdrawalPhantomToken";
128
+ readonly type: "address";
129
+ readonly internalType: "address";
130
+ }, {
131
+ readonly name: "underlying";
132
+ readonly type: "address";
133
+ readonly internalType: "address";
134
+ }, {
135
+ readonly name: "withdrawalLength";
136
+ readonly type: "uint256";
137
+ readonly internalType: "uint256";
138
+ }];
139
+ }];
140
+ readonly stateMutability: "view";
141
+ }, {
142
+ readonly type: "function";
143
+ readonly name: "getWithdrawalRequestResult";
144
+ readonly inputs: readonly [{
145
+ readonly name: "creditAccount";
146
+ readonly type: "address";
147
+ readonly internalType: "address";
148
+ }, {
149
+ readonly name: "token";
150
+ readonly type: "address";
151
+ readonly internalType: "address";
152
+ }, {
153
+ readonly name: "withdrawalToken";
154
+ readonly type: "address";
155
+ readonly internalType: "address";
156
+ }, {
157
+ readonly name: "amount";
158
+ readonly type: "uint256";
159
+ readonly internalType: "uint256";
160
+ }];
161
+ readonly outputs: readonly [{
162
+ readonly name: "requestableWithdrawal";
163
+ readonly type: "tuple";
164
+ readonly internalType: "struct RequestableWithdrawal";
165
+ readonly components: readonly [{
166
+ readonly name: "token";
167
+ readonly type: "address";
168
+ readonly internalType: "address";
169
+ }, {
170
+ readonly name: "amountIn";
171
+ readonly type: "uint256";
172
+ readonly internalType: "uint256";
173
+ }, {
174
+ readonly name: "outputs";
175
+ readonly type: "tuple[]";
176
+ readonly internalType: "struct WithdrawalOutput[]";
177
+ readonly components: readonly [{
178
+ readonly name: "token";
179
+ readonly type: "address";
180
+ readonly internalType: "address";
181
+ }, {
182
+ readonly name: "isDelayed";
183
+ readonly type: "bool";
184
+ readonly internalType: "bool";
185
+ }, {
186
+ readonly name: "amount";
187
+ readonly type: "uint256";
188
+ readonly internalType: "uint256";
189
+ }];
190
+ }, {
191
+ readonly name: "requestCalls";
192
+ readonly type: "tuple[]";
193
+ readonly internalType: "struct MultiCall[]";
194
+ readonly components: readonly [{
195
+ readonly name: "target";
196
+ readonly type: "address";
197
+ readonly internalType: "address";
198
+ }, {
199
+ readonly name: "callData";
200
+ readonly type: "bytes";
201
+ readonly internalType: "bytes";
202
+ }];
203
+ }, {
204
+ readonly name: "claimableAt";
205
+ readonly type: "uint256";
206
+ readonly internalType: "uint256";
207
+ }];
208
+ }];
209
+ readonly stateMutability: "view";
210
+ }, {
211
+ readonly type: "function";
212
+ readonly name: "version";
213
+ readonly inputs: readonly [];
214
+ readonly outputs: readonly [{
215
+ readonly name: "";
216
+ readonly type: "uint256";
217
+ readonly internalType: "uint256";
218
+ }];
219
+ readonly stateMutability: "view";
220
+ }];