@gauntlet-xyz/sdk 0.0.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 (90) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +120 -0
  3. package/dist/manifest/vaults.json +139 -0
  4. package/dist/src/attribution/erc8021.d.ts +2 -0
  5. package/dist/src/attribution/erc8021.js +7 -0
  6. package/dist/src/attribution/erc8021.js.map +1 -0
  7. package/dist/src/attribution/index.d.ts +16 -0
  8. package/dist/src/attribution/index.js +37 -0
  9. package/dist/src/attribution/index.js.map +1 -0
  10. package/dist/src/client.d.ts +28 -0
  11. package/dist/src/client.js +35 -0
  12. package/dist/src/client.js.map +1 -0
  13. package/dist/src/errors.d.ts +55 -0
  14. package/dist/src/errors.js +97 -0
  15. package/dist/src/errors.js.map +1 -0
  16. package/dist/src/evm/abis/erc20.d.ts +40 -0
  17. package/dist/src/evm/abis/erc20.js +30 -0
  18. package/dist/src/evm/abis/erc20.js.map +1 -0
  19. package/dist/src/evm/abis/erc4626.d.ts +104 -0
  20. package/dist/src/evm/abis/erc4626.js +70 -0
  21. package/dist/src/evm/abis/erc4626.js.map +1 -0
  22. package/dist/src/evm/abis/multiDepositorVault.d.ts +1047 -0
  23. package/dist/src/evm/abis/multiDepositorVault.js +587 -0
  24. package/dist/src/evm/abis/multiDepositorVault.js.map +1 -0
  25. package/dist/src/evm/abis/priceAndFeeCalculator.d.ts +909 -0
  26. package/dist/src/evm/abis/priceAndFeeCalculator.js +490 -0
  27. package/dist/src/evm/abis/priceAndFeeCalculator.js.map +1 -0
  28. package/dist/src/evm/abis/provisioner.d.ts +4983 -0
  29. package/dist/src/evm/abis/provisioner.js +2738 -0
  30. package/dist/src/evm/abis/provisioner.js.map +1 -0
  31. package/dist/src/evm/adapters/aera.d.ts +5 -0
  32. package/dist/src/evm/adapters/aera.js +144 -0
  33. package/dist/src/evm/adapters/aera.js.map +1 -0
  34. package/dist/src/evm/adapters/index.d.ts +2 -0
  35. package/dist/src/evm/adapters/index.js +14 -0
  36. package/dist/src/evm/adapters/index.js.map +1 -0
  37. package/dist/src/evm/adapters/morpho.d.ts +2 -0
  38. package/dist/src/evm/adapters/morpho.js +79 -0
  39. package/dist/src/evm/adapters/morpho.js.map +1 -0
  40. package/dist/src/evm/adapters/types.d.ts +65 -0
  41. package/dist/src/evm/adapters/types.js +2 -0
  42. package/dist/src/evm/adapters/types.js.map +1 -0
  43. package/dist/src/evm/aeraContracts.d.ts +2315 -0
  44. package/dist/src/evm/aeraContracts.js +37 -0
  45. package/dist/src/evm/aeraContracts.js.map +1 -0
  46. package/dist/src/evm/deposit.d.ts +13 -0
  47. package/dist/src/evm/deposit.js +66 -0
  48. package/dist/src/evm/deposit.js.map +1 -0
  49. package/dist/src/evm/index.d.ts +10 -0
  50. package/dist/src/evm/index.js +5 -0
  51. package/dist/src/evm/index.js.map +1 -0
  52. package/dist/src/evm/types.d.ts +27 -0
  53. package/dist/src/evm/types.js +2 -0
  54. package/dist/src/evm/types.js.map +1 -0
  55. package/dist/src/evm/userCurrentBalance.d.ts +16 -0
  56. package/dist/src/evm/userCurrentBalance.js +164 -0
  57. package/dist/src/evm/userCurrentBalance.js.map +1 -0
  58. package/dist/src/evm/vaults.d.ts +17 -0
  59. package/dist/src/evm/vaults.js +39 -0
  60. package/dist/src/evm/vaults.js.map +1 -0
  61. package/dist/src/evm/withdraw.d.ts +24 -0
  62. package/dist/src/evm/withdraw.js +51 -0
  63. package/dist/src/evm/withdraw.js.map +1 -0
  64. package/dist/src/index.d.ts +7 -0
  65. package/dist/src/index.js +4 -0
  66. package/dist/src/index.js.map +1 -0
  67. package/dist/tsconfig.tsbuildinfo +1 -0
  68. package/manifest/vaults.json +139 -0
  69. package/package.json +64 -0
  70. package/src/attribution/erc8021.ts +14 -0
  71. package/src/attribution/index.ts +62 -0
  72. package/src/client.ts +95 -0
  73. package/src/errors.ts +135 -0
  74. package/src/evm/abis/erc20.ts +29 -0
  75. package/src/evm/abis/erc4626.ts +69 -0
  76. package/src/evm/abis/multiDepositorVault.ts +586 -0
  77. package/src/evm/abis/priceAndFeeCalculator.ts +489 -0
  78. package/src/evm/abis/provisioner.ts +2787 -0
  79. package/src/evm/adapters/aera.ts +254 -0
  80. package/src/evm/adapters/index.ts +15 -0
  81. package/src/evm/adapters/morpho.ts +92 -0
  82. package/src/evm/adapters/types.ts +64 -0
  83. package/src/evm/aeraContracts.ts +82 -0
  84. package/src/evm/deposit.ts +137 -0
  85. package/src/evm/index.ts +11 -0
  86. package/src/evm/types.ts +34 -0
  87. package/src/evm/userCurrentBalance.ts +265 -0
  88. package/src/evm/vaults.ts +88 -0
  89. package/src/evm/withdraw.ts +127 -0
  90. package/src/index.ts +28 -0
@@ -0,0 +1,2787 @@
1
+ export const provisionerAbi = [
2
+ {
3
+ type: 'constructor',
4
+ inputs: [
5
+ {
6
+ name: 'priceAndFeeCalculator',
7
+ internalType: 'contract IPriceAndFeeCalculator',
8
+ type: 'address',
9
+ },
10
+ { name: 'multiDepositorVault', internalType: 'address', type: 'address' },
11
+ { name: 'owner_', internalType: 'address', type: 'address' },
12
+ { name: 'authority_', internalType: 'contract Authority', type: 'address' },
13
+ ],
14
+ stateMutability: 'nonpayable',
15
+ },
16
+ {
17
+ type: 'function',
18
+ inputs: [],
19
+ name: 'MULTI_DEPOSITOR_VAULT',
20
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
21
+ stateMutability: 'view',
22
+ },
23
+ {
24
+ type: 'function',
25
+ inputs: [],
26
+ name: 'PRICE_FEE_CALCULATOR',
27
+ outputs: [{ name: '', internalType: 'contract IPriceAndFeeCalculator', type: 'address' }],
28
+ stateMutability: 'view',
29
+ },
30
+ {
31
+ type: 'function',
32
+ inputs: [],
33
+ name: 'acceptOwnership',
34
+ outputs: [],
35
+ stateMutability: 'nonpayable',
36
+ },
37
+ {
38
+ type: 'function',
39
+ inputs: [{ name: 'user', internalType: 'address', type: 'address' }],
40
+ name: 'areUserUnitsLocked',
41
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
42
+ stateMutability: 'view',
43
+ },
44
+ {
45
+ type: 'function',
46
+ inputs: [{ name: 'asyncDepositHash', internalType: 'bytes32', type: 'bytes32' }],
47
+ name: 'asyncDepositHashes',
48
+ outputs: [{ name: 'exists', internalType: 'bool', type: 'bool' }],
49
+ stateMutability: 'view',
50
+ },
51
+ {
52
+ type: 'function',
53
+ inputs: [{ name: 'asyncRedeemHash', internalType: 'bytes32', type: 'bytes32' }],
54
+ name: 'asyncRedeemHashes',
55
+ outputs: [{ name: 'exists', internalType: 'bool', type: 'bool' }],
56
+ stateMutability: 'view',
57
+ },
58
+ {
59
+ type: 'function',
60
+ inputs: [],
61
+ name: 'authority',
62
+ outputs: [{ name: '', internalType: 'contract Authority', type: 'address' }],
63
+ stateMutability: 'view',
64
+ },
65
+ {
66
+ type: 'function',
67
+ inputs: [
68
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
69
+ { name: 'tokensIn', internalType: 'uint256', type: 'uint256' },
70
+ { name: 'minUnitsOut', internalType: 'uint256', type: 'uint256' },
71
+ ],
72
+ name: 'deposit',
73
+ outputs: [{ name: 'unitsOut', internalType: 'uint256', type: 'uint256' }],
74
+ stateMutability: 'nonpayable',
75
+ },
76
+ {
77
+ type: 'function',
78
+ inputs: [],
79
+ name: 'depositCap',
80
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
81
+ stateMutability: 'view',
82
+ },
83
+ {
84
+ type: 'function',
85
+ inputs: [],
86
+ name: 'depositRefundTimeout',
87
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
88
+ stateMutability: 'view',
89
+ },
90
+ {
91
+ type: 'function',
92
+ inputs: [
93
+ { name: 'user', internalType: 'address', type: 'address' },
94
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
95
+ { name: 'tokenAmount', internalType: 'uint256', type: 'uint256' },
96
+ { name: 'unitsAmount', internalType: 'uint256', type: 'uint256' },
97
+ { name: 'refundableUntil', internalType: 'uint256', type: 'uint256' },
98
+ ],
99
+ name: 'getDepositHash',
100
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
101
+ stateMutability: 'pure',
102
+ },
103
+ {
104
+ type: 'function',
105
+ inputs: [
106
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
107
+ {
108
+ name: 'request',
109
+ internalType: 'struct Request',
110
+ type: 'tuple',
111
+ components: [
112
+ { name: 'requestType', internalType: 'enum RequestType', type: 'uint8' },
113
+ { name: 'user', internalType: 'address', type: 'address' },
114
+ { name: 'units', internalType: 'uint256', type: 'uint256' },
115
+ { name: 'tokens', internalType: 'uint256', type: 'uint256' },
116
+ { name: 'solverTip', internalType: 'uint256', type: 'uint256' },
117
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
118
+ { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256' },
119
+ ],
120
+ },
121
+ ],
122
+ name: 'getRequestHash',
123
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
124
+ stateMutability: 'pure',
125
+ },
126
+ {
127
+ type: 'function',
128
+ inputs: [],
129
+ name: 'maxDeposit',
130
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
131
+ stateMutability: 'view',
132
+ },
133
+ {
134
+ type: 'function',
135
+ inputs: [
136
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
137
+ { name: 'unitsOut', internalType: 'uint256', type: 'uint256' },
138
+ { name: 'maxTokensIn', internalType: 'uint256', type: 'uint256' },
139
+ ],
140
+ name: 'mint',
141
+ outputs: [{ name: 'tokensIn', internalType: 'uint256', type: 'uint256' }],
142
+ stateMutability: 'nonpayable',
143
+ },
144
+ {
145
+ type: 'function',
146
+ inputs: [],
147
+ name: 'owner',
148
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
149
+ stateMutability: 'view',
150
+ },
151
+ {
152
+ type: 'function',
153
+ inputs: [],
154
+ name: 'pendingOwner',
155
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
156
+ stateMutability: 'view',
157
+ },
158
+ {
159
+ type: 'function',
160
+ inputs: [
161
+ { name: 'sender', internalType: 'address', type: 'address' },
162
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
163
+ { name: 'tokenAmount', internalType: 'uint256', type: 'uint256' },
164
+ { name: 'unitsAmount', internalType: 'uint256', type: 'uint256' },
165
+ { name: 'refundableUntil', internalType: 'uint256', type: 'uint256' },
166
+ ],
167
+ name: 'refundDeposit',
168
+ outputs: [],
169
+ stateMutability: 'nonpayable',
170
+ },
171
+ {
172
+ type: 'function',
173
+ inputs: [
174
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
175
+ {
176
+ name: 'request',
177
+ internalType: 'struct Request',
178
+ type: 'tuple',
179
+ components: [
180
+ { name: 'requestType', internalType: 'enum RequestType', type: 'uint8' },
181
+ { name: 'user', internalType: 'address', type: 'address' },
182
+ { name: 'units', internalType: 'uint256', type: 'uint256' },
183
+ { name: 'tokens', internalType: 'uint256', type: 'uint256' },
184
+ { name: 'solverTip', internalType: 'uint256', type: 'uint256' },
185
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
186
+ { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256' },
187
+ ],
188
+ },
189
+ ],
190
+ name: 'refundRequest',
191
+ outputs: [],
192
+ stateMutability: 'nonpayable',
193
+ },
194
+ {
195
+ type: 'function',
196
+ inputs: [{ name: 'token', internalType: 'contract IERC20', type: 'address' }],
197
+ name: 'removeToken',
198
+ outputs: [],
199
+ stateMutability: 'nonpayable',
200
+ },
201
+ {
202
+ type: 'function',
203
+ inputs: [
204
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
205
+ { name: 'tokensIn', internalType: 'uint256', type: 'uint256' },
206
+ { name: 'minUnitsOut', internalType: 'uint256', type: 'uint256' },
207
+ { name: 'solverTip', internalType: 'uint256', type: 'uint256' },
208
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
209
+ { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256' },
210
+ { name: 'isFixedPrice', internalType: 'bool', type: 'bool' },
211
+ ],
212
+ name: 'requestDeposit',
213
+ outputs: [],
214
+ stateMutability: 'nonpayable',
215
+ },
216
+ {
217
+ type: 'function',
218
+ inputs: [
219
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
220
+ { name: 'unitsIn', internalType: 'uint256', type: 'uint256' },
221
+ { name: 'minTokensOut', internalType: 'uint256', type: 'uint256' },
222
+ { name: 'solverTip', internalType: 'uint256', type: 'uint256' },
223
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
224
+ { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256' },
225
+ { name: 'isFixedPrice', internalType: 'bool', type: 'bool' },
226
+ ],
227
+ name: 'requestRedeem',
228
+ outputs: [],
229
+ stateMutability: 'nonpayable',
230
+ },
231
+ {
232
+ type: 'function',
233
+ inputs: [{ name: 'newAuthority', internalType: 'contract Authority', type: 'address' }],
234
+ name: 'setAuthority',
235
+ outputs: [],
236
+ stateMutability: 'nonpayable',
237
+ },
238
+ {
239
+ type: 'function',
240
+ inputs: [
241
+ { name: 'depositCap_', internalType: 'uint256', type: 'uint256' },
242
+ { name: 'depositRefundTimeout_', internalType: 'uint256', type: 'uint256' },
243
+ ],
244
+ name: 'setDepositDetails',
245
+ outputs: [],
246
+ stateMutability: 'nonpayable',
247
+ },
248
+ {
249
+ type: 'function',
250
+ inputs: [
251
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
252
+ {
253
+ name: 'details',
254
+ internalType: 'struct TokenDetails',
255
+ type: 'tuple',
256
+ components: [
257
+ { name: 'asyncDepositEnabled', internalType: 'bool', type: 'bool' },
258
+ { name: 'asyncRedeemEnabled', internalType: 'bool', type: 'bool' },
259
+ { name: 'syncDepositEnabled', internalType: 'bool', type: 'bool' },
260
+ { name: 'depositMultiplier', internalType: 'uint16', type: 'uint16' },
261
+ { name: 'redeemMultiplier', internalType: 'uint16', type: 'uint16' },
262
+ ],
263
+ },
264
+ ],
265
+ name: 'setTokenDetails',
266
+ outputs: [],
267
+ stateMutability: 'nonpayable',
268
+ },
269
+ {
270
+ type: 'function',
271
+ inputs: [
272
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
273
+ {
274
+ name: 'requests',
275
+ internalType: 'struct Request[]',
276
+ type: 'tuple[]',
277
+ components: [
278
+ { name: 'requestType', internalType: 'enum RequestType', type: 'uint8' },
279
+ { name: 'user', internalType: 'address', type: 'address' },
280
+ { name: 'units', internalType: 'uint256', type: 'uint256' },
281
+ { name: 'tokens', internalType: 'uint256', type: 'uint256' },
282
+ { name: 'solverTip', internalType: 'uint256', type: 'uint256' },
283
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
284
+ { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256' },
285
+ ],
286
+ },
287
+ ],
288
+ name: 'solveRequestsDirect',
289
+ outputs: [],
290
+ stateMutability: 'nonpayable',
291
+ },
292
+ {
293
+ type: 'function',
294
+ inputs: [
295
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
296
+ {
297
+ name: 'requests',
298
+ internalType: 'struct Request[]',
299
+ type: 'tuple[]',
300
+ components: [
301
+ { name: 'requestType', internalType: 'enum RequestType', type: 'uint8' },
302
+ { name: 'user', internalType: 'address', type: 'address' },
303
+ { name: 'units', internalType: 'uint256', type: 'uint256' },
304
+ { name: 'tokens', internalType: 'uint256', type: 'uint256' },
305
+ { name: 'solverTip', internalType: 'uint256', type: 'uint256' },
306
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
307
+ { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256' },
308
+ ],
309
+ },
310
+ ],
311
+ name: 'solveRequestsVault',
312
+ outputs: [],
313
+ stateMutability: 'nonpayable',
314
+ },
315
+ {
316
+ type: 'function',
317
+ inputs: [{ name: 'syncDepositHash', internalType: 'bytes32', type: 'bytes32' }],
318
+ name: 'syncDepositHashes',
319
+ outputs: [{ name: 'exists', internalType: 'bool', type: 'bool' }],
320
+ stateMutability: 'view',
321
+ },
322
+ {
323
+ type: 'function',
324
+ inputs: [{ name: 'token', internalType: 'contract IERC20', type: 'address' }],
325
+ name: 'tokensDetails',
326
+ outputs: [
327
+ { name: 'asyncDepositEnabled', internalType: 'bool', type: 'bool' },
328
+ { name: 'asyncRedeemEnabled', internalType: 'bool', type: 'bool' },
329
+ { name: 'syncDepositEnabled', internalType: 'bool', type: 'bool' },
330
+ { name: 'depositMultiplier', internalType: 'uint16', type: 'uint16' },
331
+ { name: 'redeemMultiplier', internalType: 'uint16', type: 'uint16' },
332
+ ],
333
+ stateMutability: 'view',
334
+ },
335
+ {
336
+ type: 'function',
337
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
338
+ name: 'transferOwnership',
339
+ outputs: [],
340
+ stateMutability: 'nonpayable',
341
+ },
342
+ {
343
+ type: 'function',
344
+ inputs: [{ name: 'user', internalType: 'address', type: 'address' }],
345
+ name: 'userUnitsRefundableUntil',
346
+ outputs: [{ name: 'unitsLockedUntil', internalType: 'uint256', type: 'uint256' }],
347
+ stateMutability: 'view',
348
+ },
349
+ {
350
+ type: 'event',
351
+ anonymous: false,
352
+ inputs: [
353
+ { name: 'index', internalType: 'uint256', type: 'uint256', indexed: true },
354
+ { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false },
355
+ { name: 'bound', internalType: 'uint256', type: 'uint256', indexed: false },
356
+ ],
357
+ name: 'AmountBoundExceeded',
358
+ },
359
+ {
360
+ type: 'event',
361
+ anonymous: false,
362
+ inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256', indexed: true }],
363
+ name: 'AsyncDepositDisabled',
364
+ },
365
+ {
366
+ type: 'event',
367
+ anonymous: false,
368
+ inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256', indexed: true }],
369
+ name: 'AsyncRedeemDisabled',
370
+ },
371
+ {
372
+ type: 'event',
373
+ anonymous: false,
374
+ inputs: [
375
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
376
+ { name: 'newAuthority', internalType: 'contract Authority', type: 'address', indexed: true },
377
+ ],
378
+ name: 'AuthorityUpdated',
379
+ },
380
+ {
381
+ type: 'event',
382
+ anonymous: false,
383
+ inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256', indexed: true }],
384
+ name: 'DepositCapExceeded',
385
+ },
386
+ {
387
+ type: 'event',
388
+ anonymous: false,
389
+ inputs: [
390
+ { name: 'depositCap', internalType: 'uint256', type: 'uint256', indexed: false },
391
+ { name: 'depositRefundTimeout', internalType: 'uint256', type: 'uint256', indexed: false },
392
+ ],
393
+ name: 'DepositDetailsUpdated',
394
+ },
395
+ {
396
+ type: 'event',
397
+ anonymous: false,
398
+ inputs: [{ name: 'depositHash', internalType: 'bytes32', type: 'bytes32', indexed: true }],
399
+ name: 'DepositRefunded',
400
+ },
401
+ {
402
+ type: 'event',
403
+ anonymous: false,
404
+ inputs: [
405
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
406
+ { name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true },
407
+ { name: 'tokensIn', internalType: 'uint256', type: 'uint256', indexed: false },
408
+ { name: 'minUnitsOut', internalType: 'uint256', type: 'uint256', indexed: false },
409
+ { name: 'solverTip', internalType: 'uint256', type: 'uint256', indexed: false },
410
+ { name: 'deadline', internalType: 'uint256', type: 'uint256', indexed: false },
411
+ { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256', indexed: false },
412
+ { name: 'isFixedPrice', internalType: 'bool', type: 'bool', indexed: false },
413
+ { name: 'depositRequestHash', internalType: 'bytes32', type: 'bytes32', indexed: false },
414
+ ],
415
+ name: 'DepositRequested',
416
+ },
417
+ {
418
+ type: 'event',
419
+ anonymous: false,
420
+ inputs: [{ name: 'depositHash', internalType: 'bytes32', type: 'bytes32', indexed: true }],
421
+ name: 'DepositSolved',
422
+ },
423
+ {
424
+ type: 'event',
425
+ anonymous: false,
426
+ inputs: [
427
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
428
+ { name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true },
429
+ { name: 'tokensIn', internalType: 'uint256', type: 'uint256', indexed: false },
430
+ { name: 'unitsOut', internalType: 'uint256', type: 'uint256', indexed: false },
431
+ { name: 'depositHash', internalType: 'bytes32', type: 'bytes32', indexed: false },
432
+ ],
433
+ name: 'Deposited',
434
+ },
435
+ {
436
+ type: 'event',
437
+ anonymous: false,
438
+ inputs: [{ name: 'depositHash', internalType: 'bytes32', type: 'bytes32', indexed: true }],
439
+ name: 'DirectDepositRefunded',
440
+ },
441
+ {
442
+ type: 'event',
443
+ anonymous: false,
444
+ inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256', indexed: true }],
445
+ name: 'InsufficientTokensForTip',
446
+ },
447
+ {
448
+ type: 'event',
449
+ anonymous: false,
450
+ inputs: [{ name: 'depositHash', internalType: 'bytes32', type: 'bytes32', indexed: true }],
451
+ name: 'InvalidRequestHash',
452
+ },
453
+ {
454
+ type: 'event',
455
+ anonymous: false,
456
+ inputs: [
457
+ { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true },
458
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
459
+ ],
460
+ name: 'OwnershipTransferStarted',
461
+ },
462
+ {
463
+ type: 'event',
464
+ anonymous: false,
465
+ inputs: [
466
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
467
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
468
+ ],
469
+ name: 'OwnershipTransferred',
470
+ },
471
+ {
472
+ type: 'event',
473
+ anonymous: false,
474
+ inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256', indexed: true }],
475
+ name: 'PriceAgeExceeded',
476
+ },
477
+ {
478
+ type: 'event',
479
+ anonymous: false,
480
+ inputs: [{ name: 'redeemHash', internalType: 'bytes32', type: 'bytes32', indexed: true }],
481
+ name: 'RedeemRefunded',
482
+ },
483
+ {
484
+ type: 'event',
485
+ anonymous: false,
486
+ inputs: [
487
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
488
+ { name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true },
489
+ { name: 'minTokensOut', internalType: 'uint256', type: 'uint256', indexed: false },
490
+ { name: 'unitsIn', internalType: 'uint256', type: 'uint256', indexed: false },
491
+ { name: 'solverTip', internalType: 'uint256', type: 'uint256', indexed: false },
492
+ { name: 'deadline', internalType: 'uint256', type: 'uint256', indexed: false },
493
+ { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256', indexed: false },
494
+ { name: 'isFixedPrice', internalType: 'bool', type: 'bool', indexed: false },
495
+ { name: 'redeemRequestHash', internalType: 'bytes32', type: 'bytes32', indexed: false },
496
+ ],
497
+ name: 'RedeemRequested',
498
+ },
499
+ {
500
+ type: 'event',
501
+ anonymous: false,
502
+ inputs: [{ name: 'redeemHash', internalType: 'bytes32', type: 'bytes32', indexed: true }],
503
+ name: 'RedeemSolved',
504
+ },
505
+ {
506
+ type: 'event',
507
+ anonymous: false,
508
+ inputs: [
509
+ { name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true },
510
+ {
511
+ name: 'tokensDetails',
512
+ internalType: 'struct TokenDetails',
513
+ type: 'tuple',
514
+ components: [
515
+ { name: 'asyncDepositEnabled', internalType: 'bool', type: 'bool' },
516
+ { name: 'asyncRedeemEnabled', internalType: 'bool', type: 'bool' },
517
+ { name: 'syncDepositEnabled', internalType: 'bool', type: 'bool' },
518
+ { name: 'depositMultiplier', internalType: 'uint16', type: 'uint16' },
519
+ { name: 'redeemMultiplier', internalType: 'uint16', type: 'uint16' },
520
+ ],
521
+ indexed: false,
522
+ },
523
+ ],
524
+ name: 'TokenDetailsSet',
525
+ },
526
+ {
527
+ type: 'event',
528
+ anonymous: false,
529
+ inputs: [{ name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true }],
530
+ name: 'TokenRemoved',
531
+ },
532
+ { type: 'error', inputs: [], name: 'Aera__AsyncDepositDisabled' },
533
+ { type: 'error', inputs: [], name: 'Aera__AsyncRedeemDisabled' },
534
+ { type: 'error', inputs: [], name: 'Aera__AutoPriceSolveNotAllowed' },
535
+ { type: 'error', inputs: [], name: 'Aera__CallerIsVault' },
536
+ { type: 'error', inputs: [], name: 'Aera__DeadlineInFutureAndUnauthorized' },
537
+ { type: 'error', inputs: [], name: 'Aera__DeadlineInPast' },
538
+ { type: 'error', inputs: [], name: 'Aera__DeadlineTooFarInFuture' },
539
+ { type: 'error', inputs: [], name: 'Aera__DepositCapExceeded' },
540
+ { type: 'error', inputs: [], name: 'Aera__DepositCapZero' },
541
+ { type: 'error', inputs: [], name: 'Aera__DepositHashNotFound' },
542
+ { type: 'error', inputs: [], name: 'Aera__DepositMultiplierTooHigh' },
543
+ { type: 'error', inputs: [], name: 'Aera__DepositMultiplierTooLow' },
544
+ { type: 'error', inputs: [], name: 'Aera__FixedPriceSolverTipNotAllowed' },
545
+ { type: 'error', inputs: [], name: 'Aera__HashCollision' },
546
+ { type: 'error', inputs: [], name: 'Aera__HashNotFound' },
547
+ { type: 'error', inputs: [], name: 'Aera__InvalidToken' },
548
+ { type: 'error', inputs: [], name: 'Aera__MaxDepositRefundTimeoutExceeded' },
549
+ { type: 'error', inputs: [], name: 'Aera__MaxTokensInExceeded' },
550
+ { type: 'error', inputs: [], name: 'Aera__MaxTokensInZero' },
551
+ { type: 'error', inputs: [], name: 'Aera__MinTokenOutZero' },
552
+ { type: 'error', inputs: [], name: 'Aera__MinUnitsOutNotMet' },
553
+ { type: 'error', inputs: [], name: 'Aera__MinUnitsOutZero' },
554
+ { type: 'error', inputs: [], name: 'Aera__PriceAndFeeCalculatorVaultPaused' },
555
+ { type: 'error', inputs: [], name: 'Aera__RedeemMultiplierTooHigh' },
556
+ { type: 'error', inputs: [], name: 'Aera__RedeemMultiplierTooLow' },
557
+ { type: 'error', inputs: [], name: 'Aera__RefundPeriodExpired' },
558
+ { type: 'error', inputs: [], name: 'Aera__SyncDepositDisabled' },
559
+ { type: 'error', inputs: [], name: 'Aera__TokenCantBePriced' },
560
+ { type: 'error', inputs: [], name: 'Aera__TokensInZero' },
561
+ { type: 'error', inputs: [], name: 'Aera__Unauthorized' },
562
+ { type: 'error', inputs: [], name: 'Aera__UnitsInZero' },
563
+ { type: 'error', inputs: [], name: 'Aera__UnitsOutZero' },
564
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressAuthority' },
565
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressMultiDepositorVault' },
566
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressPriceAndFeeCalculator' },
567
+ { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },
568
+ {
569
+ type: 'error',
570
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
571
+ name: 'SafeERC20FailedOperation',
572
+ },
573
+ ] as const;
574
+
575
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
576
+ // ProvisionerFactory
577
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
578
+
579
+ export const provisionerFactoryAbi = [
580
+ {
581
+ type: 'constructor',
582
+ inputs: [
583
+ { name: 'initialOwner', internalType: 'address', type: 'address' },
584
+ { name: 'initialAuthorityForFactory', internalType: 'contract Authority', type: 'address' },
585
+ ],
586
+ stateMutability: 'nonpayable',
587
+ },
588
+ {
589
+ type: 'function',
590
+ inputs: [],
591
+ name: 'acceptOwnership',
592
+ outputs: [],
593
+ stateMutability: 'nonpayable',
594
+ },
595
+ {
596
+ type: 'function',
597
+ inputs: [],
598
+ name: 'authority',
599
+ outputs: [{ name: '', internalType: 'contract Authority', type: 'address' }],
600
+ stateMutability: 'view',
601
+ },
602
+ {
603
+ type: 'function',
604
+ inputs: [
605
+ {
606
+ name: '_priceAndFeeCalculator',
607
+ internalType: 'contract IPriceAndFeeCalculator',
608
+ type: 'address',
609
+ },
610
+ { name: '_multiDepositorVault', internalType: 'address', type: 'address' },
611
+ { name: '_provisionerOwner', internalType: 'address', type: 'address' },
612
+ { name: '_authority', internalType: 'address', type: 'address' },
613
+ { name: '_salt', internalType: 'bytes32', type: 'bytes32' },
614
+ ],
615
+ name: 'computeProvisionerExpectedAddress',
616
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
617
+ stateMutability: 'view',
618
+ },
619
+ {
620
+ type: 'function',
621
+ inputs: [
622
+ {
623
+ name: '_priceAndFeeCalculator',
624
+ internalType: 'contract IPriceAndFeeCalculator',
625
+ type: 'address',
626
+ },
627
+ { name: '_multiDepositorVault', internalType: 'address', type: 'address' },
628
+ { name: '_provisionerOwner', internalType: 'address', type: 'address' },
629
+ { name: '_provisionerAuthorityAddress', internalType: 'address', type: 'address' },
630
+ { name: '_provisionerSalt', internalType: 'bytes32', type: 'bytes32' },
631
+ ],
632
+ name: 'createProvisioner',
633
+ outputs: [{ name: 'provisionerAddress', internalType: 'address', type: 'address' }],
634
+ stateMutability: 'nonpayable',
635
+ },
636
+ {
637
+ type: 'function',
638
+ inputs: [],
639
+ name: 'owner',
640
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
641
+ stateMutability: 'view',
642
+ },
643
+ {
644
+ type: 'function',
645
+ inputs: [],
646
+ name: 'pendingOwner',
647
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
648
+ stateMutability: 'view',
649
+ },
650
+ {
651
+ type: 'function',
652
+ inputs: [{ name: 'newAuthority', internalType: 'contract Authority', type: 'address' }],
653
+ name: 'setAuthority',
654
+ outputs: [],
655
+ stateMutability: 'nonpayable',
656
+ },
657
+ {
658
+ type: 'function',
659
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
660
+ name: 'transferOwnership',
661
+ outputs: [],
662
+ stateMutability: 'nonpayable',
663
+ },
664
+ {
665
+ type: 'event',
666
+ anonymous: false,
667
+ inputs: [
668
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
669
+ { name: 'newAuthority', internalType: 'contract Authority', type: 'address', indexed: true },
670
+ ],
671
+ name: 'AuthorityUpdated',
672
+ },
673
+ {
674
+ type: 'event',
675
+ anonymous: false,
676
+ inputs: [
677
+ { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true },
678
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
679
+ ],
680
+ name: 'OwnershipTransferStarted',
681
+ },
682
+ {
683
+ type: 'event',
684
+ anonymous: false,
685
+ inputs: [
686
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
687
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
688
+ ],
689
+ name: 'OwnershipTransferred',
690
+ },
691
+ {
692
+ type: 'event',
693
+ anonymous: false,
694
+ inputs: [
695
+ { name: 'provisioner', internalType: 'address', type: 'address', indexed: true },
696
+ {
697
+ name: 'provisionerRolesAuthority',
698
+ internalType: 'address',
699
+ type: 'address',
700
+ indexed: true,
701
+ },
702
+ { name: 'multiDepositorVault', internalType: 'address', type: 'address', indexed: true },
703
+ { name: 'provisionerOwner', internalType: 'address', type: 'address', indexed: false },
704
+ { name: 'caller', internalType: 'address', type: 'address', indexed: false },
705
+ { name: 'provisionerSalt', internalType: 'bytes32', type: 'bytes32', indexed: false },
706
+ ],
707
+ name: 'ProvisionerCreated',
708
+ },
709
+ { type: 'error', inputs: [], name: 'Aera__Unauthorized' },
710
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressAuthority' },
711
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressMultiDepositorVault' },
712
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressPriceAndFeeCalculator' },
713
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressProvisionerOwner' },
714
+ ] as const;
715
+
716
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
717
+ // RolesAuthority
718
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
719
+
720
+ export const rolesAuthorityAbi = [
721
+ {
722
+ type: 'constructor',
723
+ inputs: [
724
+ { name: '_owner', internalType: 'address', type: 'address' },
725
+ { name: '_authority', internalType: 'contract Authority', type: 'address' },
726
+ ],
727
+ stateMutability: 'nonpayable',
728
+ },
729
+ {
730
+ type: 'function',
731
+ inputs: [],
732
+ name: 'authority',
733
+ outputs: [{ name: '', internalType: 'contract Authority', type: 'address' }],
734
+ stateMutability: 'view',
735
+ },
736
+ {
737
+ type: 'function',
738
+ inputs: [
739
+ { name: 'user', internalType: 'address', type: 'address' },
740
+ { name: 'target', internalType: 'address', type: 'address' },
741
+ { name: 'functionSig', internalType: 'bytes4', type: 'bytes4' },
742
+ ],
743
+ name: 'canCall',
744
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
745
+ stateMutability: 'view',
746
+ },
747
+ {
748
+ type: 'function',
749
+ inputs: [
750
+ { name: 'role', internalType: 'uint8', type: 'uint8' },
751
+ { name: 'target', internalType: 'address', type: 'address' },
752
+ { name: 'functionSig', internalType: 'bytes4', type: 'bytes4' },
753
+ ],
754
+ name: 'doesRoleHaveCapability',
755
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
756
+ stateMutability: 'view',
757
+ },
758
+ {
759
+ type: 'function',
760
+ inputs: [
761
+ { name: 'user', internalType: 'address', type: 'address' },
762
+ { name: 'role', internalType: 'uint8', type: 'uint8' },
763
+ ],
764
+ name: 'doesUserHaveRole',
765
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
766
+ stateMutability: 'view',
767
+ },
768
+ {
769
+ type: 'function',
770
+ inputs: [
771
+ { name: '', internalType: 'address', type: 'address' },
772
+ { name: '', internalType: 'bytes4', type: 'bytes4' },
773
+ ],
774
+ name: 'getRolesWithCapability',
775
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
776
+ stateMutability: 'view',
777
+ },
778
+ {
779
+ type: 'function',
780
+ inputs: [{ name: '', internalType: 'address', type: 'address' }],
781
+ name: 'getUserRoles',
782
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
783
+ stateMutability: 'view',
784
+ },
785
+ {
786
+ type: 'function',
787
+ inputs: [
788
+ { name: '', internalType: 'address', type: 'address' },
789
+ { name: '', internalType: 'bytes4', type: 'bytes4' },
790
+ ],
791
+ name: 'isCapabilityPublic',
792
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
793
+ stateMutability: 'view',
794
+ },
795
+ {
796
+ type: 'function',
797
+ inputs: [],
798
+ name: 'owner',
799
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
800
+ stateMutability: 'view',
801
+ },
802
+ {
803
+ type: 'function',
804
+ inputs: [{ name: 'newAuthority', internalType: 'contract Authority', type: 'address' }],
805
+ name: 'setAuthority',
806
+ outputs: [],
807
+ stateMutability: 'nonpayable',
808
+ },
809
+ {
810
+ type: 'function',
811
+ inputs: [
812
+ { name: 'target', internalType: 'address', type: 'address' },
813
+ { name: 'functionSig', internalType: 'bytes4', type: 'bytes4' },
814
+ { name: 'enabled', internalType: 'bool', type: 'bool' },
815
+ ],
816
+ name: 'setPublicCapability',
817
+ outputs: [],
818
+ stateMutability: 'nonpayable',
819
+ },
820
+ {
821
+ type: 'function',
822
+ inputs: [
823
+ { name: 'role', internalType: 'uint8', type: 'uint8' },
824
+ { name: 'target', internalType: 'address', type: 'address' },
825
+ { name: 'functionSig', internalType: 'bytes4', type: 'bytes4' },
826
+ { name: 'enabled', internalType: 'bool', type: 'bool' },
827
+ ],
828
+ name: 'setRoleCapability',
829
+ outputs: [],
830
+ stateMutability: 'nonpayable',
831
+ },
832
+ {
833
+ type: 'function',
834
+ inputs: [
835
+ { name: 'user', internalType: 'address', type: 'address' },
836
+ { name: 'role', internalType: 'uint8', type: 'uint8' },
837
+ { name: 'enabled', internalType: 'bool', type: 'bool' },
838
+ ],
839
+ name: 'setUserRole',
840
+ outputs: [],
841
+ stateMutability: 'nonpayable',
842
+ },
843
+ {
844
+ type: 'function',
845
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
846
+ name: 'transferOwnership',
847
+ outputs: [],
848
+ stateMutability: 'nonpayable',
849
+ },
850
+ {
851
+ type: 'event',
852
+ anonymous: false,
853
+ inputs: [
854
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
855
+ { name: 'newAuthority', internalType: 'contract Authority', type: 'address', indexed: true },
856
+ ],
857
+ name: 'AuthorityUpdated',
858
+ },
859
+ {
860
+ type: 'event',
861
+ anonymous: false,
862
+ inputs: [
863
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
864
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
865
+ ],
866
+ name: 'OwnershipTransferred',
867
+ },
868
+ {
869
+ type: 'event',
870
+ anonymous: false,
871
+ inputs: [
872
+ { name: 'target', internalType: 'address', type: 'address', indexed: true },
873
+ { name: 'functionSig', internalType: 'bytes4', type: 'bytes4', indexed: true },
874
+ { name: 'enabled', internalType: 'bool', type: 'bool', indexed: false },
875
+ ],
876
+ name: 'PublicCapabilityUpdated',
877
+ },
878
+ {
879
+ type: 'event',
880
+ anonymous: false,
881
+ inputs: [
882
+ { name: 'role', internalType: 'uint8', type: 'uint8', indexed: true },
883
+ { name: 'target', internalType: 'address', type: 'address', indexed: true },
884
+ { name: 'functionSig', internalType: 'bytes4', type: 'bytes4', indexed: true },
885
+ { name: 'enabled', internalType: 'bool', type: 'bool', indexed: false },
886
+ ],
887
+ name: 'RoleCapabilityUpdated',
888
+ },
889
+ {
890
+ type: 'event',
891
+ anonymous: false,
892
+ inputs: [
893
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
894
+ { name: 'role', internalType: 'uint8', type: 'uint8', indexed: true },
895
+ { name: 'enabled', internalType: 'bool', type: 'bool', indexed: false },
896
+ ],
897
+ name: 'UserRoleUpdated',
898
+ },
899
+ ] as const;
900
+
901
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
902
+ // RolesAuthorityFactory
903
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
904
+
905
+ export const rolesAuthorityFactoryAbi = [
906
+ {
907
+ type: 'constructor',
908
+ inputs: [
909
+ { name: 'initialOwner', internalType: 'address', type: 'address' },
910
+ { name: 'initialAuthorityForFactory', internalType: 'contract Authority', type: 'address' },
911
+ ],
912
+ stateMutability: 'nonpayable',
913
+ },
914
+ {
915
+ type: 'function',
916
+ inputs: [],
917
+ name: 'acceptOwnership',
918
+ outputs: [],
919
+ stateMutability: 'nonpayable',
920
+ },
921
+ {
922
+ type: 'function',
923
+ inputs: [],
924
+ name: 'authority',
925
+ outputs: [{ name: '', internalType: 'contract Authority', type: 'address' }],
926
+ stateMutability: 'view',
927
+ },
928
+ {
929
+ type: 'function',
930
+ inputs: [
931
+ { name: '_owner', internalType: 'address', type: 'address' },
932
+ { name: '_initialAuthority', internalType: 'address', type: 'address' },
933
+ { name: '_salt', internalType: 'bytes32', type: 'bytes32' },
934
+ ],
935
+ name: 'computeRolesAuthorityExpectedAddress',
936
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
937
+ stateMutability: 'view',
938
+ },
939
+ {
940
+ type: 'function',
941
+ inputs: [
942
+ { name: '_owner', internalType: 'address', type: 'address' },
943
+ { name: '_initialAuthority', internalType: 'address', type: 'address' },
944
+ { name: '_salt', internalType: 'bytes32', type: 'bytes32' },
945
+ ],
946
+ name: 'createRolesAuthority',
947
+ outputs: [{ name: 'rolesAuthorityAddress', internalType: 'address', type: 'address' }],
948
+ stateMutability: 'nonpayable',
949
+ },
950
+ {
951
+ type: 'function',
952
+ inputs: [],
953
+ name: 'owner',
954
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
955
+ stateMutability: 'view',
956
+ },
957
+ {
958
+ type: 'function',
959
+ inputs: [],
960
+ name: 'pendingOwner',
961
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
962
+ stateMutability: 'view',
963
+ },
964
+ {
965
+ type: 'function',
966
+ inputs: [{ name: 'newAuthority', internalType: 'contract Authority', type: 'address' }],
967
+ name: 'setAuthority',
968
+ outputs: [],
969
+ stateMutability: 'nonpayable',
970
+ },
971
+ {
972
+ type: 'function',
973
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
974
+ name: 'transferOwnership',
975
+ outputs: [],
976
+ stateMutability: 'nonpayable',
977
+ },
978
+ {
979
+ type: 'event',
980
+ anonymous: false,
981
+ inputs: [
982
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
983
+ { name: 'newAuthority', internalType: 'contract Authority', type: 'address', indexed: true },
984
+ ],
985
+ name: 'AuthorityUpdated',
986
+ },
987
+ {
988
+ type: 'event',
989
+ anonymous: false,
990
+ inputs: [
991
+ { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true },
992
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
993
+ ],
994
+ name: 'OwnershipTransferStarted',
995
+ },
996
+ {
997
+ type: 'event',
998
+ anonymous: false,
999
+ inputs: [
1000
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
1001
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
1002
+ ],
1003
+ name: 'OwnershipTransferred',
1004
+ },
1005
+ {
1006
+ type: 'event',
1007
+ anonymous: false,
1008
+ inputs: [
1009
+ { name: 'rolesAuthorityAddress', internalType: 'address', type: 'address', indexed: true },
1010
+ { name: 'owner', internalType: 'address', type: 'address', indexed: true },
1011
+ { name: 'initialAuthority', internalType: 'address', type: 'address', indexed: true },
1012
+ { name: 'creator', internalType: 'address', type: 'address', indexed: false },
1013
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32', indexed: false },
1014
+ ],
1015
+ name: 'RolesAuthorityCreated',
1016
+ },
1017
+ { type: 'error', inputs: [], name: 'Aera__Unauthorized' },
1018
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressAuthority' },
1019
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressOwner' },
1020
+ ] as const;
1021
+
1022
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1023
+ // SingleDepositorVault
1024
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1025
+
1026
+ export const singleDepositorVaultAbi = [
1027
+ { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
1028
+ { type: 'fallback', stateMutability: 'nonpayable' },
1029
+ { type: 'receive', stateMutability: 'payable' },
1030
+ {
1031
+ type: 'function',
1032
+ inputs: [],
1033
+ name: 'FEE_TOKEN',
1034
+ outputs: [{ name: '', internalType: 'contract IERC20', type: 'address' }],
1035
+ stateMutability: 'view',
1036
+ },
1037
+ {
1038
+ type: 'function',
1039
+ inputs: [],
1040
+ name: 'WHITELIST',
1041
+ outputs: [{ name: '', internalType: 'contract IWhitelist', type: 'address' }],
1042
+ stateMutability: 'view',
1043
+ },
1044
+ {
1045
+ type: 'function',
1046
+ inputs: [],
1047
+ name: 'acceptOwnership',
1048
+ outputs: [],
1049
+ stateMutability: 'nonpayable',
1050
+ },
1051
+ {
1052
+ type: 'function',
1053
+ inputs: [],
1054
+ name: 'authority',
1055
+ outputs: [{ name: '', internalType: 'contract Authority', type: 'address' }],
1056
+ stateMutability: 'view',
1057
+ },
1058
+ {
1059
+ type: 'function',
1060
+ inputs: [{ name: 'guardian', internalType: 'address', type: 'address' }],
1061
+ name: 'checkGuardianWhitelist',
1062
+ outputs: [{ name: 'isRemoved', internalType: 'bool', type: 'bool' }],
1063
+ stateMutability: 'nonpayable',
1064
+ },
1065
+ {
1066
+ type: 'function',
1067
+ inputs: [],
1068
+ name: 'claimFees',
1069
+ outputs: [
1070
+ { name: 'feeRecipientFees', internalType: 'uint256', type: 'uint256' },
1071
+ { name: 'protocolFees', internalType: 'uint256', type: 'uint256' },
1072
+ ],
1073
+ stateMutability: 'nonpayable',
1074
+ },
1075
+ {
1076
+ type: 'function',
1077
+ inputs: [],
1078
+ name: 'claimProtocolFees',
1079
+ outputs: [{ name: 'protocolFees', internalType: 'uint256', type: 'uint256' }],
1080
+ stateMutability: 'nonpayable',
1081
+ },
1082
+ {
1083
+ type: 'function',
1084
+ inputs: [
1085
+ {
1086
+ name: 'tokenAmounts',
1087
+ internalType: 'struct TokenAmount[]',
1088
+ type: 'tuple[]',
1089
+ components: [
1090
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
1091
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1092
+ ],
1093
+ },
1094
+ ],
1095
+ name: 'deposit',
1096
+ outputs: [],
1097
+ stateMutability: 'nonpayable',
1098
+ },
1099
+ {
1100
+ type: 'function',
1101
+ inputs: [
1102
+ {
1103
+ name: 'operations',
1104
+ internalType: 'struct OperationPayable[]',
1105
+ type: 'tuple[]',
1106
+ components: [
1107
+ { name: 'target', internalType: 'address', type: 'address' },
1108
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
1109
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
1110
+ ],
1111
+ },
1112
+ ],
1113
+ name: 'execute',
1114
+ outputs: [],
1115
+ stateMutability: 'nonpayable',
1116
+ },
1117
+ {
1118
+ type: 'function',
1119
+ inputs: [],
1120
+ name: 'feeCalculator',
1121
+ outputs: [{ name: '', internalType: 'contract IFeeCalculator', type: 'address' }],
1122
+ stateMutability: 'view',
1123
+ },
1124
+ {
1125
+ type: 'function',
1126
+ inputs: [],
1127
+ name: 'feeRecipient',
1128
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1129
+ stateMutability: 'view',
1130
+ },
1131
+ {
1132
+ type: 'function',
1133
+ inputs: [],
1134
+ name: 'getActiveGuardians',
1135
+ outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
1136
+ stateMutability: 'view',
1137
+ },
1138
+ {
1139
+ type: 'function',
1140
+ inputs: [],
1141
+ name: 'getCurrentHookCallType',
1142
+ outputs: [{ name: '', internalType: 'enum HookCallType', type: 'uint8' }],
1143
+ stateMutability: 'view',
1144
+ },
1145
+ {
1146
+ type: 'function',
1147
+ inputs: [{ name: 'guardian', internalType: 'address', type: 'address' }],
1148
+ name: 'getGuardianRoot',
1149
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
1150
+ stateMutability: 'view',
1151
+ },
1152
+ {
1153
+ type: 'function',
1154
+ inputs: [
1155
+ { name: '', internalType: 'address', type: 'address' },
1156
+ { name: '', internalType: 'address', type: 'address' },
1157
+ { name: '', internalType: 'uint256', type: 'uint256' },
1158
+ { name: '', internalType: 'bytes', type: 'bytes' },
1159
+ ],
1160
+ name: 'onERC721Received',
1161
+ outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
1162
+ stateMutability: 'pure',
1163
+ },
1164
+ {
1165
+ type: 'function',
1166
+ inputs: [],
1167
+ name: 'owner',
1168
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1169
+ stateMutability: 'view',
1170
+ },
1171
+ { type: 'function', inputs: [], name: 'pause', outputs: [], stateMutability: 'nonpayable' },
1172
+ {
1173
+ type: 'function',
1174
+ inputs: [],
1175
+ name: 'paused',
1176
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
1177
+ stateMutability: 'view',
1178
+ },
1179
+ {
1180
+ type: 'function',
1181
+ inputs: [],
1182
+ name: 'pendingOwner',
1183
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1184
+ stateMutability: 'view',
1185
+ },
1186
+ {
1187
+ type: 'function',
1188
+ inputs: [{ name: 'guardian', internalType: 'address', type: 'address' }],
1189
+ name: 'removeGuardian',
1190
+ outputs: [],
1191
+ stateMutability: 'nonpayable',
1192
+ },
1193
+ {
1194
+ type: 'function',
1195
+ inputs: [{ name: 'newAuthority', internalType: 'contract Authority', type: 'address' }],
1196
+ name: 'setAuthority',
1197
+ outputs: [],
1198
+ stateMutability: 'nonpayable',
1199
+ },
1200
+ {
1201
+ type: 'function',
1202
+ inputs: [
1203
+ { name: 'newFeeCalculator', internalType: 'contract IFeeCalculator', type: 'address' },
1204
+ ],
1205
+ name: 'setFeeCalculator',
1206
+ outputs: [],
1207
+ stateMutability: 'nonpayable',
1208
+ },
1209
+ {
1210
+ type: 'function',
1211
+ inputs: [{ name: 'newFeeRecipient', internalType: 'address', type: 'address' }],
1212
+ name: 'setFeeRecipient',
1213
+ outputs: [],
1214
+ stateMutability: 'nonpayable',
1215
+ },
1216
+ {
1217
+ type: 'function',
1218
+ inputs: [
1219
+ { name: 'guardian', internalType: 'address', type: 'address' },
1220
+ { name: 'root', internalType: 'bytes32', type: 'bytes32' },
1221
+ ],
1222
+ name: 'setGuardianRoot',
1223
+ outputs: [],
1224
+ stateMutability: 'nonpayable',
1225
+ },
1226
+ {
1227
+ type: 'function',
1228
+ inputs: [{ name: 'newSubmitHooks', internalType: 'contract ISubmitHooks', type: 'address' }],
1229
+ name: 'setSubmitHooks',
1230
+ outputs: [],
1231
+ stateMutability: 'nonpayable',
1232
+ },
1233
+ {
1234
+ type: 'function',
1235
+ inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
1236
+ name: 'submit',
1237
+ outputs: [],
1238
+ stateMutability: 'nonpayable',
1239
+ },
1240
+ {
1241
+ type: 'function',
1242
+ inputs: [],
1243
+ name: 'submitHooks',
1244
+ outputs: [{ name: '', internalType: 'contract ISubmitHooks', type: 'address' }],
1245
+ stateMutability: 'view',
1246
+ },
1247
+ {
1248
+ type: 'function',
1249
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
1250
+ name: 'transferOwnership',
1251
+ outputs: [],
1252
+ stateMutability: 'nonpayable',
1253
+ },
1254
+ { type: 'function', inputs: [], name: 'unpause', outputs: [], stateMutability: 'nonpayable' },
1255
+ {
1256
+ type: 'function',
1257
+ inputs: [
1258
+ {
1259
+ name: 'tokenAmounts',
1260
+ internalType: 'struct TokenAmount[]',
1261
+ type: 'tuple[]',
1262
+ components: [
1263
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
1264
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1265
+ ],
1266
+ },
1267
+ ],
1268
+ name: 'withdraw',
1269
+ outputs: [],
1270
+ stateMutability: 'nonpayable',
1271
+ },
1272
+ {
1273
+ type: 'event',
1274
+ anonymous: false,
1275
+ inputs: [
1276
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
1277
+ { name: 'newAuthority', internalType: 'contract Authority', type: 'address', indexed: true },
1278
+ ],
1279
+ name: 'AuthorityUpdated',
1280
+ },
1281
+ {
1282
+ type: 'event',
1283
+ anonymous: false,
1284
+ inputs: [
1285
+ { name: 'depositor', internalType: 'address', type: 'address', indexed: true },
1286
+ {
1287
+ name: 'tokenAmounts',
1288
+ internalType: 'struct TokenAmount[]',
1289
+ type: 'tuple[]',
1290
+ components: [
1291
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
1292
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1293
+ ],
1294
+ indexed: false,
1295
+ },
1296
+ ],
1297
+ name: 'Deposited',
1298
+ },
1299
+ {
1300
+ type: 'event',
1301
+ anonymous: false,
1302
+ inputs: [
1303
+ { name: 'executor', internalType: 'address', type: 'address', indexed: true },
1304
+ {
1305
+ name: 'operations',
1306
+ internalType: 'struct OperationPayable[]',
1307
+ type: 'tuple[]',
1308
+ components: [
1309
+ { name: 'target', internalType: 'address', type: 'address' },
1310
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
1311
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
1312
+ ],
1313
+ indexed: false,
1314
+ },
1315
+ ],
1316
+ name: 'Executed',
1317
+ },
1318
+ {
1319
+ type: 'event',
1320
+ anonymous: false,
1321
+ inputs: [{ name: 'newFeeCalculator', internalType: 'address', type: 'address', indexed: true }],
1322
+ name: 'FeeCalculatorUpdated',
1323
+ },
1324
+ {
1325
+ type: 'event',
1326
+ anonymous: false,
1327
+ inputs: [{ name: 'newFeeRecipient', internalType: 'address', type: 'address', indexed: true }],
1328
+ name: 'FeeRecipientUpdated',
1329
+ },
1330
+ {
1331
+ type: 'event',
1332
+ anonymous: false,
1333
+ inputs: [
1334
+ { name: 'feeRecipient', internalType: 'address', type: 'address', indexed: true },
1335
+ { name: 'fees', internalType: 'uint256', type: 'uint256', indexed: false },
1336
+ ],
1337
+ name: 'FeesClaimed',
1338
+ },
1339
+ {
1340
+ type: 'event',
1341
+ anonymous: false,
1342
+ inputs: [
1343
+ { name: 'guardian', internalType: 'address', type: 'address', indexed: true },
1344
+ { name: 'root', internalType: 'bytes32', type: 'bytes32', indexed: true },
1345
+ ],
1346
+ name: 'GuardianRootSet',
1347
+ },
1348
+ {
1349
+ type: 'event',
1350
+ anonymous: false,
1351
+ inputs: [
1352
+ { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true },
1353
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
1354
+ ],
1355
+ name: 'OwnershipTransferStarted',
1356
+ },
1357
+ {
1358
+ type: 'event',
1359
+ anonymous: false,
1360
+ inputs: [
1361
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
1362
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
1363
+ ],
1364
+ name: 'OwnershipTransferred',
1365
+ },
1366
+ {
1367
+ type: 'event',
1368
+ anonymous: false,
1369
+ inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }],
1370
+ name: 'Paused',
1371
+ },
1372
+ {
1373
+ type: 'event',
1374
+ anonymous: false,
1375
+ inputs: [
1376
+ { name: 'protocolFeeRecipient', internalType: 'address', type: 'address', indexed: true },
1377
+ { name: 'protocolEarnedFees', internalType: 'uint256', type: 'uint256', indexed: false },
1378
+ ],
1379
+ name: 'ProtocolFeesClaimed',
1380
+ },
1381
+ {
1382
+ type: 'event',
1383
+ anonymous: false,
1384
+ inputs: [
1385
+ { name: 'submitHooksAddress', internalType: 'address', type: 'address', indexed: true },
1386
+ ],
1387
+ name: 'SubmitHooksSet',
1388
+ },
1389
+ {
1390
+ type: 'event',
1391
+ anonymous: false,
1392
+ inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }],
1393
+ name: 'Unpaused',
1394
+ },
1395
+ {
1396
+ type: 'event',
1397
+ anonymous: false,
1398
+ inputs: [
1399
+ { name: 'withdrawer', internalType: 'address', type: 'address', indexed: true },
1400
+ {
1401
+ name: 'tokenAmounts',
1402
+ internalType: 'struct TokenAmount[]',
1403
+ type: 'tuple[]',
1404
+ components: [
1405
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
1406
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1407
+ ],
1408
+ indexed: false,
1409
+ },
1410
+ ],
1411
+ name: 'Withdrawn',
1412
+ },
1413
+ {
1414
+ type: 'error',
1415
+ inputs: [
1416
+ { name: 'index', internalType: 'uint256', type: 'uint256' },
1417
+ { name: 'result', internalType: 'bytes', type: 'bytes' },
1418
+ ],
1419
+ name: 'Aera__AfterOperationHooksFailed',
1420
+ },
1421
+ {
1422
+ type: 'error',
1423
+ inputs: [{ name: 'result', internalType: 'bytes', type: 'bytes' }],
1424
+ name: 'Aera__AfterSubmitHooksFailed',
1425
+ },
1426
+ {
1427
+ type: 'error',
1428
+ inputs: [
1429
+ { name: 'token', internalType: 'address', type: 'address' },
1430
+ { name: 'spender', internalType: 'address', type: 'address' },
1431
+ ],
1432
+ name: 'Aera__AllowanceIsNotZero',
1433
+ },
1434
+ {
1435
+ type: 'error',
1436
+ inputs: [
1437
+ { name: 'index', internalType: 'uint256', type: 'uint256' },
1438
+ { name: 'result', internalType: 'bytes', type: 'bytes' },
1439
+ ],
1440
+ name: 'Aera__BeforeOperationHooksFailed',
1441
+ },
1442
+ { type: 'error', inputs: [], name: 'Aera__BeforeOperationHooksWithConfigurableHooks' },
1443
+ {
1444
+ type: 'error',
1445
+ inputs: [{ name: 'result', internalType: 'bytes', type: 'bytes' }],
1446
+ name: 'Aera__BeforeSubmitHooksFailed',
1447
+ },
1448
+ { type: 'error', inputs: [], name: 'Aera__CalldataTooShort' },
1449
+ { type: 'error', inputs: [], name: 'Aera__CallerIsNotAuthOrGuardian' },
1450
+ { type: 'error', inputs: [], name: 'Aera__CallerIsNotFeeRecipient' },
1451
+ { type: 'error', inputs: [], name: 'Aera__CallerIsNotGuardian' },
1452
+ { type: 'error', inputs: [], name: 'Aera__CallerIsNotProtocolFeeRecipient' },
1453
+ { type: 'error', inputs: [], name: 'Aera__CopyOffsetOutOfBounds' },
1454
+ {
1455
+ type: 'error',
1456
+ inputs: [
1457
+ { name: 'index', internalType: 'uint256', type: 'uint256' },
1458
+ { name: 'result', internalType: 'bytes', type: 'bytes' },
1459
+ ],
1460
+ name: 'Aera__ExecutionFailed',
1461
+ },
1462
+ { type: 'error', inputs: [], name: 'Aera__ExpectedCallbackNotReceived' },
1463
+ { type: 'error', inputs: [], name: 'Aera__ExtractionNumberTooLarge' },
1464
+ { type: 'error', inputs: [], name: 'Aera__GuardianNotWhitelisted' },
1465
+ { type: 'error', inputs: [], name: 'Aera__InvalidBeforeOperationHooksReturnDataLength' },
1466
+ { type: 'error', inputs: [], name: 'Aera__NoFeesToClaim' },
1467
+ { type: 'error', inputs: [], name: 'Aera__NoResults' },
1468
+ { type: 'error', inputs: [], name: 'Aera__OffsetOutOfBounds' },
1469
+ { type: 'error', inputs: [], name: 'Aera__PasteOffsetOutOfBounds' },
1470
+ { type: 'error', inputs: [], name: 'Aera__ProofVerificationFailed' },
1471
+ {
1472
+ type: 'error',
1473
+ inputs: [
1474
+ { name: 'index', internalType: 'uint256', type: 'uint256' },
1475
+ { name: 'result', internalType: 'bytes', type: 'bytes' },
1476
+ ],
1477
+ name: 'Aera__SubmissionFailed',
1478
+ },
1479
+ { type: 'error', inputs: [], name: 'Aera__Unauthorized' },
1480
+ { type: 'error', inputs: [], name: 'Aera__UnauthorizedCallback' },
1481
+ {
1482
+ type: 'error',
1483
+ inputs: [{ name: 'allowance', internalType: 'uint256', type: 'uint256' }],
1484
+ name: 'Aera__UnexpectedTokenAllowance',
1485
+ },
1486
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressAuthority' },
1487
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressFeeCalculator' },
1488
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressFeeRecipient' },
1489
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressFeeToken' },
1490
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressGuardian' },
1491
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressMerkleRoot' },
1492
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressOwner' },
1493
+ { type: 'error', inputs: [], name: 'EnforcedPause' },
1494
+ { type: 'error', inputs: [], name: 'ExpectedPause' },
1495
+ { type: 'error', inputs: [], name: 'ReaderNotAtEnd' },
1496
+ { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },
1497
+ {
1498
+ type: 'error',
1499
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
1500
+ name: 'SafeERC20FailedOperation',
1501
+ },
1502
+ ] as const;
1503
+
1504
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1505
+ // SingleDepositorVaultFactory
1506
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1507
+
1508
+ export const singleDepositorVaultFactoryAbi = [
1509
+ {
1510
+ type: 'constructor',
1511
+ inputs: [
1512
+ { name: 'initialOwner', internalType: 'address', type: 'address' },
1513
+ { name: 'initialAuthority', internalType: 'contract Authority', type: 'address' },
1514
+ { name: 'deployDelegate', internalType: 'address', type: 'address' },
1515
+ ],
1516
+ stateMutability: 'nonpayable',
1517
+ },
1518
+ {
1519
+ type: 'function',
1520
+ inputs: [],
1521
+ name: 'acceptOwnership',
1522
+ outputs: [],
1523
+ stateMutability: 'nonpayable',
1524
+ },
1525
+ {
1526
+ type: 'function',
1527
+ inputs: [],
1528
+ name: 'authority',
1529
+ outputs: [{ name: '', internalType: 'contract Authority', type: 'address' }],
1530
+ stateMutability: 'view',
1531
+ },
1532
+ {
1533
+ type: 'function',
1534
+ inputs: [],
1535
+ name: 'baseVaultParameters',
1536
+ outputs: [
1537
+ {
1538
+ name: 'params',
1539
+ internalType: 'struct BaseVaultParameters',
1540
+ type: 'tuple',
1541
+ components: [
1542
+ { name: 'owner', internalType: 'address', type: 'address' },
1543
+ { name: 'authority', internalType: 'contract Authority', type: 'address' },
1544
+ { name: 'submitHooks', internalType: 'contract ISubmitHooks', type: 'address' },
1545
+ { name: 'whitelist', internalType: 'contract IWhitelist', type: 'address' },
1546
+ ],
1547
+ },
1548
+ ],
1549
+ stateMutability: 'view',
1550
+ },
1551
+ {
1552
+ type: 'function',
1553
+ inputs: [
1554
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
1555
+ { name: 'description', internalType: 'string', type: 'string' },
1556
+ {
1557
+ name: 'baseVaultParams',
1558
+ internalType: 'struct BaseVaultParameters',
1559
+ type: 'tuple',
1560
+ components: [
1561
+ { name: 'owner', internalType: 'address', type: 'address' },
1562
+ { name: 'authority', internalType: 'contract Authority', type: 'address' },
1563
+ { name: 'submitHooks', internalType: 'contract ISubmitHooks', type: 'address' },
1564
+ { name: 'whitelist', internalType: 'contract IWhitelist', type: 'address' },
1565
+ ],
1566
+ },
1567
+ {
1568
+ name: 'singleDepositorVaultParams',
1569
+ internalType: 'struct FeeVaultParameters',
1570
+ type: 'tuple',
1571
+ components: [
1572
+ { name: 'feeCalculator', internalType: 'contract IFeeCalculator', type: 'address' },
1573
+ { name: 'feeToken', internalType: 'contract IERC20', type: 'address' },
1574
+ { name: 'feeRecipient', internalType: 'address', type: 'address' },
1575
+ ],
1576
+ },
1577
+ { name: 'expectedVaultAddress', internalType: 'address', type: 'address' },
1578
+ ],
1579
+ name: 'create',
1580
+ outputs: [{ name: 'deployedVault', internalType: 'address', type: 'address' }],
1581
+ stateMutability: 'nonpayable',
1582
+ },
1583
+ {
1584
+ type: 'function',
1585
+ inputs: [],
1586
+ name: 'feeVaultParameters',
1587
+ outputs: [
1588
+ {
1589
+ name: 'params',
1590
+ internalType: 'struct FeeVaultParameters',
1591
+ type: 'tuple',
1592
+ components: [
1593
+ { name: 'feeCalculator', internalType: 'contract IFeeCalculator', type: 'address' },
1594
+ { name: 'feeToken', internalType: 'contract IERC20', type: 'address' },
1595
+ { name: 'feeRecipient', internalType: 'address', type: 'address' },
1596
+ ],
1597
+ },
1598
+ ],
1599
+ stateMutability: 'view',
1600
+ },
1601
+ {
1602
+ type: 'function',
1603
+ inputs: [],
1604
+ name: 'owner',
1605
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1606
+ stateMutability: 'view',
1607
+ },
1608
+ {
1609
+ type: 'function',
1610
+ inputs: [],
1611
+ name: 'pendingOwner',
1612
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1613
+ stateMutability: 'view',
1614
+ },
1615
+ {
1616
+ type: 'function',
1617
+ inputs: [{ name: 'newAuthority', internalType: 'contract Authority', type: 'address' }],
1618
+ name: 'setAuthority',
1619
+ outputs: [],
1620
+ stateMutability: 'nonpayable',
1621
+ },
1622
+ {
1623
+ type: 'function',
1624
+ inputs: [
1625
+ { name: 'token', internalType: 'address', type: 'address' },
1626
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1627
+ ],
1628
+ name: 'sweep',
1629
+ outputs: [],
1630
+ stateMutability: 'nonpayable',
1631
+ },
1632
+ {
1633
+ type: 'function',
1634
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
1635
+ name: 'transferOwnership',
1636
+ outputs: [],
1637
+ stateMutability: 'nonpayable',
1638
+ },
1639
+ {
1640
+ type: 'event',
1641
+ anonymous: false,
1642
+ inputs: [
1643
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
1644
+ { name: 'newAuthority', internalType: 'contract Authority', type: 'address', indexed: true },
1645
+ ],
1646
+ name: 'AuthorityUpdated',
1647
+ },
1648
+ {
1649
+ type: 'event',
1650
+ anonymous: false,
1651
+ inputs: [
1652
+ { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true },
1653
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
1654
+ ],
1655
+ name: 'OwnershipTransferStarted',
1656
+ },
1657
+ {
1658
+ type: 'event',
1659
+ anonymous: false,
1660
+ inputs: [
1661
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
1662
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
1663
+ ],
1664
+ name: 'OwnershipTransferred',
1665
+ },
1666
+ {
1667
+ type: 'event',
1668
+ anonymous: false,
1669
+ inputs: [
1670
+ { name: 'token', internalType: 'address', type: 'address', indexed: true },
1671
+ { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false },
1672
+ ],
1673
+ name: 'Sweep',
1674
+ },
1675
+ {
1676
+ type: 'event',
1677
+ anonymous: false,
1678
+ inputs: [
1679
+ { name: 'vault', internalType: 'address', type: 'address', indexed: true },
1680
+ { name: 'owner', internalType: 'address', type: 'address', indexed: true },
1681
+ { name: 'submitHooks', internalType: 'address', type: 'address', indexed: false },
1682
+ { name: 'feeToken', internalType: 'contract IERC20', type: 'address', indexed: false },
1683
+ {
1684
+ name: 'feeCalculator',
1685
+ internalType: 'contract IFeeCalculator',
1686
+ type: 'address',
1687
+ indexed: false,
1688
+ },
1689
+ { name: 'feeRecipient', internalType: 'address', type: 'address', indexed: false },
1690
+ { name: 'description', internalType: 'string', type: 'string', indexed: false },
1691
+ ],
1692
+ name: 'VaultCreated',
1693
+ },
1694
+ {
1695
+ type: 'error',
1696
+ inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
1697
+ name: 'AddressEmptyCode',
1698
+ },
1699
+ { type: 'error', inputs: [], name: 'Aera__DescriptionIsEmpty' },
1700
+ { type: 'error', inputs: [], name: 'Aera__FailedToSendNativeToken' },
1701
+ { type: 'error', inputs: [], name: 'Aera__Unauthorized' },
1702
+ {
1703
+ type: 'error',
1704
+ inputs: [
1705
+ { name: 'deployed', internalType: 'address', type: 'address' },
1706
+ { name: 'expected', internalType: 'address', type: 'address' },
1707
+ ],
1708
+ name: 'Aera__VaultAddressMismatch',
1709
+ },
1710
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressAuthority' },
1711
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressDeployDelegate' },
1712
+ { type: 'error', inputs: [], name: 'FailedCall' },
1713
+ {
1714
+ type: 'error',
1715
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
1716
+ name: 'SafeERC20FailedOperation',
1717
+ },
1718
+ ] as const;
1719
+
1720
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1721
+ // StablecoinStrategyHooks
1722
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1723
+
1724
+ export const stablecoinStrategyHooksAbi = [
1725
+ {
1726
+ type: 'constructor',
1727
+ inputs: [{ name: 'numeraire_', internalType: 'address', type: 'address' }],
1728
+ stateMutability: 'nonpayable',
1729
+ },
1730
+ {
1731
+ type: 'function',
1732
+ inputs: [],
1733
+ name: 'MAX_BPS',
1734
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1735
+ stateMutability: 'view',
1736
+ },
1737
+ {
1738
+ type: 'function',
1739
+ inputs: [],
1740
+ name: 'NUMERAIRE',
1741
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
1742
+ stateMutability: 'view',
1743
+ },
1744
+ {
1745
+ type: 'function',
1746
+ inputs: [
1747
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1748
+ { name: 'destinationDomain', internalType: 'uint32', type: 'uint32' },
1749
+ { name: 'mintRecipient', internalType: 'bytes32', type: 'bytes32' },
1750
+ { name: 'burnToken', internalType: 'address', type: 'address' },
1751
+ { name: 'destinationCaller', internalType: 'bytes32', type: 'bytes32' },
1752
+ { name: 'maxFee', internalType: 'uint256', type: 'uint256' },
1753
+ { name: '', internalType: 'uint32', type: 'uint32' },
1754
+ ],
1755
+ name: 'depositForBurn',
1756
+ outputs: [{ name: 'returnData', internalType: 'bytes', type: 'bytes' }],
1757
+ stateMutability: 'nonpayable',
1758
+ },
1759
+ {
1760
+ type: 'function',
1761
+ inputs: [
1762
+ {
1763
+ name: 'params',
1764
+ internalType: 'struct ISwapRouter.ExactInputParams',
1765
+ type: 'tuple',
1766
+ components: [
1767
+ { name: 'path', internalType: 'bytes', type: 'bytes' },
1768
+ { name: 'recipient', internalType: 'address', type: 'address' },
1769
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
1770
+ { name: 'amountIn', internalType: 'uint256', type: 'uint256' },
1771
+ { name: 'amountOutMinimum', internalType: 'uint256', type: 'uint256' },
1772
+ ],
1773
+ },
1774
+ ],
1775
+ name: 'exactInput',
1776
+ outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
1777
+ stateMutability: 'nonpayable',
1778
+ },
1779
+ {
1780
+ type: 'function',
1781
+ inputs: [
1782
+ {
1783
+ name: 'params',
1784
+ internalType: 'struct ISwapRouter.ExactInputSingleParams',
1785
+ type: 'tuple',
1786
+ components: [
1787
+ { name: 'tokenIn', internalType: 'address', type: 'address' },
1788
+ { name: 'tokenOut', internalType: 'address', type: 'address' },
1789
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
1790
+ { name: 'recipient', internalType: 'address', type: 'address' },
1791
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
1792
+ { name: 'amountIn', internalType: 'uint256', type: 'uint256' },
1793
+ { name: 'amountOutMinimum', internalType: 'uint256', type: 'uint256' },
1794
+ { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },
1795
+ ],
1796
+ },
1797
+ ],
1798
+ name: 'exactInputSingle',
1799
+ outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
1800
+ stateMutability: 'nonpayable',
1801
+ },
1802
+ {
1803
+ type: 'function',
1804
+ inputs: [
1805
+ {
1806
+ name: 'params',
1807
+ internalType: 'struct ISwapRouter.ExactOutputParams',
1808
+ type: 'tuple',
1809
+ components: [
1810
+ { name: 'path', internalType: 'bytes', type: 'bytes' },
1811
+ { name: 'recipient', internalType: 'address', type: 'address' },
1812
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
1813
+ { name: 'amountOut', internalType: 'uint256', type: 'uint256' },
1814
+ { name: 'amountInMaximum', internalType: 'uint256', type: 'uint256' },
1815
+ ],
1816
+ },
1817
+ ],
1818
+ name: 'exactOutput',
1819
+ outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
1820
+ stateMutability: 'nonpayable',
1821
+ },
1822
+ {
1823
+ type: 'function',
1824
+ inputs: [
1825
+ {
1826
+ name: 'params',
1827
+ internalType: 'struct ISwapRouter.ExactOutputSingleParams',
1828
+ type: 'tuple',
1829
+ components: [
1830
+ { name: 'tokenIn', internalType: 'address', type: 'address' },
1831
+ { name: 'tokenOut', internalType: 'address', type: 'address' },
1832
+ { name: 'fee', internalType: 'uint24', type: 'uint24' },
1833
+ { name: 'recipient', internalType: 'address', type: 'address' },
1834
+ { name: 'deadline', internalType: 'uint256', type: 'uint256' },
1835
+ { name: 'amountOut', internalType: 'uint256', type: 'uint256' },
1836
+ { name: 'amountInMaximum', internalType: 'uint256', type: 'uint256' },
1837
+ { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },
1838
+ ],
1839
+ },
1840
+ ],
1841
+ name: 'exactOutputSingle',
1842
+ outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
1843
+ stateMutability: 'nonpayable',
1844
+ },
1845
+ {
1846
+ type: 'function',
1847
+ inputs: [
1848
+ { name: 'vault', internalType: 'address', type: 'address' },
1849
+ { name: 'maxLoss', internalType: 'uint128', type: 'uint128' },
1850
+ ],
1851
+ name: 'setMaxDailyLoss',
1852
+ outputs: [],
1853
+ stateMutability: 'nonpayable',
1854
+ },
1855
+ {
1856
+ type: 'function',
1857
+ inputs: [
1858
+ { name: 'vault', internalType: 'address', type: 'address' },
1859
+ { name: 'newMaxSlippage', internalType: 'uint16', type: 'uint16' },
1860
+ ],
1861
+ name: 'setMaxSlippagePerTrade',
1862
+ outputs: [],
1863
+ stateMutability: 'nonpayable',
1864
+ },
1865
+ {
1866
+ type: 'function',
1867
+ inputs: [
1868
+ { name: 'vault', internalType: 'address', type: 'address' },
1869
+ { name: 'oracleRegistry', internalType: 'address', type: 'address' },
1870
+ ],
1871
+ name: 'setOracleRegistry',
1872
+ outputs: [],
1873
+ stateMutability: 'nonpayable',
1874
+ },
1875
+ {
1876
+ type: 'function',
1877
+ inputs: [
1878
+ {
1879
+ name: 'tokenInfo',
1880
+ internalType: 'struct IOdosRouterV2.SwapTokenInfo',
1881
+ type: 'tuple',
1882
+ components: [
1883
+ { name: 'inputToken', internalType: 'address', type: 'address' },
1884
+ { name: 'inputAmount', internalType: 'uint256', type: 'uint256' },
1885
+ { name: 'inputReceiver', internalType: 'address', type: 'address' },
1886
+ { name: 'outputToken', internalType: 'address', type: 'address' },
1887
+ { name: 'outputQuote', internalType: 'uint256', type: 'uint256' },
1888
+ { name: 'outputMin', internalType: 'uint256', type: 'uint256' },
1889
+ { name: 'outputReceiver', internalType: 'address', type: 'address' },
1890
+ ],
1891
+ },
1892
+ { name: '', internalType: 'bytes', type: 'bytes' },
1893
+ { name: 'executor', internalType: 'address', type: 'address' },
1894
+ { name: '', internalType: 'uint32', type: 'uint32' },
1895
+ ],
1896
+ name: 'swap',
1897
+ outputs: [{ name: 'returnData', internalType: 'bytes', type: 'bytes' }],
1898
+ stateMutability: 'nonpayable',
1899
+ },
1900
+ {
1901
+ type: 'function',
1902
+ inputs: [
1903
+ {
1904
+ name: 'execution',
1905
+ internalType: 'struct IMetaAggregationRouterV2.SwapExecutionParams',
1906
+ type: 'tuple',
1907
+ components: [
1908
+ { name: 'callTarget', internalType: 'address', type: 'address' },
1909
+ { name: 'approveTarget', internalType: 'address', type: 'address' },
1910
+ { name: 'targetData', internalType: 'bytes', type: 'bytes' },
1911
+ {
1912
+ name: 'desc',
1913
+ internalType: 'struct IMetaAggregationRouterV2.SwapDescriptionV2',
1914
+ type: 'tuple',
1915
+ components: [
1916
+ { name: 'srcToken', internalType: 'contract IERC20', type: 'address' },
1917
+ { name: 'dstToken', internalType: 'contract IERC20', type: 'address' },
1918
+ { name: 'srcReceivers', internalType: 'address[]', type: 'address[]' },
1919
+ { name: 'srcAmounts', internalType: 'uint256[]', type: 'uint256[]' },
1920
+ { name: 'feeReceivers', internalType: 'address[]', type: 'address[]' },
1921
+ { name: 'feeAmounts', internalType: 'uint256[]', type: 'uint256[]' },
1922
+ { name: 'dstReceiver', internalType: 'address', type: 'address' },
1923
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1924
+ { name: 'minReturnAmount', internalType: 'uint256', type: 'uint256' },
1925
+ { name: 'flags', internalType: 'uint256', type: 'uint256' },
1926
+ { name: 'permit', internalType: 'bytes', type: 'bytes' },
1927
+ ],
1928
+ },
1929
+ { name: 'clientData', internalType: 'bytes', type: 'bytes' },
1930
+ ],
1931
+ },
1932
+ ],
1933
+ name: 'swap',
1934
+ outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
1935
+ stateMutability: 'nonpayable',
1936
+ },
1937
+ {
1938
+ type: 'function',
1939
+ inputs: [
1940
+ { name: 'caller', internalType: 'contract IAggregationExecutor', type: 'address' },
1941
+ {
1942
+ name: 'desc',
1943
+ internalType: 'struct IMetaAggregationRouterV2.SwapDescriptionV2',
1944
+ type: 'tuple',
1945
+ components: [
1946
+ { name: 'srcToken', internalType: 'contract IERC20', type: 'address' },
1947
+ { name: 'dstToken', internalType: 'contract IERC20', type: 'address' },
1948
+ { name: 'srcReceivers', internalType: 'address[]', type: 'address[]' },
1949
+ { name: 'srcAmounts', internalType: 'uint256[]', type: 'uint256[]' },
1950
+ { name: 'feeReceivers', internalType: 'address[]', type: 'address[]' },
1951
+ { name: 'feeAmounts', internalType: 'uint256[]', type: 'uint256[]' },
1952
+ { name: 'dstReceiver', internalType: 'address', type: 'address' },
1953
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
1954
+ { name: 'minReturnAmount', internalType: 'uint256', type: 'uint256' },
1955
+ { name: 'flags', internalType: 'uint256', type: 'uint256' },
1956
+ { name: 'permit', internalType: 'bytes', type: 'bytes' },
1957
+ ],
1958
+ },
1959
+ { name: '', internalType: 'bytes', type: 'bytes' },
1960
+ { name: '', internalType: 'bytes', type: 'bytes' },
1961
+ ],
1962
+ name: 'swapSimpleMode',
1963
+ outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
1964
+ stateMutability: 'nonpayable',
1965
+ },
1966
+ {
1967
+ type: 'function',
1968
+ inputs: [{ name: 'vault', internalType: 'address', type: 'address' }],
1969
+ name: 'vaultStates',
1970
+ outputs: [
1971
+ {
1972
+ name: 'state',
1973
+ internalType: 'struct IBaseSlippageHooks.State',
1974
+ type: 'tuple',
1975
+ components: [
1976
+ { name: 'cumulativeDailyLossInNumeraire', internalType: 'uint128', type: 'uint128' },
1977
+ { name: 'maxDailyLossInNumeraire', internalType: 'uint128', type: 'uint128' },
1978
+ { name: 'maxSlippagePerTrade', internalType: 'uint16', type: 'uint16' },
1979
+ { name: 'currentDay', internalType: 'uint32', type: 'uint32' },
1980
+ { name: 'oracleRegistry', internalType: 'contract IOracleRegistry', type: 'address' },
1981
+ ],
1982
+ },
1983
+ ],
1984
+ stateMutability: 'view',
1985
+ },
1986
+ {
1987
+ type: 'event',
1988
+ anonymous: false,
1989
+ inputs: [
1990
+ { name: 'vault', internalType: 'address', type: 'address', indexed: true },
1991
+ { name: 'tokenIn', internalType: 'address', type: 'address', indexed: true },
1992
+ { name: 'tokenOut', internalType: 'address', type: 'address', indexed: true },
1993
+ { name: 'valueBeforeNumeraire', internalType: 'uint256', type: 'uint256', indexed: false },
1994
+ { name: 'valueAfterNumeraire', internalType: 'uint256', type: 'uint256', indexed: false },
1995
+ {
1996
+ name: 'cumulativeDailyLossNumeraire',
1997
+ internalType: 'uint128',
1998
+ type: 'uint128',
1999
+ indexed: false,
2000
+ },
2001
+ ],
2002
+ name: 'TradeSlippageChecked',
2003
+ },
2004
+ {
2005
+ type: 'event',
2006
+ anonymous: false,
2007
+ inputs: [
2008
+ { name: 'vault', internalType: 'address', type: 'address', indexed: true },
2009
+ { name: 'maxLoss', internalType: 'uint256', type: 'uint256', indexed: false },
2010
+ ],
2011
+ name: 'UpdateMaxDailyLoss',
2012
+ },
2013
+ {
2014
+ type: 'event',
2015
+ anonymous: false,
2016
+ inputs: [
2017
+ { name: 'vault', internalType: 'address', type: 'address', indexed: true },
2018
+ { name: 'maxSlippage', internalType: 'uint256', type: 'uint256', indexed: false },
2019
+ ],
2020
+ name: 'UpdateMaxSlippage',
2021
+ },
2022
+ {
2023
+ type: 'event',
2024
+ anonymous: false,
2025
+ inputs: [
2026
+ { name: 'vault', internalType: 'address', type: 'address', indexed: true },
2027
+ { name: 'oracleRegistry', internalType: 'address', type: 'address', indexed: true },
2028
+ ],
2029
+ name: 'UpdateOracleRegistry',
2030
+ },
2031
+ { type: 'error', inputs: [], name: 'AeraPeriphery__BadPathFormat' },
2032
+ { type: 'error', inputs: [], name: 'AeraPeriphery__CallerNotVaultOwner' },
2033
+ { type: 'error', inputs: [], name: 'AeraPeriphery__DestinationCallerNotZero' },
2034
+ {
2035
+ type: 'error',
2036
+ inputs: [
2037
+ { name: 'loss', internalType: 'uint256', type: 'uint256' },
2038
+ { name: 'maxLoss', internalType: 'uint256', type: 'uint256' },
2039
+ ],
2040
+ name: 'AeraPeriphery__ExcessiveDailyLoss',
2041
+ },
2042
+ {
2043
+ type: 'error',
2044
+ inputs: [
2045
+ { name: 'loss', internalType: 'uint256', type: 'uint256' },
2046
+ { name: 'valueBefore', internalType: 'uint256', type: 'uint256' },
2047
+ { name: 'maxSlippage', internalType: 'uint256', type: 'uint256' },
2048
+ ],
2049
+ name: 'AeraPeriphery__ExcessiveSlippage',
2050
+ },
2051
+ { type: 'error', inputs: [], name: 'AeraPeriphery__FeeReceiversNotEmpty' },
2052
+ { type: 'error', inputs: [], name: 'AeraPeriphery__InputAmountIsZero' },
2053
+ { type: 'error', inputs: [], name: 'AeraPeriphery__InputTokenIsETH' },
2054
+ {
2055
+ type: 'error',
2056
+ inputs: [{ name: 'maxSlippage', internalType: 'uint256', type: 'uint256' }],
2057
+ name: 'AeraPeriphery__MaxSlippagePerTradeTooHigh',
2058
+ },
2059
+ { type: 'error', inputs: [], name: 'AeraPeriphery__OutputTokenIsETH' },
2060
+ { type: 'error', inputs: [], name: 'AeraPeriphery__ZeroAddressOracleRegistry' },
2061
+ { type: 'error', inputs: [], name: 'Aera__CallerIsNotAuthorized' },
2062
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressNumeraire' },
2063
+ ] as const;
2064
+
2065
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2066
+ // TimelockController
2067
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2068
+
2069
+ export const timelockControllerAbi = [
2070
+ {
2071
+ type: 'constructor',
2072
+ inputs: [
2073
+ { name: 'minDelay', internalType: 'uint256', type: 'uint256' },
2074
+ { name: 'proposers', internalType: 'address[]', type: 'address[]' },
2075
+ { name: 'executors', internalType: 'address[]', type: 'address[]' },
2076
+ { name: 'admin', internalType: 'address', type: 'address' },
2077
+ ],
2078
+ stateMutability: 'nonpayable',
2079
+ },
2080
+ { type: 'receive', stateMutability: 'payable' },
2081
+ {
2082
+ type: 'function',
2083
+ inputs: [],
2084
+ name: 'CANCELLER_ROLE',
2085
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2086
+ stateMutability: 'view',
2087
+ },
2088
+ {
2089
+ type: 'function',
2090
+ inputs: [],
2091
+ name: 'DEFAULT_ADMIN_ROLE',
2092
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2093
+ stateMutability: 'view',
2094
+ },
2095
+ {
2096
+ type: 'function',
2097
+ inputs: [],
2098
+ name: 'EXECUTOR_ROLE',
2099
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2100
+ stateMutability: 'view',
2101
+ },
2102
+ {
2103
+ type: 'function',
2104
+ inputs: [],
2105
+ name: 'PROPOSER_ROLE',
2106
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2107
+ stateMutability: 'view',
2108
+ },
2109
+ {
2110
+ type: 'function',
2111
+ inputs: [{ name: 'id', internalType: 'bytes32', type: 'bytes32' }],
2112
+ name: 'cancel',
2113
+ outputs: [],
2114
+ stateMutability: 'nonpayable',
2115
+ },
2116
+ {
2117
+ type: 'function',
2118
+ inputs: [
2119
+ { name: 'target', internalType: 'address', type: 'address' },
2120
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
2121
+ { name: 'payload', internalType: 'bytes', type: 'bytes' },
2122
+ { name: 'predecessor', internalType: 'bytes32', type: 'bytes32' },
2123
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2124
+ ],
2125
+ name: 'execute',
2126
+ outputs: [],
2127
+ stateMutability: 'payable',
2128
+ },
2129
+ {
2130
+ type: 'function',
2131
+ inputs: [
2132
+ { name: 'targets', internalType: 'address[]', type: 'address[]' },
2133
+ { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
2134
+ { name: 'payloads', internalType: 'bytes[]', type: 'bytes[]' },
2135
+ { name: 'predecessor', internalType: 'bytes32', type: 'bytes32' },
2136
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2137
+ ],
2138
+ name: 'executeBatch',
2139
+ outputs: [],
2140
+ stateMutability: 'payable',
2141
+ },
2142
+ {
2143
+ type: 'function',
2144
+ inputs: [],
2145
+ name: 'getMinDelay',
2146
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
2147
+ stateMutability: 'view',
2148
+ },
2149
+ {
2150
+ type: 'function',
2151
+ inputs: [{ name: 'id', internalType: 'bytes32', type: 'bytes32' }],
2152
+ name: 'getOperationState',
2153
+ outputs: [{ name: '', internalType: 'enum TimelockController.OperationState', type: 'uint8' }],
2154
+ stateMutability: 'view',
2155
+ },
2156
+ {
2157
+ type: 'function',
2158
+ inputs: [{ name: 'role', internalType: 'bytes32', type: 'bytes32' }],
2159
+ name: 'getRoleAdmin',
2160
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2161
+ stateMutability: 'view',
2162
+ },
2163
+ {
2164
+ type: 'function',
2165
+ inputs: [{ name: 'id', internalType: 'bytes32', type: 'bytes32' }],
2166
+ name: 'getTimestamp',
2167
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
2168
+ stateMutability: 'view',
2169
+ },
2170
+ {
2171
+ type: 'function',
2172
+ inputs: [
2173
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
2174
+ { name: 'account', internalType: 'address', type: 'address' },
2175
+ ],
2176
+ name: 'grantRole',
2177
+ outputs: [],
2178
+ stateMutability: 'nonpayable',
2179
+ },
2180
+ {
2181
+ type: 'function',
2182
+ inputs: [
2183
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
2184
+ { name: 'account', internalType: 'address', type: 'address' },
2185
+ ],
2186
+ name: 'hasRole',
2187
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
2188
+ stateMutability: 'view',
2189
+ },
2190
+ {
2191
+ type: 'function',
2192
+ inputs: [
2193
+ { name: 'target', internalType: 'address', type: 'address' },
2194
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
2195
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
2196
+ { name: 'predecessor', internalType: 'bytes32', type: 'bytes32' },
2197
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2198
+ ],
2199
+ name: 'hashOperation',
2200
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2201
+ stateMutability: 'pure',
2202
+ },
2203
+ {
2204
+ type: 'function',
2205
+ inputs: [
2206
+ { name: 'targets', internalType: 'address[]', type: 'address[]' },
2207
+ { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
2208
+ { name: 'payloads', internalType: 'bytes[]', type: 'bytes[]' },
2209
+ { name: 'predecessor', internalType: 'bytes32', type: 'bytes32' },
2210
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2211
+ ],
2212
+ name: 'hashOperationBatch',
2213
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
2214
+ stateMutability: 'pure',
2215
+ },
2216
+ {
2217
+ type: 'function',
2218
+ inputs: [{ name: 'id', internalType: 'bytes32', type: 'bytes32' }],
2219
+ name: 'isOperation',
2220
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
2221
+ stateMutability: 'view',
2222
+ },
2223
+ {
2224
+ type: 'function',
2225
+ inputs: [{ name: 'id', internalType: 'bytes32', type: 'bytes32' }],
2226
+ name: 'isOperationDone',
2227
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
2228
+ stateMutability: 'view',
2229
+ },
2230
+ {
2231
+ type: 'function',
2232
+ inputs: [{ name: 'id', internalType: 'bytes32', type: 'bytes32' }],
2233
+ name: 'isOperationPending',
2234
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
2235
+ stateMutability: 'view',
2236
+ },
2237
+ {
2238
+ type: 'function',
2239
+ inputs: [{ name: 'id', internalType: 'bytes32', type: 'bytes32' }],
2240
+ name: 'isOperationReady',
2241
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
2242
+ stateMutability: 'view',
2243
+ },
2244
+ {
2245
+ type: 'function',
2246
+ inputs: [
2247
+ { name: '', internalType: 'address', type: 'address' },
2248
+ { name: '', internalType: 'address', type: 'address' },
2249
+ { name: '', internalType: 'uint256[]', type: 'uint256[]' },
2250
+ { name: '', internalType: 'uint256[]', type: 'uint256[]' },
2251
+ { name: '', internalType: 'bytes', type: 'bytes' },
2252
+ ],
2253
+ name: 'onERC1155BatchReceived',
2254
+ outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
2255
+ stateMutability: 'nonpayable',
2256
+ },
2257
+ {
2258
+ type: 'function',
2259
+ inputs: [
2260
+ { name: '', internalType: 'address', type: 'address' },
2261
+ { name: '', internalType: 'address', type: 'address' },
2262
+ { name: '', internalType: 'uint256', type: 'uint256' },
2263
+ { name: '', internalType: 'uint256', type: 'uint256' },
2264
+ { name: '', internalType: 'bytes', type: 'bytes' },
2265
+ ],
2266
+ name: 'onERC1155Received',
2267
+ outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
2268
+ stateMutability: 'nonpayable',
2269
+ },
2270
+ {
2271
+ type: 'function',
2272
+ inputs: [
2273
+ { name: '', internalType: 'address', type: 'address' },
2274
+ { name: '', internalType: 'address', type: 'address' },
2275
+ { name: '', internalType: 'uint256', type: 'uint256' },
2276
+ { name: '', internalType: 'bytes', type: 'bytes' },
2277
+ ],
2278
+ name: 'onERC721Received',
2279
+ outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
2280
+ stateMutability: 'nonpayable',
2281
+ },
2282
+ {
2283
+ type: 'function',
2284
+ inputs: [
2285
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
2286
+ { name: 'callerConfirmation', internalType: 'address', type: 'address' },
2287
+ ],
2288
+ name: 'renounceRole',
2289
+ outputs: [],
2290
+ stateMutability: 'nonpayable',
2291
+ },
2292
+ {
2293
+ type: 'function',
2294
+ inputs: [
2295
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
2296
+ { name: 'account', internalType: 'address', type: 'address' },
2297
+ ],
2298
+ name: 'revokeRole',
2299
+ outputs: [],
2300
+ stateMutability: 'nonpayable',
2301
+ },
2302
+ {
2303
+ type: 'function',
2304
+ inputs: [
2305
+ { name: 'target', internalType: 'address', type: 'address' },
2306
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
2307
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
2308
+ { name: 'predecessor', internalType: 'bytes32', type: 'bytes32' },
2309
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2310
+ { name: 'delay', internalType: 'uint256', type: 'uint256' },
2311
+ ],
2312
+ name: 'schedule',
2313
+ outputs: [],
2314
+ stateMutability: 'nonpayable',
2315
+ },
2316
+ {
2317
+ type: 'function',
2318
+ inputs: [
2319
+ { name: 'targets', internalType: 'address[]', type: 'address[]' },
2320
+ { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
2321
+ { name: 'payloads', internalType: 'bytes[]', type: 'bytes[]' },
2322
+ { name: 'predecessor', internalType: 'bytes32', type: 'bytes32' },
2323
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2324
+ { name: 'delay', internalType: 'uint256', type: 'uint256' },
2325
+ ],
2326
+ name: 'scheduleBatch',
2327
+ outputs: [],
2328
+ stateMutability: 'nonpayable',
2329
+ },
2330
+ {
2331
+ type: 'function',
2332
+ inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
2333
+ name: 'supportsInterface',
2334
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
2335
+ stateMutability: 'view',
2336
+ },
2337
+ {
2338
+ type: 'function',
2339
+ inputs: [{ name: 'newDelay', internalType: 'uint256', type: 'uint256' }],
2340
+ name: 'updateDelay',
2341
+ outputs: [],
2342
+ stateMutability: 'nonpayable',
2343
+ },
2344
+ {
2345
+ type: 'event',
2346
+ anonymous: false,
2347
+ inputs: [
2348
+ { name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: true },
2349
+ { name: 'index', internalType: 'uint256', type: 'uint256', indexed: true },
2350
+ { name: 'target', internalType: 'address', type: 'address', indexed: false },
2351
+ { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false },
2352
+ { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
2353
+ ],
2354
+ name: 'CallExecuted',
2355
+ },
2356
+ {
2357
+ type: 'event',
2358
+ anonymous: false,
2359
+ inputs: [
2360
+ { name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: true },
2361
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32', indexed: false },
2362
+ ],
2363
+ name: 'CallSalt',
2364
+ },
2365
+ {
2366
+ type: 'event',
2367
+ anonymous: false,
2368
+ inputs: [
2369
+ { name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: true },
2370
+ { name: 'index', internalType: 'uint256', type: 'uint256', indexed: true },
2371
+ { name: 'target', internalType: 'address', type: 'address', indexed: false },
2372
+ { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false },
2373
+ { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
2374
+ { name: 'predecessor', internalType: 'bytes32', type: 'bytes32', indexed: false },
2375
+ { name: 'delay', internalType: 'uint256', type: 'uint256', indexed: false },
2376
+ ],
2377
+ name: 'CallScheduled',
2378
+ },
2379
+ {
2380
+ type: 'event',
2381
+ anonymous: false,
2382
+ inputs: [{ name: 'id', internalType: 'bytes32', type: 'bytes32', indexed: true }],
2383
+ name: 'Cancelled',
2384
+ },
2385
+ {
2386
+ type: 'event',
2387
+ anonymous: false,
2388
+ inputs: [
2389
+ { name: 'oldDuration', internalType: 'uint256', type: 'uint256', indexed: false },
2390
+ { name: 'newDuration', internalType: 'uint256', type: 'uint256', indexed: false },
2391
+ ],
2392
+ name: 'MinDelayChange',
2393
+ },
2394
+ {
2395
+ type: 'event',
2396
+ anonymous: false,
2397
+ inputs: [
2398
+ { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },
2399
+ { name: 'previousAdminRole', internalType: 'bytes32', type: 'bytes32', indexed: true },
2400
+ { name: 'newAdminRole', internalType: 'bytes32', type: 'bytes32', indexed: true },
2401
+ ],
2402
+ name: 'RoleAdminChanged',
2403
+ },
2404
+ {
2405
+ type: 'event',
2406
+ anonymous: false,
2407
+ inputs: [
2408
+ { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },
2409
+ { name: 'account', internalType: 'address', type: 'address', indexed: true },
2410
+ { name: 'sender', internalType: 'address', type: 'address', indexed: true },
2411
+ ],
2412
+ name: 'RoleGranted',
2413
+ },
2414
+ {
2415
+ type: 'event',
2416
+ anonymous: false,
2417
+ inputs: [
2418
+ { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },
2419
+ { name: 'account', internalType: 'address', type: 'address', indexed: true },
2420
+ { name: 'sender', internalType: 'address', type: 'address', indexed: true },
2421
+ ],
2422
+ name: 'RoleRevoked',
2423
+ },
2424
+ { type: 'error', inputs: [], name: 'AccessControlBadConfirmation' },
2425
+ {
2426
+ type: 'error',
2427
+ inputs: [
2428
+ { name: 'account', internalType: 'address', type: 'address' },
2429
+ { name: 'neededRole', internalType: 'bytes32', type: 'bytes32' },
2430
+ ],
2431
+ name: 'AccessControlUnauthorizedAccount',
2432
+ },
2433
+ { type: 'error', inputs: [], name: 'FailedCall' },
2434
+ {
2435
+ type: 'error',
2436
+ inputs: [
2437
+ { name: 'delay', internalType: 'uint256', type: 'uint256' },
2438
+ { name: 'minDelay', internalType: 'uint256', type: 'uint256' },
2439
+ ],
2440
+ name: 'TimelockInsufficientDelay',
2441
+ },
2442
+ {
2443
+ type: 'error',
2444
+ inputs: [
2445
+ { name: 'targets', internalType: 'uint256', type: 'uint256' },
2446
+ { name: 'payloads', internalType: 'uint256', type: 'uint256' },
2447
+ { name: 'values', internalType: 'uint256', type: 'uint256' },
2448
+ ],
2449
+ name: 'TimelockInvalidOperationLength',
2450
+ },
2451
+ {
2452
+ type: 'error',
2453
+ inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
2454
+ name: 'TimelockUnauthorizedCaller',
2455
+ },
2456
+ {
2457
+ type: 'error',
2458
+ inputs: [{ name: 'predecessorId', internalType: 'bytes32', type: 'bytes32' }],
2459
+ name: 'TimelockUnexecutedPredecessor',
2460
+ },
2461
+ {
2462
+ type: 'error',
2463
+ inputs: [
2464
+ { name: 'operationId', internalType: 'bytes32', type: 'bytes32' },
2465
+ { name: 'expectedStates', internalType: 'bytes32', type: 'bytes32' },
2466
+ ],
2467
+ name: 'TimelockUnexpectedOperationState',
2468
+ },
2469
+ ] as const;
2470
+
2471
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2472
+ // TimelockControllerFactory
2473
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2474
+
2475
+ export const timelockControllerFactoryAbi = [
2476
+ {
2477
+ type: 'constructor',
2478
+ inputs: [
2479
+ { name: 'initialOwner', internalType: 'address', type: 'address' },
2480
+ { name: 'initialAuthorityForFactory', internalType: 'contract Authority', type: 'address' },
2481
+ ],
2482
+ stateMutability: 'nonpayable',
2483
+ },
2484
+ {
2485
+ type: 'function',
2486
+ inputs: [],
2487
+ name: 'acceptOwnership',
2488
+ outputs: [],
2489
+ stateMutability: 'nonpayable',
2490
+ },
2491
+ {
2492
+ type: 'function',
2493
+ inputs: [],
2494
+ name: 'authority',
2495
+ outputs: [{ name: '', internalType: 'contract Authority', type: 'address' }],
2496
+ stateMutability: 'view',
2497
+ },
2498
+ {
2499
+ type: 'function',
2500
+ inputs: [
2501
+ { name: 'minDelay', internalType: 'uint256', type: 'uint256' },
2502
+ { name: 'proposers', internalType: 'address[]', type: 'address[]' },
2503
+ { name: 'executors', internalType: 'address[]', type: 'address[]' },
2504
+ { name: 'admin', internalType: 'address', type: 'address' },
2505
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2506
+ ],
2507
+ name: 'computeTimelockControllerExpectedAddress',
2508
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2509
+ stateMutability: 'view',
2510
+ },
2511
+ {
2512
+ type: 'function',
2513
+ inputs: [
2514
+ { name: 'minDelay', internalType: 'uint256', type: 'uint256' },
2515
+ { name: 'proposers', internalType: 'address[]', type: 'address[]' },
2516
+ { name: 'executors', internalType: 'address[]', type: 'address[]' },
2517
+ { name: 'admin', internalType: 'address', type: 'address' },
2518
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
2519
+ ],
2520
+ name: 'createTimelockController',
2521
+ outputs: [{ name: 'timelockAddress', internalType: 'address', type: 'address' }],
2522
+ stateMutability: 'nonpayable',
2523
+ },
2524
+ {
2525
+ type: 'function',
2526
+ inputs: [],
2527
+ name: 'owner',
2528
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2529
+ stateMutability: 'view',
2530
+ },
2531
+ {
2532
+ type: 'function',
2533
+ inputs: [],
2534
+ name: 'pendingOwner',
2535
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2536
+ stateMutability: 'view',
2537
+ },
2538
+ {
2539
+ type: 'function',
2540
+ inputs: [{ name: 'newAuthority', internalType: 'contract Authority', type: 'address' }],
2541
+ name: 'setAuthority',
2542
+ outputs: [],
2543
+ stateMutability: 'nonpayable',
2544
+ },
2545
+ {
2546
+ type: 'function',
2547
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
2548
+ name: 'transferOwnership',
2549
+ outputs: [],
2550
+ stateMutability: 'nonpayable',
2551
+ },
2552
+ {
2553
+ type: 'event',
2554
+ anonymous: false,
2555
+ inputs: [
2556
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
2557
+ { name: 'newAuthority', internalType: 'contract Authority', type: 'address', indexed: true },
2558
+ ],
2559
+ name: 'AuthorityUpdated',
2560
+ },
2561
+ {
2562
+ type: 'event',
2563
+ anonymous: false,
2564
+ inputs: [
2565
+ { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true },
2566
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
2567
+ ],
2568
+ name: 'OwnershipTransferStarted',
2569
+ },
2570
+ {
2571
+ type: 'event',
2572
+ anonymous: false,
2573
+ inputs: [
2574
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
2575
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
2576
+ ],
2577
+ name: 'OwnershipTransferred',
2578
+ },
2579
+ {
2580
+ type: 'event',
2581
+ anonymous: false,
2582
+ inputs: [
2583
+ { name: 'timelockAddress', internalType: 'address', type: 'address', indexed: true },
2584
+ { name: 'minDelay', internalType: 'uint256', type: 'uint256', indexed: false },
2585
+ { name: 'proposers', internalType: 'address[]', type: 'address[]', indexed: false },
2586
+ { name: 'executors', internalType: 'address[]', type: 'address[]', indexed: false },
2587
+ { name: 'admin', internalType: 'address', type: 'address', indexed: false },
2588
+ { name: 'creator', internalType: 'address', type: 'address', indexed: true },
2589
+ { name: 'salt', internalType: 'bytes32', type: 'bytes32', indexed: false },
2590
+ ],
2591
+ name: 'TimelockControllerCreated',
2592
+ },
2593
+ { type: 'error', inputs: [], name: 'Aera__EmptyExecutors' },
2594
+ { type: 'error', inputs: [], name: 'Aera__EmptyProposers' },
2595
+ { type: 'error', inputs: [], name: 'Aera__Unauthorized' },
2596
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressAuthority' },
2597
+ ] as const;
2598
+
2599
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2600
+ // TransferBlacklistHook
2601
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2602
+
2603
+ export const transferBlacklistHookAbi = [
2604
+ {
2605
+ type: 'constructor',
2606
+ inputs: [
2607
+ { name: 'oracle_', internalType: 'contract IChainalysisSanctionsOracle', type: 'address' },
2608
+ ],
2609
+ stateMutability: 'nonpayable',
2610
+ },
2611
+ {
2612
+ type: 'function',
2613
+ inputs: [],
2614
+ name: 'BLACKLIST_ORACLE',
2615
+ outputs: [{ name: '', internalType: 'contract IChainalysisSanctionsOracle', type: 'address' }],
2616
+ stateMutability: 'view',
2617
+ },
2618
+ {
2619
+ type: 'function',
2620
+ inputs: [
2621
+ { name: 'from', internalType: 'address', type: 'address' },
2622
+ { name: 'to', internalType: 'address', type: 'address' },
2623
+ { name: 'transferAgent', internalType: 'address', type: 'address' },
2624
+ ],
2625
+ name: 'beforeTransfer',
2626
+ outputs: [],
2627
+ stateMutability: 'view',
2628
+ },
2629
+ {
2630
+ type: 'function',
2631
+ inputs: [{ name: 'vault', internalType: 'address', type: 'address' }],
2632
+ name: 'isVaultUnitTransferable',
2633
+ outputs: [{ name: 'isVaultUnitTransferable', internalType: 'bool', type: 'bool' }],
2634
+ stateMutability: 'view',
2635
+ },
2636
+ {
2637
+ type: 'function',
2638
+ inputs: [
2639
+ { name: 'vault', internalType: 'address', type: 'address' },
2640
+ { name: 'isTransferable', internalType: 'bool', type: 'bool' },
2641
+ ],
2642
+ name: 'setIsVaultUnitsTransferable',
2643
+ outputs: [],
2644
+ stateMutability: 'nonpayable',
2645
+ },
2646
+ {
2647
+ type: 'event',
2648
+ anonymous: false,
2649
+ inputs: [
2650
+ { name: 'vault', internalType: 'address', type: 'address', indexed: true },
2651
+ { name: 'isTransferable', internalType: 'bool', type: 'bool', indexed: false },
2652
+ ],
2653
+ name: 'VaultUnitTransferableSet',
2654
+ },
2655
+ {
2656
+ type: 'error',
2657
+ inputs: [{ name: 'address_', internalType: 'address', type: 'address' }],
2658
+ name: 'AeraPeriphery__BlacklistedAddress',
2659
+ },
2660
+ { type: 'error', inputs: [], name: 'AeraPeriphery__ZeroAddressBlacklistOracle' },
2661
+ { type: 'error', inputs: [], name: 'Aera__CallerIsNotAuthorized' },
2662
+ { type: 'error', inputs: [], name: 'Aera__NotVaultOwner' },
2663
+ {
2664
+ type: 'error',
2665
+ inputs: [{ name: 'vault', internalType: 'address', type: 'address' }],
2666
+ name: 'Aera__VaultUnitsNotTransferable',
2667
+ },
2668
+ ] as const;
2669
+
2670
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2671
+ // Whitelist
2672
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2673
+
2674
+ export const whitelistAbi = [
2675
+ {
2676
+ type: 'constructor',
2677
+ inputs: [
2678
+ { name: 'initialOwner', internalType: 'address', type: 'address' },
2679
+ { name: 'initialAuthority', internalType: 'contract Authority', type: 'address' },
2680
+ ],
2681
+ stateMutability: 'nonpayable',
2682
+ },
2683
+ {
2684
+ type: 'function',
2685
+ inputs: [],
2686
+ name: 'acceptOwnership',
2687
+ outputs: [],
2688
+ stateMutability: 'nonpayable',
2689
+ },
2690
+ {
2691
+ type: 'function',
2692
+ inputs: [],
2693
+ name: 'authority',
2694
+ outputs: [{ name: '', internalType: 'contract Authority', type: 'address' }],
2695
+ stateMutability: 'view',
2696
+ },
2697
+ {
2698
+ type: 'function',
2699
+ inputs: [],
2700
+ name: 'getAllWhitelisted',
2701
+ outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
2702
+ stateMutability: 'view',
2703
+ },
2704
+ {
2705
+ type: 'function',
2706
+ inputs: [{ name: 'addr', internalType: 'address', type: 'address' }],
2707
+ name: 'isWhitelisted',
2708
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
2709
+ stateMutability: 'view',
2710
+ },
2711
+ {
2712
+ type: 'function',
2713
+ inputs: [],
2714
+ name: 'owner',
2715
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2716
+ stateMutability: 'view',
2717
+ },
2718
+ {
2719
+ type: 'function',
2720
+ inputs: [],
2721
+ name: 'pendingOwner',
2722
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
2723
+ stateMutability: 'view',
2724
+ },
2725
+ {
2726
+ type: 'function',
2727
+ inputs: [{ name: 'newAuthority', internalType: 'contract Authority', type: 'address' }],
2728
+ name: 'setAuthority',
2729
+ outputs: [],
2730
+ stateMutability: 'nonpayable',
2731
+ },
2732
+ {
2733
+ type: 'function',
2734
+ inputs: [
2735
+ { name: 'addr', internalType: 'address', type: 'address' },
2736
+ { name: 'isAddressWhitelisted', internalType: 'bool', type: 'bool' },
2737
+ ],
2738
+ name: 'setWhitelisted',
2739
+ outputs: [],
2740
+ stateMutability: 'nonpayable',
2741
+ },
2742
+ {
2743
+ type: 'function',
2744
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
2745
+ name: 'transferOwnership',
2746
+ outputs: [],
2747
+ stateMutability: 'nonpayable',
2748
+ },
2749
+ {
2750
+ type: 'event',
2751
+ anonymous: false,
2752
+ inputs: [
2753
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
2754
+ { name: 'newAuthority', internalType: 'contract Authority', type: 'address', indexed: true },
2755
+ ],
2756
+ name: 'AuthorityUpdated',
2757
+ },
2758
+ {
2759
+ type: 'event',
2760
+ anonymous: false,
2761
+ inputs: [
2762
+ { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true },
2763
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
2764
+ ],
2765
+ name: 'OwnershipTransferStarted',
2766
+ },
2767
+ {
2768
+ type: 'event',
2769
+ anonymous: false,
2770
+ inputs: [
2771
+ { name: 'user', internalType: 'address', type: 'address', indexed: true },
2772
+ { name: 'newOwner', internalType: 'address', type: 'address', indexed: true },
2773
+ ],
2774
+ name: 'OwnershipTransferred',
2775
+ },
2776
+ {
2777
+ type: 'event',
2778
+ anonymous: false,
2779
+ inputs: [
2780
+ { name: 'addr', internalType: 'address', type: 'address', indexed: true },
2781
+ { name: 'isAddressWhitelisted', internalType: 'bool', type: 'bool', indexed: false },
2782
+ ],
2783
+ name: 'WhitelistSet',
2784
+ },
2785
+ { type: 'error', inputs: [], name: 'Aera__Unauthorized' },
2786
+ { type: 'error', inputs: [], name: 'Aera__ZeroAddressAuthority' },
2787
+ ] as const;