@gitmyabi/vault 1.0.0 → 1.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.
@@ -12,48 +12,32 @@ exports.Vault_jsonAbi = [
12
12
  "inputs": [
13
13
  {
14
14
  "internalType": "address",
15
- "name": "externalAccessControl_",
15
+ "name": "_creator",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "contract IRateProviderRegistry",
20
+ "name": "_rpr",
16
21
  "type": "address"
17
22
  },
18
23
  {
19
24
  "internalType": "address",
20
- "name": "vaultFactory_",
25
+ "name": "_tasset",
21
26
  "type": "address"
22
27
  }
23
28
  ],
24
29
  "stateMutability": "nonpayable",
25
30
  "type": "constructor"
26
31
  },
27
- {
28
- "inputs": [],
29
- "name": "AccessControlBadConfirmation",
30
- "type": "error"
31
- },
32
- {
33
- "inputs": [
34
- {
35
- "internalType": "uint48",
36
- "name": "schedule",
37
- "type": "uint48"
38
- }
39
- ],
40
- "name": "AccessControlEnforcedDefaultAdminDelay",
41
- "type": "error"
42
- },
43
- {
44
- "inputs": [],
45
- "name": "AccessControlEnforcedDefaultAdminRules",
46
- "type": "error"
47
- },
48
32
  {
49
33
  "inputs": [
50
34
  {
51
35
  "internalType": "address",
52
- "name": "defaultAdmin",
36
+ "name": "target",
53
37
  "type": "address"
54
38
  }
55
39
  ],
56
- "name": "AccessControlInvalidDefaultAdmin",
40
+ "name": "AddressEmptyCode",
57
41
  "type": "error"
58
42
  },
59
43
  {
@@ -62,3662 +46,874 @@ exports.Vault_jsonAbi = [
62
46
  "internalType": "address",
63
47
  "name": "account",
64
48
  "type": "address"
65
- },
66
- {
67
- "internalType": "bytes32",
68
- "name": "neededRole",
69
- "type": "bytes32"
70
49
  }
71
50
  ],
72
- "name": "AccessControlUnauthorizedAccount",
51
+ "name": "AddressInsufficientBalance",
73
52
  "type": "error"
74
53
  },
75
54
  {
76
- "inputs": [
77
- {
78
- "internalType": "address",
79
- "name": "addr",
80
- "type": "address"
81
- }
82
- ],
83
- "name": "AddressBlocked",
55
+ "inputs": [],
56
+ "name": "Failed",
84
57
  "type": "error"
85
58
  },
86
59
  {
87
- "inputs": [
88
- {
89
- "internalType": "address",
90
- "name": "target",
91
- "type": "address"
92
- }
93
- ],
94
- "name": "AddressEmptyCode",
60
+ "inputs": [],
61
+ "name": "FailedInnerCall",
95
62
  "type": "error"
96
63
  },
97
64
  {
98
- "inputs": [
99
- {
100
- "internalType": "address",
101
- "name": "account",
102
- "type": "address"
103
- }
104
- ],
105
- "name": "AddressInsufficientBalance",
65
+ "inputs": [],
66
+ "name": "InvalidAddress",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "InvalidStrategy",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [],
76
+ "name": "NotRescuer",
106
77
  "type": "error"
107
78
  },
108
79
  {
109
80
  "inputs": [
110
81
  {
111
82
  "internalType": "address",
112
- "name": "addr",
83
+ "name": "owner",
113
84
  "type": "address"
114
85
  }
115
86
  ],
116
- "name": "AddressNotContract",
87
+ "name": "OwnableInvalidOwner",
117
88
  "type": "error"
118
89
  },
119
90
  {
120
91
  "inputs": [
121
92
  {
122
93
  "internalType": "address",
123
- "name": "addr",
94
+ "name": "account",
124
95
  "type": "address"
125
96
  }
126
97
  ],
127
- "name": "AddressNotInternallySanctionedOnly",
128
- "type": "error"
129
- },
130
- {
131
- "inputs": [],
132
- "name": "AmountZero",
98
+ "name": "OwnableUnauthorizedAccount",
133
99
  "type": "error"
134
100
  },
135
101
  {
136
102
  "inputs": [],
137
- "name": "DepositPaused",
103
+ "name": "RescueFailed",
138
104
  "type": "error"
139
105
  },
140
106
  {
141
107
  "inputs": [
142
108
  {
143
109
  "internalType": "address",
144
- "name": "spender",
110
+ "name": "token",
145
111
  "type": "address"
146
- },
147
- {
148
- "internalType": "uint256",
149
- "name": "allowance",
150
- "type": "uint256"
151
- },
152
- {
153
- "internalType": "uint256",
154
- "name": "needed",
155
- "type": "uint256"
156
112
  }
157
113
  ],
158
- "name": "ERC20InsufficientAllowance",
114
+ "name": "SafeERC20FailedOperation",
159
115
  "type": "error"
160
116
  },
161
117
  {
162
- "inputs": [
163
- {
164
- "internalType": "address",
165
- "name": "sender",
166
- "type": "address"
167
- },
168
- {
169
- "internalType": "uint256",
170
- "name": "balance",
171
- "type": "uint256"
172
- },
173
- {
174
- "internalType": "uint256",
175
- "name": "needed",
176
- "type": "uint256"
177
- }
178
- ],
179
- "name": "ERC20InsufficientBalance",
118
+ "inputs": [],
119
+ "name": "UnsupportedDecimals",
180
120
  "type": "error"
181
121
  },
182
122
  {
123
+ "anonymous": false,
183
124
  "inputs": [
184
125
  {
126
+ "indexed": false,
185
127
  "internalType": "address",
186
- "name": "approver",
128
+ "name": "_asset",
187
129
  "type": "address"
188
130
  }
189
131
  ],
190
- "name": "ERC20InvalidApprover",
191
- "type": "error"
132
+ "name": "AllowableAssetAdded",
133
+ "type": "event"
192
134
  },
193
135
  {
136
+ "anonymous": false,
194
137
  "inputs": [
195
138
  {
139
+ "indexed": false,
196
140
  "internalType": "address",
197
- "name": "receiver",
141
+ "name": "_asset",
198
142
  "type": "address"
199
143
  }
200
144
  ],
201
- "name": "ERC20InvalidReceiver",
202
- "type": "error"
145
+ "name": "AllowableAssetRemoved",
146
+ "type": "event"
203
147
  },
204
148
  {
149
+ "anonymous": false,
205
150
  "inputs": [
206
151
  {
152
+ "indexed": true,
207
153
  "internalType": "address",
208
- "name": "sender",
154
+ "name": "previousOwner",
209
155
  "type": "address"
210
- }
211
- ],
212
- "name": "ERC20InvalidSender",
213
- "type": "error"
214
- },
215
- {
216
- "inputs": [
156
+ },
217
157
  {
158
+ "indexed": true,
218
159
  "internalType": "address",
219
- "name": "spender",
160
+ "name": "newOwner",
220
161
  "type": "address"
221
162
  }
222
163
  ],
223
- "name": "ERC20InvalidSpender",
224
- "type": "error"
164
+ "name": "OwnershipTransferStarted",
165
+ "type": "event"
225
166
  },
226
167
  {
168
+ "anonymous": false,
227
169
  "inputs": [
228
170
  {
171
+ "indexed": true,
229
172
  "internalType": "address",
230
- "name": "receiver",
173
+ "name": "previousOwner",
231
174
  "type": "address"
232
175
  },
233
176
  {
234
- "internalType": "uint256",
235
- "name": "assets",
236
- "type": "uint256"
237
- },
238
- {
239
- "internalType": "uint256",
240
- "name": "max",
241
- "type": "uint256"
177
+ "indexed": true,
178
+ "internalType": "address",
179
+ "name": "newOwner",
180
+ "type": "address"
242
181
  }
243
182
  ],
244
- "name": "ERC4626ExceededMaxDeposit",
245
- "type": "error"
183
+ "name": "OwnershipTransferred",
184
+ "type": "event"
246
185
  },
247
186
  {
187
+ "anonymous": false,
248
188
  "inputs": [
249
189
  {
190
+ "indexed": true,
250
191
  "internalType": "address",
251
- "name": "receiver",
192
+ "name": "_new",
252
193
  "type": "address"
253
194
  },
254
195
  {
255
- "internalType": "uint256",
256
- "name": "shares",
257
- "type": "uint256"
258
- },
259
- {
260
- "internalType": "uint256",
261
- "name": "max",
262
- "type": "uint256"
196
+ "indexed": false,
197
+ "internalType": "address",
198
+ "name": "_old",
199
+ "type": "address"
263
200
  }
264
201
  ],
265
- "name": "ERC4626ExceededMaxMint",
266
- "type": "error"
202
+ "name": "RedemptionUpdated",
203
+ "type": "event"
267
204
  },
268
205
  {
206
+ "anonymous": false,
269
207
  "inputs": [
270
208
  {
209
+ "indexed": true,
271
210
  "internalType": "address",
272
- "name": "owner",
211
+ "name": "newRescuer",
273
212
  "type": "address"
274
- },
275
- {
276
- "internalType": "uint256",
277
- "name": "shares",
278
- "type": "uint256"
279
- },
280
- {
281
- "internalType": "uint256",
282
- "name": "max",
283
- "type": "uint256"
284
213
  }
285
214
  ],
286
- "name": "ERC4626ExceededMaxRedeem",
287
- "type": "error"
215
+ "name": "RescuerChanged",
216
+ "type": "event"
288
217
  },
289
218
  {
219
+ "anonymous": false,
290
220
  "inputs": [
291
221
  {
222
+ "indexed": true,
292
223
  "internalType": "address",
293
- "name": "owner",
224
+ "name": "_new",
294
225
  "type": "address"
295
226
  },
296
227
  {
297
- "internalType": "uint256",
298
- "name": "assets",
299
- "type": "uint256"
300
- },
301
- {
302
- "internalType": "uint256",
303
- "name": "max",
304
- "type": "uint256"
228
+ "indexed": false,
229
+ "internalType": "address",
230
+ "name": "_old",
231
+ "type": "address"
305
232
  }
306
233
  ],
307
- "name": "ERC4626ExceededMaxWithdraw",
308
- "type": "error"
309
- },
310
- {
311
- "inputs": [],
312
- "name": "FailedInnerCall",
313
- "type": "error"
234
+ "name": "StrategyStorageUpdated",
235
+ "type": "event"
314
236
  },
315
237
  {
316
238
  "inputs": [],
317
- "name": "InsufficientLiquidity",
318
- "type": "error"
319
- },
320
- {
321
- "inputs": [
239
+ "name": "RATE_PROVIDER_REGISTRY",
240
+ "outputs": [
322
241
  {
323
- "internalType": "bytes32",
324
- "name": "name",
325
- "type": "bytes32"
242
+ "internalType": "contract IRateProviderRegistry",
243
+ "name": "",
244
+ "type": "address"
326
245
  }
327
246
  ],
328
- "name": "InvalidConnectorName",
329
- "type": "error"
330
- },
331
- {
332
- "inputs": [],
333
- "name": "InvalidInitialization",
334
- "type": "error"
335
- },
336
- {
337
- "inputs": [],
338
- "name": "MathOverflowedMulDiv",
339
- "type": "error"
340
- },
341
- {
342
- "inputs": [],
343
- "name": "MinimumTotalSupplyNotReached",
344
- "type": "error"
345
- },
346
- {
347
- "inputs": [],
348
- "name": "NoAdditionalRewardsClaimed",
349
- "type": "error"
247
+ "stateMutability": "view",
248
+ "type": "function"
350
249
  },
351
250
  {
352
251
  "inputs": [],
353
- "name": "NoAdditionalRewardsStrategy",
354
- "type": "error"
252
+ "name": "acceptOwnership",
253
+ "outputs": [],
254
+ "stateMutability": "nonpayable",
255
+ "type": "function"
355
256
  },
356
257
  {
357
258
  "inputs": [
358
259
  {
359
260
  "internalType": "address",
360
- "name": "addr",
261
+ "name": "_asset",
361
262
  "type": "address"
362
263
  }
363
264
  ],
364
- "name": "NotConfiguredFactory",
365
- "type": "error"
366
- },
367
- {
368
- "inputs": [],
369
- "name": "NotInitializing",
370
- "type": "error"
371
- },
372
- {
373
- "inputs": [],
374
- "name": "NotTransferable",
375
- "type": "error"
265
+ "name": "addAllowableAsset",
266
+ "outputs": [],
267
+ "stateMutability": "nonpayable",
268
+ "type": "function"
376
269
  },
377
270
  {
378
271
  "inputs": [],
379
- "name": "NothingToCollect",
380
- "type": "error"
381
- },
382
- {
383
- "inputs": [
272
+ "name": "getAllowableAssetCount",
273
+ "outputs": [
384
274
  {
385
- "internalType": "uint8",
386
- "name": "offset",
387
- "type": "uint8"
275
+ "internalType": "uint256",
276
+ "name": "",
277
+ "type": "uint256"
388
278
  }
389
279
  ],
390
- "name": "OffsetTooHigh",
391
- "type": "error"
392
- },
393
- {
394
- "inputs": [],
395
- "name": "PreviewZero",
396
- "type": "error"
280
+ "stateMutability": "view",
281
+ "type": "function"
397
282
  },
398
283
  {
399
284
  "inputs": [],
400
- "name": "ReentrancyGuardReentrantCall",
401
- "type": "error"
402
- },
403
- {
404
- "inputs": [
285
+ "name": "getAllowableAssets",
286
+ "outputs": [
405
287
  {
406
- "internalType": "uint256",
407
- "name": "shares",
408
- "type": "uint256"
288
+ "internalType": "address[]",
289
+ "name": "",
290
+ "type": "address[]"
409
291
  }
410
292
  ],
411
- "name": "RemainderNotZero",
412
- "type": "error"
293
+ "stateMutability": "view",
294
+ "type": "function"
413
295
  },
414
296
  {
415
- "inputs": [
416
- {
417
- "internalType": "uint8",
418
- "name": "bits",
419
- "type": "uint8"
420
- },
297
+ "inputs": [],
298
+ "name": "getTAsset",
299
+ "outputs": [
421
300
  {
422
- "internalType": "uint256",
423
- "name": "value",
424
- "type": "uint256"
301
+ "internalType": "address",
302
+ "name": "",
303
+ "type": "address"
425
304
  }
426
305
  ],
427
- "name": "SafeCastOverflowedUintDowncast",
428
- "type": "error"
306
+ "stateMutability": "view",
307
+ "type": "function"
429
308
  },
430
309
  {
431
- "inputs": [
310
+ "inputs": [],
311
+ "name": "getUnderlying",
312
+ "outputs": [
432
313
  {
433
314
  "internalType": "address",
434
- "name": "token",
315
+ "name": "",
435
316
  "type": "address"
436
317
  }
437
318
  ],
438
- "name": "SafeERC20FailedOperation",
439
- "type": "error"
319
+ "stateMutability": "view",
320
+ "type": "function"
440
321
  },
441
322
  {
442
323
  "inputs": [
443
324
  {
444
- "internalType": "uint256",
445
- "name": "totalAssets",
446
- "type": "uint256"
447
- },
448
- {
449
- "internalType": "uint256",
450
- "name": "newTotalAssets",
451
- "type": "uint256"
452
- }
453
- ],
454
- "name": "TotalAssetsDecreased",
455
- "type": "error"
456
- },
457
- {
458
- "inputs": [
459
- {
460
- "internalType": "uint256",
461
- "name": "depositFee",
462
- "type": "uint256"
463
- }
464
- ],
465
- "name": "WrongDepositFee",
466
- "type": "error"
467
- },
468
- {
469
- "inputs": [
470
- {
471
- "internalType": "uint256",
472
- "name": "rewardFee",
473
- "type": "uint256"
325
+ "internalType": "address",
326
+ "name": "_asset",
327
+ "type": "address"
474
328
  }
475
329
  ],
476
- "name": "WrongRewardFee",
477
- "type": "error"
478
- },
479
- {
480
- "anonymous": false,
481
- "inputs": [
330
+ "name": "isAllowableAsset",
331
+ "outputs": [
482
332
  {
483
- "indexed": false,
484
- "internalType": "enum Vault.AdditionalRewardsStrategy",
485
- "name": "newAdditionalRewardsStrategy",
486
- "type": "uint8"
333
+ "internalType": "bool",
334
+ "name": "",
335
+ "type": "bool"
487
336
  }
488
337
  ],
489
- "name": "AdditionalRewardsStrategyUpdated",
490
- "type": "event"
338
+ "stateMutability": "view",
339
+ "type": "function"
491
340
  },
492
341
  {
493
- "anonymous": false,
494
- "inputs": [
495
- {
496
- "indexed": true,
497
- "internalType": "address",
498
- "name": "owner",
499
- "type": "address"
500
- },
342
+ "inputs": [],
343
+ "name": "owner",
344
+ "outputs": [
501
345
  {
502
- "indexed": true,
503
346
  "internalType": "address",
504
- "name": "spender",
347
+ "name": "",
505
348
  "type": "address"
506
- },
507
- {
508
- "indexed": false,
509
- "internalType": "uint256",
510
- "name": "value",
511
- "type": "uint256"
512
349
  }
513
350
  ],
514
- "name": "Approval",
515
- "type": "event"
351
+ "stateMutability": "view",
352
+ "type": "function"
516
353
  },
517
354
  {
518
- "anonymous": false,
519
- "inputs": [
355
+ "inputs": [],
356
+ "name": "pendingOwner",
357
+ "outputs": [
520
358
  {
521
- "indexed": false,
522
- "internalType": "contract IERC20",
523
- "name": "asset",
359
+ "internalType": "address",
360
+ "name": "",
524
361
  "type": "address"
525
362
  }
526
363
  ],
527
- "name": "AssetInitialized",
528
- "type": "event"
364
+ "stateMutability": "view",
365
+ "type": "function"
529
366
  },
530
367
  {
531
- "anonymous": false,
532
- "inputs": [
368
+ "inputs": [],
369
+ "name": "redemption",
370
+ "outputs": [
533
371
  {
534
- "indexed": false,
535
- "internalType": "contract BlockList",
536
- "name": "newBlockList",
372
+ "internalType": "address",
373
+ "name": "",
537
374
  "type": "address"
538
375
  }
539
376
  ],
540
- "name": "BlockListUpdated",
541
- "type": "event"
542
- },
543
- {
544
- "anonymous": false,
545
- "inputs": [
546
- {
547
- "indexed": false,
548
- "internalType": "bytes32",
549
- "name": "newConnectorName",
550
- "type": "bytes32"
551
- }
552
- ],
553
- "name": "ConnectorNameUpdated",
554
- "type": "event"
377
+ "stateMutability": "view",
378
+ "type": "function"
555
379
  },
556
380
  {
557
- "anonymous": false,
558
381
  "inputs": [
559
382
  {
560
- "indexed": false,
561
- "internalType": "contract IConnectorRegistry",
562
- "name": "newConnectorRegistry",
383
+ "internalType": "address",
384
+ "name": "_asset",
563
385
  "type": "address"
564
386
  }
565
387
  ],
566
- "name": "ConnectorRegistryUpdated",
567
- "type": "event"
568
- },
569
- {
570
- "anonymous": false,
571
- "inputs": [],
572
- "name": "DefaultAdminDelayChangeCanceled",
573
- "type": "event"
574
- },
575
- {
576
- "anonymous": false,
577
- "inputs": [
578
- {
579
- "indexed": false,
580
- "internalType": "uint48",
581
- "name": "newDelay",
582
- "type": "uint48"
583
- },
584
- {
585
- "indexed": false,
586
- "internalType": "uint48",
587
- "name": "effectSchedule",
588
- "type": "uint48"
589
- }
590
- ],
591
- "name": "DefaultAdminDelayChangeScheduled",
592
- "type": "event"
388
+ "name": "removeAllowableAsset",
389
+ "outputs": [],
390
+ "stateMutability": "nonpayable",
391
+ "type": "function"
593
392
  },
594
393
  {
595
- "anonymous": false,
596
394
  "inputs": [],
597
- "name": "DefaultAdminTransferCanceled",
598
- "type": "event"
599
- },
600
- {
601
- "anonymous": false,
602
- "inputs": [
603
- {
604
- "indexed": true,
605
- "internalType": "address",
606
- "name": "newAdmin",
607
- "type": "address"
608
- },
609
- {
610
- "indexed": false,
611
- "internalType": "uint48",
612
- "name": "acceptSchedule",
613
- "type": "uint48"
614
- }
615
- ],
616
- "name": "DefaultAdminTransferScheduled",
617
- "type": "event"
395
+ "name": "renounceOwnership",
396
+ "outputs": [],
397
+ "stateMutability": "nonpayable",
398
+ "type": "function"
618
399
  },
619
400
  {
620
- "anonymous": false,
621
401
  "inputs": [
622
402
  {
623
- "indexed": true,
624
- "internalType": "address",
625
- "name": "sender",
403
+ "internalType": "contract IERC20",
404
+ "name": "tokenContract",
626
405
  "type": "address"
627
406
  },
628
407
  {
629
- "indexed": true,
630
408
  "internalType": "address",
631
- "name": "owner",
409
+ "name": "to",
632
410
  "type": "address"
633
411
  },
634
412
  {
635
- "indexed": false,
636
- "internalType": "uint256",
637
- "name": "assets",
638
- "type": "uint256"
639
- },
640
- {
641
- "indexed": false,
642
- "internalType": "uint256",
643
- "name": "shares",
644
- "type": "uint256"
645
- }
646
- ],
647
- "name": "Deposit",
648
- "type": "event"
649
- },
650
- {
651
- "anonymous": false,
652
- "inputs": [
653
- {
654
- "indexed": false,
655
413
  "internalType": "uint256",
656
- "name": "newDepositFee",
414
+ "name": "amount",
657
415
  "type": "uint256"
658
416
  }
659
417
  ],
660
- "name": "DepositFeeUpdated",
661
- "type": "event"
418
+ "name": "rescueERC20",
419
+ "outputs": [],
420
+ "stateMutability": "nonpayable",
421
+ "type": "function"
662
422
  },
663
423
  {
664
- "anonymous": false,
665
424
  "inputs": [
666
425
  {
667
- "indexed": false,
668
426
  "internalType": "address",
669
- "name": "feeDispatcher",
427
+ "name": "to",
670
428
  "type": "address"
671
429
  }
672
430
  ],
673
- "name": "FeeDispatcherInitialized",
674
- "type": "event"
675
- },
676
- {
677
- "anonymous": false,
678
- "inputs": [
679
- {
680
- "indexed": false,
681
- "internalType": "uint64",
682
- "name": "version",
683
- "type": "uint64"
684
- }
685
- ],
686
- "name": "Initialized",
687
- "type": "event"
431
+ "name": "rescueETH",
432
+ "outputs": [],
433
+ "stateMutability": "nonpayable",
434
+ "type": "function"
688
435
  },
689
436
  {
690
- "anonymous": false,
691
- "inputs": [
437
+ "inputs": [],
438
+ "name": "rescuer",
439
+ "outputs": [
692
440
  {
693
- "indexed": false,
694
- "internalType": "uint256",
695
- "name": "newMinTotalSupply",
696
- "type": "uint256"
441
+ "internalType": "address",
442
+ "name": "",
443
+ "type": "address"
697
444
  }
698
445
  ],
699
- "name": "MinTotalSupplyInitialized",
700
- "type": "event"
446
+ "stateMutability": "view",
447
+ "type": "function"
701
448
  },
702
449
  {
703
- "anonymous": false,
704
450
  "inputs": [
705
451
  {
706
- "indexed": false,
707
- "internalType": "string",
708
- "name": "name",
709
- "type": "string"
452
+ "internalType": "address",
453
+ "name": "_newRedemption",
454
+ "type": "address"
710
455
  }
711
456
  ],
712
- "name": "NameInitialized",
713
- "type": "event"
457
+ "name": "setRedemption",
458
+ "outputs": [],
459
+ "stateMutability": "nonpayable",
460
+ "type": "function"
714
461
  },
715
462
  {
716
- "anonymous": false,
717
463
  "inputs": [
718
464
  {
719
- "indexed": false,
720
- "internalType": "uint8",
721
- "name": "offset",
722
- "type": "uint8"
465
+ "internalType": "contract IStrategyStorage",
466
+ "name": "_newStrategyStorage",
467
+ "type": "address"
723
468
  }
724
469
  ],
725
- "name": "OffsetInitialized",
726
- "type": "event"
470
+ "name": "setStrategyStorage",
471
+ "outputs": [],
472
+ "stateMutability": "nonpayable",
473
+ "type": "function"
727
474
  },
728
475
  {
729
- "anonymous": false,
730
- "inputs": [
476
+ "inputs": [],
477
+ "name": "strategyStorage",
478
+ "outputs": [
731
479
  {
732
- "indexed": false,
733
- "internalType": "uint256",
734
- "name": "newRewardFee",
735
- "type": "uint256"
480
+ "internalType": "contract IStrategyStorage",
481
+ "name": "",
482
+ "type": "address"
736
483
  }
737
484
  ],
738
- "name": "RewardFeeUpdated",
739
- "type": "event"
485
+ "stateMutability": "view",
486
+ "type": "function"
740
487
  },
741
488
  {
742
- "anonymous": false,
743
489
  "inputs": [
744
490
  {
745
- "indexed": true,
746
491
  "internalType": "address",
747
- "name": "rewardsAsset",
492
+ "name": "newOwner",
748
493
  "type": "address"
749
- },
750
- {
751
- "indexed": false,
752
- "internalType": "uint256",
753
- "name": "amount",
754
- "type": "uint256"
755
494
  }
756
495
  ],
757
- "name": "RewardsClaimed",
758
- "type": "event"
496
+ "name": "transferOwnership",
497
+ "outputs": [],
498
+ "stateMutability": "nonpayable",
499
+ "type": "function"
759
500
  },
760
501
  {
761
- "anonymous": false,
762
502
  "inputs": [
763
503
  {
764
- "indexed": true,
765
- "internalType": "bytes32",
766
- "name": "role",
767
- "type": "bytes32"
768
- },
769
- {
770
- "indexed": true,
771
- "internalType": "bytes32",
772
- "name": "previousAdminRole",
773
- "type": "bytes32"
774
- },
775
- {
776
- "indexed": true,
777
- "internalType": "bytes32",
778
- "name": "newAdminRole",
779
- "type": "bytes32"
504
+ "internalType": "address",
505
+ "name": "newRescuer",
506
+ "type": "address"
780
507
  }
781
508
  ],
782
- "name": "RoleAdminChanged",
783
- "type": "event"
509
+ "name": "updateRescuer",
510
+ "outputs": [],
511
+ "stateMutability": "nonpayable",
512
+ "type": "function"
784
513
  },
785
514
  {
786
- "anonymous": false,
787
515
  "inputs": [
788
516
  {
789
- "indexed": true,
790
- "internalType": "bytes32",
791
- "name": "role",
792
- "type": "bytes32"
793
- },
794
- {
795
- "indexed": true,
796
517
  "internalType": "address",
797
- "name": "account",
518
+ "name": "_asset",
798
519
  "type": "address"
799
520
  },
800
521
  {
801
- "indexed": true,
802
- "internalType": "address",
803
- "name": "sender",
804
- "type": "address"
522
+ "internalType": "uint256",
523
+ "name": "_amount",
524
+ "type": "uint256"
805
525
  }
806
526
  ],
807
- "name": "RoleGranted",
808
- "type": "event"
809
- },
810
- {
811
- "anonymous": false,
812
- "inputs": [
813
- {
814
- "indexed": true,
815
- "internalType": "bytes32",
816
- "name": "role",
817
- "type": "bytes32"
818
- },
819
- {
820
- "indexed": true,
821
- "internalType": "address",
822
- "name": "account",
823
- "type": "address"
824
- },
825
- {
826
- "indexed": true,
827
- "internalType": "address",
828
- "name": "sender",
829
- "type": "address"
830
- }
831
- ],
832
- "name": "RoleRevoked",
833
- "type": "event"
834
- },
835
- {
836
- "anonymous": false,
837
- "inputs": [
838
- {
839
- "indexed": false,
840
- "internalType": "string",
841
- "name": "symbol",
842
- "type": "string"
843
- }
844
- ],
845
- "name": "SymbolInitialized",
846
- "type": "event"
847
- },
848
- {
849
- "anonymous": false,
850
- "inputs": [
851
- {
852
- "indexed": true,
853
- "internalType": "address",
854
- "name": "from",
855
- "type": "address"
856
- },
857
- {
858
- "indexed": true,
859
- "internalType": "address",
860
- "name": "to",
861
- "type": "address"
862
- },
863
- {
864
- "indexed": false,
865
- "internalType": "uint256",
866
- "name": "value",
867
- "type": "uint256"
868
- }
869
- ],
870
- "name": "Transfer",
871
- "type": "event"
872
- },
873
- {
874
- "anonymous": false,
875
- "inputs": [
876
- {
877
- "indexed": false,
878
- "internalType": "bool",
879
- "name": "newTransferableFlag",
880
- "type": "bool"
881
- }
882
- ],
883
- "name": "TransferableUpdated",
884
- "type": "event"
885
- },
886
- {
887
- "anonymous": false,
888
- "inputs": [
889
- {
890
- "indexed": true,
891
- "internalType": "address",
892
- "name": "sender",
893
- "type": "address"
894
- },
895
- {
896
- "indexed": true,
897
- "internalType": "address",
898
- "name": "receiver",
899
- "type": "address"
900
- },
901
- {
902
- "indexed": true,
903
- "internalType": "address",
904
- "name": "owner",
905
- "type": "address"
906
- },
907
- {
908
- "indexed": false,
909
- "internalType": "uint256",
910
- "name": "assets",
911
- "type": "uint256"
912
- },
913
- {
914
- "indexed": false,
915
- "internalType": "uint256",
916
- "name": "shares",
917
- "type": "uint256"
918
- }
919
- ],
920
- "name": "Withdraw",
921
- "type": "event"
922
- },
923
- {
924
- "inputs": [],
925
- "name": "CLAIM_MANAGER_ROLE",
926
- "outputs": [
927
- {
928
- "internalType": "bytes32",
929
- "name": "",
930
- "type": "bytes32"
931
- }
932
- ],
933
- "stateMutability": "view",
934
- "type": "function"
935
- },
936
- {
937
- "inputs": [],
938
- "name": "DEFAULT_ADMIN_ROLE",
939
- "outputs": [
940
- {
941
- "internalType": "bytes32",
942
- "name": "",
943
- "type": "bytes32"
944
- }
945
- ],
946
- "stateMutability": "view",
947
- "type": "function"
948
- },
949
- {
950
- "inputs": [],
951
- "name": "FEE_COLLECTOR_ROLE",
952
- "outputs": [
953
- {
954
- "internalType": "bytes32",
955
- "name": "",
956
- "type": "bytes32"
957
- }
958
- ],
959
- "stateMutability": "view",
960
- "type": "function"
961
- },
962
- {
963
- "inputs": [],
964
- "name": "FEE_MANAGER_ROLE",
965
- "outputs": [
966
- {
967
- "internalType": "bytes32",
968
- "name": "",
969
- "type": "bytes32"
970
- }
971
- ],
972
- "stateMutability": "view",
973
- "type": "function"
974
- },
975
- {
976
- "inputs": [],
977
- "name": "PAUSER_ROLE",
978
- "outputs": [
979
- {
980
- "internalType": "bytes32",
981
- "name": "",
982
- "type": "bytes32"
983
- }
984
- ],
985
- "stateMutability": "view",
986
- "type": "function"
987
- },
988
- {
989
- "inputs": [],
990
- "name": "SANCTIONS_MANAGER_ROLE",
991
- "outputs": [
992
- {
993
- "internalType": "bytes32",
994
- "name": "",
995
- "type": "bytes32"
996
- }
997
- ],
998
- "stateMutability": "view",
999
- "type": "function"
1000
- },
1001
- {
1002
- "inputs": [],
1003
- "name": "SPENDER_ROLE",
1004
- "outputs": [
1005
- {
1006
- "internalType": "bytes32",
1007
- "name": "",
1008
- "type": "bytes32"
1009
- }
1010
- ],
1011
- "stateMutability": "view",
1012
- "type": "function"
1013
- },
1014
- {
1015
- "inputs": [],
1016
- "name": "UNPAUSER_ROLE",
1017
- "outputs": [
1018
- {
1019
- "internalType": "bytes32",
1020
- "name": "",
1021
- "type": "bytes32"
1022
- }
1023
- ],
1024
- "stateMutability": "view",
1025
- "type": "function"
1026
- },
1027
- {
1028
- "inputs": [],
1029
- "name": "acceptDefaultAdminTransfer",
527
+ "name": "withdraw",
1030
528
  "outputs": [],
1031
529
  "stateMutability": "nonpayable",
1032
530
  "type": "function"
1033
- },
1034
- {
1035
- "inputs": [],
1036
- "name": "additionalRewardsStrategy",
1037
- "outputs": [
1038
- {
1039
- "internalType": "enum Vault.AdditionalRewardsStrategy",
1040
- "name": "",
1041
- "type": "uint8"
1042
- }
1043
- ],
1044
- "stateMutability": "view",
1045
- "type": "function"
1046
- },
1047
- {
1048
- "inputs": [
1049
- {
1050
- "internalType": "address",
1051
- "name": "owner",
1052
- "type": "address"
1053
- },
1054
- {
1055
- "internalType": "address",
1056
- "name": "spender",
1057
- "type": "address"
1058
- }
1059
- ],
1060
- "name": "allowance",
1061
- "outputs": [
1062
- {
1063
- "internalType": "uint256",
1064
- "name": "",
1065
- "type": "uint256"
1066
- }
1067
- ],
1068
- "stateMutability": "view",
1069
- "type": "function"
1070
- },
1071
- {
1072
- "inputs": [
1073
- {
1074
- "internalType": "address",
1075
- "name": "spender",
1076
- "type": "address"
1077
- },
1078
- {
1079
- "internalType": "uint256",
1080
- "name": "value",
1081
- "type": "uint256"
1082
- }
1083
- ],
1084
- "name": "approve",
1085
- "outputs": [
1086
- {
1087
- "internalType": "bool",
1088
- "name": "",
1089
- "type": "bool"
1090
- }
1091
- ],
1092
- "stateMutability": "nonpayable",
1093
- "type": "function"
1094
- },
1095
- {
1096
- "inputs": [],
1097
- "name": "asset",
1098
- "outputs": [
1099
- {
1100
- "internalType": "address",
1101
- "name": "",
1102
- "type": "address"
1103
- }
1104
- ],
1105
- "stateMutability": "view",
1106
- "type": "function"
1107
- },
1108
- {
1109
- "inputs": [
1110
- {
1111
- "internalType": "address",
1112
- "name": "account",
1113
- "type": "address"
1114
- }
1115
- ],
1116
- "name": "balanceOf",
1117
- "outputs": [
1118
- {
1119
- "internalType": "uint256",
1120
- "name": "",
1121
- "type": "uint256"
1122
- }
1123
- ],
1124
- "stateMutability": "view",
1125
- "type": "function"
1126
- },
1127
- {
1128
- "inputs": [
1129
- {
1130
- "internalType": "address",
1131
- "name": "newAdmin",
1132
- "type": "address"
1133
- }
1134
- ],
1135
- "name": "beginDefaultAdminTransfer",
1136
- "outputs": [],
1137
- "stateMutability": "nonpayable",
1138
- "type": "function"
1139
- },
1140
- {
1141
- "inputs": [],
1142
- "name": "blockList",
1143
- "outputs": [
1144
- {
1145
- "internalType": "contract BlockList",
1146
- "name": "",
1147
- "type": "address"
1148
- }
1149
- ],
1150
- "stateMutability": "view",
1151
- "type": "function"
1152
- },
1153
- {
1154
- "inputs": [],
1155
- "name": "cancelDefaultAdminTransfer",
1156
- "outputs": [],
1157
- "stateMutability": "nonpayable",
1158
- "type": "function"
1159
- },
1160
- {
1161
- "inputs": [
1162
- {
1163
- "internalType": "uint48",
1164
- "name": "newDelay",
1165
- "type": "uint48"
1166
- }
1167
- ],
1168
- "name": "changeDefaultAdminDelay",
1169
- "outputs": [],
1170
- "stateMutability": "nonpayable",
1171
- "type": "function"
1172
- },
1173
- {
1174
- "inputs": [
1175
- {
1176
- "internalType": "address",
1177
- "name": "rewardsAsset",
1178
- "type": "address"
1179
- },
1180
- {
1181
- "internalType": "bytes",
1182
- "name": "payload",
1183
- "type": "bytes"
1184
- }
1185
- ],
1186
- "name": "claimAdditionalRewards",
1187
- "outputs": [],
1188
- "stateMutability": "nonpayable",
1189
- "type": "function"
1190
- },
1191
- {
1192
- "inputs": [],
1193
- "name": "collectRewardFees",
1194
- "outputs": [],
1195
- "stateMutability": "nonpayable",
1196
- "type": "function"
1197
- },
1198
- {
1199
- "inputs": [],
1200
- "name": "collectableRewardFees",
1201
- "outputs": [
1202
- {
1203
- "internalType": "uint256",
1204
- "name": "",
1205
- "type": "uint256"
1206
- }
1207
- ],
1208
- "stateMutability": "view",
1209
- "type": "function"
1210
- },
1211
- {
1212
- "inputs": [],
1213
- "name": "connectorName",
1214
- "outputs": [
1215
- {
1216
- "internalType": "bytes32",
1217
- "name": "",
1218
- "type": "bytes32"
1219
- }
1220
- ],
1221
- "stateMutability": "view",
1222
- "type": "function"
1223
- },
1224
- {
1225
- "inputs": [],
1226
- "name": "connectorRegistry",
1227
- "outputs": [
1228
- {
1229
- "internalType": "contract IConnectorRegistry",
1230
- "name": "",
1231
- "type": "address"
1232
- }
1233
- ],
1234
- "stateMutability": "view",
1235
- "type": "function"
1236
- },
1237
- {
1238
- "inputs": [
1239
- {
1240
- "internalType": "uint256",
1241
- "name": "shares",
1242
- "type": "uint256"
1243
- }
1244
- ],
1245
- "name": "convertToAssets",
1246
- "outputs": [
1247
- {
1248
- "internalType": "uint256",
1249
- "name": "",
1250
- "type": "uint256"
1251
- }
1252
- ],
1253
- "stateMutability": "view",
1254
- "type": "function"
1255
- },
1256
- {
1257
- "inputs": [
1258
- {
1259
- "internalType": "uint256",
1260
- "name": "assets",
1261
- "type": "uint256"
1262
- }
1263
- ],
1264
- "name": "convertToShares",
1265
- "outputs": [
1266
- {
1267
- "internalType": "uint256",
1268
- "name": "",
1269
- "type": "uint256"
1270
- }
1271
- ],
1272
- "stateMutability": "view",
1273
- "type": "function"
1274
- },
1275
- {
1276
- "inputs": [],
1277
- "name": "decimals",
1278
- "outputs": [
1279
- {
1280
- "internalType": "uint8",
1281
- "name": "",
1282
- "type": "uint8"
1283
- }
1284
- ],
1285
- "stateMutability": "view",
1286
- "type": "function"
1287
- },
1288
- {
1289
- "inputs": [],
1290
- "name": "defaultAdmin",
1291
- "outputs": [
1292
- {
1293
- "internalType": "address",
1294
- "name": "",
1295
- "type": "address"
1296
- }
1297
- ],
1298
- "stateMutability": "view",
1299
- "type": "function"
1300
- },
1301
- {
1302
- "inputs": [],
1303
- "name": "defaultAdminDelay",
1304
- "outputs": [
1305
- {
1306
- "internalType": "uint48",
1307
- "name": "",
1308
- "type": "uint48"
1309
- }
1310
- ],
1311
- "stateMutability": "view",
1312
- "type": "function"
1313
- },
1314
- {
1315
- "inputs": [],
1316
- "name": "defaultAdminDelayIncreaseWait",
1317
- "outputs": [
1318
- {
1319
- "internalType": "uint48",
1320
- "name": "",
1321
- "type": "uint48"
1322
- }
1323
- ],
1324
- "stateMutability": "view",
1325
- "type": "function"
1326
- },
1327
- {
1328
- "inputs": [
1329
- {
1330
- "internalType": "bytes",
1331
- "name": "data",
1332
- "type": "bytes"
1333
- }
1334
- ],
1335
- "name": "delegateToFactory",
1336
- "outputs": [
1337
- {
1338
- "internalType": "bytes",
1339
- "name": "",
1340
- "type": "bytes"
1341
- }
1342
- ],
1343
- "stateMutability": "nonpayable",
1344
- "type": "function"
1345
- },
1346
- {
1347
- "inputs": [
1348
- {
1349
- "internalType": "uint256",
1350
- "name": "assets",
1351
- "type": "uint256"
1352
- },
1353
- {
1354
- "internalType": "address",
1355
- "name": "receiver",
1356
- "type": "address"
1357
- }
1358
- ],
1359
- "name": "deposit",
1360
- "outputs": [
1361
- {
1362
- "internalType": "uint256",
1363
- "name": "",
1364
- "type": "uint256"
1365
- }
1366
- ],
1367
- "stateMutability": "nonpayable",
1368
- "type": "function"
1369
- },
1370
- {
1371
- "inputs": [],
1372
- "name": "depositFee",
1373
- "outputs": [
1374
- {
1375
- "internalType": "uint256",
1376
- "name": "",
1377
- "type": "uint256"
1378
- }
1379
- ],
1380
- "stateMutability": "view",
1381
- "type": "function"
1382
- },
1383
- {
1384
- "inputs": [],
1385
- "name": "dispatchFees",
1386
- "outputs": [],
1387
- "stateMutability": "nonpayable",
1388
- "type": "function"
1389
- },
1390
- {
1391
- "inputs": [
1392
- {
1393
- "internalType": "address",
1394
- "name": "recipient",
1395
- "type": "address"
1396
- }
1397
- ],
1398
- "name": "feeRecipient",
1399
- "outputs": [
1400
- {
1401
- "components": [
1402
- {
1403
- "internalType": "address",
1404
- "name": "recipient",
1405
- "type": "address"
1406
- },
1407
- {
1408
- "internalType": "uint256",
1409
- "name": "depositFeeSplit",
1410
- "type": "uint256"
1411
- },
1412
- {
1413
- "internalType": "uint256",
1414
- "name": "rewardFeeSplit",
1415
- "type": "uint256"
1416
- }
1417
- ],
1418
- "internalType": "struct IFeeDispatcher.FeeRecipient",
1419
- "name": "",
1420
- "type": "tuple"
1421
- }
1422
- ],
1423
- "stateMutability": "view",
1424
- "type": "function"
1425
- },
1426
- {
1427
- "inputs": [
1428
- {
1429
- "internalType": "uint256",
1430
- "name": "index",
1431
- "type": "uint256"
1432
- }
1433
- ],
1434
- "name": "feeRecipientAt",
1435
- "outputs": [
1436
- {
1437
- "components": [
1438
- {
1439
- "internalType": "address",
1440
- "name": "recipient",
1441
- "type": "address"
1442
- },
1443
- {
1444
- "internalType": "uint256",
1445
- "name": "depositFeeSplit",
1446
- "type": "uint256"
1447
- },
1448
- {
1449
- "internalType": "uint256",
1450
- "name": "rewardFeeSplit",
1451
- "type": "uint256"
1452
- }
1453
- ],
1454
- "internalType": "struct IFeeDispatcher.FeeRecipient",
1455
- "name": "",
1456
- "type": "tuple"
1457
- }
1458
- ],
1459
- "stateMutability": "view",
1460
- "type": "function"
1461
- },
1462
- {
1463
- "inputs": [],
1464
- "name": "feeRecipients",
1465
- "outputs": [
1466
- {
1467
- "components": [
1468
- {
1469
- "internalType": "address",
1470
- "name": "recipient",
1471
- "type": "address"
1472
- },
1473
- {
1474
- "internalType": "uint256",
1475
- "name": "depositFeeSplit",
1476
- "type": "uint256"
1477
- },
1478
- {
1479
- "internalType": "uint256",
1480
- "name": "rewardFeeSplit",
1481
- "type": "uint256"
1482
- }
1483
- ],
1484
- "internalType": "struct IFeeDispatcher.FeeRecipient[]",
1485
- "name": "",
1486
- "type": "tuple[]"
1487
- }
1488
- ],
1489
- "stateMutability": "view",
1490
- "type": "function"
1491
- },
1492
- {
1493
- "inputs": [
1494
- {
1495
- "internalType": "address",
1496
- "name": "blockedUser",
1497
- "type": "address"
1498
- }
1499
- ],
1500
- "name": "forceWithdraw",
1501
- "outputs": [
1502
- {
1503
- "internalType": "uint256",
1504
- "name": "",
1505
- "type": "uint256"
1506
- }
1507
- ],
1508
- "stateMutability": "nonpayable",
1509
- "type": "function"
1510
- },
1511
- {
1512
- "inputs": [
1513
- {
1514
- "internalType": "bytes32",
1515
- "name": "role",
1516
- "type": "bytes32"
1517
- }
1518
- ],
1519
- "name": "getRoleAdmin",
1520
- "outputs": [
1521
- {
1522
- "internalType": "bytes32",
1523
- "name": "",
1524
- "type": "bytes32"
1525
- }
1526
- ],
1527
- "stateMutability": "view",
1528
- "type": "function"
1529
- },
1530
- {
1531
- "inputs": [
1532
- {
1533
- "internalType": "bytes32",
1534
- "name": "role",
1535
- "type": "bytes32"
1536
- },
1537
- {
1538
- "internalType": "address",
1539
- "name": "account",
1540
- "type": "address"
1541
- }
1542
- ],
1543
- "name": "grantRole",
1544
- "outputs": [],
1545
- "stateMutability": "nonpayable",
1546
- "type": "function"
1547
- },
1548
- {
1549
- "inputs": [
1550
- {
1551
- "internalType": "bytes32",
1552
- "name": "role",
1553
- "type": "bytes32"
1554
- },
1555
- {
1556
- "internalType": "address",
1557
- "name": "account",
1558
- "type": "address"
1559
- }
1560
- ],
1561
- "name": "hasRole",
1562
- "outputs": [
1563
- {
1564
- "internalType": "bool",
1565
- "name": "",
1566
- "type": "bool"
1567
- }
1568
- ],
1569
- "stateMutability": "view",
1570
- "type": "function"
1571
- },
1572
- {
1573
- "inputs": [
1574
- {
1575
- "components": [
1576
- {
1577
- "internalType": "contract IERC20",
1578
- "name": "asset_",
1579
- "type": "address"
1580
- },
1581
- {
1582
- "internalType": "string",
1583
- "name": "name_",
1584
- "type": "string"
1585
- },
1586
- {
1587
- "internalType": "string",
1588
- "name": "symbol_",
1589
- "type": "string"
1590
- },
1591
- {
1592
- "internalType": "bool",
1593
- "name": "transferable_",
1594
- "type": "bool"
1595
- },
1596
- {
1597
- "internalType": "contract IConnectorRegistry",
1598
- "name": "connectorRegistry_",
1599
- "type": "address"
1600
- },
1601
- {
1602
- "internalType": "bytes32",
1603
- "name": "connectorName_",
1604
- "type": "bytes32"
1605
- },
1606
- {
1607
- "internalType": "uint256",
1608
- "name": "depositFee_",
1609
- "type": "uint256"
1610
- },
1611
- {
1612
- "internalType": "uint256",
1613
- "name": "rewardFee_",
1614
- "type": "uint256"
1615
- },
1616
- {
1617
- "internalType": "address",
1618
- "name": "initialDefaultAdmin_",
1619
- "type": "address"
1620
- },
1621
- {
1622
- "internalType": "address",
1623
- "name": "initialFeeManager_",
1624
- "type": "address"
1625
- },
1626
- {
1627
- "internalType": "address",
1628
- "name": "initialSanctionsManager_",
1629
- "type": "address"
1630
- },
1631
- {
1632
- "internalType": "address",
1633
- "name": "initialClaimManager_",
1634
- "type": "address"
1635
- },
1636
- {
1637
- "internalType": "address",
1638
- "name": "initialPauser_",
1639
- "type": "address"
1640
- },
1641
- {
1642
- "internalType": "address",
1643
- "name": "initialUnpauser_",
1644
- "type": "address"
1645
- },
1646
- {
1647
- "internalType": "uint48",
1648
- "name": "initialDelay_",
1649
- "type": "uint48"
1650
- },
1651
- {
1652
- "internalType": "uint8",
1653
- "name": "offset_",
1654
- "type": "uint8"
1655
- },
1656
- {
1657
- "internalType": "uint256",
1658
- "name": "minTotalSupply_",
1659
- "type": "uint256"
1660
- }
1661
- ],
1662
- "internalType": "struct Vault.InitializationParams",
1663
- "name": "initializationParams",
1664
- "type": "tuple"
1665
- },
1666
- {
1667
- "components": [
1668
- {
1669
- "components": [
1670
- {
1671
- "internalType": "address",
1672
- "name": "recipient",
1673
- "type": "address"
1674
- },
1675
- {
1676
- "internalType": "uint256",
1677
- "name": "depositFeeSplit",
1678
- "type": "uint256"
1679
- },
1680
- {
1681
- "internalType": "uint256",
1682
- "name": "rewardFeeSplit",
1683
- "type": "uint256"
1684
- }
1685
- ],
1686
- "internalType": "struct IFeeDispatcher.FeeRecipient[]",
1687
- "name": "recipients_",
1688
- "type": "tuple[]"
1689
- },
1690
- {
1691
- "internalType": "address",
1692
- "name": "feeDispatcher_",
1693
- "type": "address"
1694
- },
1695
- {
1696
- "internalType": "enum Vault.AdditionalRewardsStrategy",
1697
- "name": "additionalRewardsStrategy_",
1698
- "type": "uint8"
1699
- },
1700
- {
1701
- "internalType": "contract BlockList",
1702
- "name": "blockList_",
1703
- "type": "address"
1704
- },
1705
- {
1706
- "internalType": "uint256",
1707
- "name": "pendingDepositFee_",
1708
- "type": "uint256"
1709
- },
1710
- {
1711
- "internalType": "uint256",
1712
- "name": "pendingRewardFee_",
1713
- "type": "uint256"
1714
- },
1715
- {
1716
- "internalType": "contract IConnectorRegistry",
1717
- "name": "connectorRegistry_",
1718
- "type": "address"
1719
- },
1720
- {
1721
- "internalType": "address",
1722
- "name": "initialFeeCollector_",
1723
- "type": "address"
1724
- }
1725
- ],
1726
- "internalType": "struct Vault.UpgradeParams",
1727
- "name": "upgradeParams",
1728
- "type": "tuple"
1729
- }
1730
- ],
1731
- "name": "initialize",
1732
- "outputs": [],
1733
- "stateMutability": "nonpayable",
1734
- "type": "function"
1735
- },
1736
- {
1737
- "inputs": [
1738
- {
1739
- "internalType": "address",
1740
- "name": "",
1741
- "type": "address"
1742
- }
1743
- ],
1744
- "name": "maxDeposit",
1745
- "outputs": [
1746
- {
1747
- "internalType": "uint256",
1748
- "name": "",
1749
- "type": "uint256"
1750
- }
1751
- ],
1752
- "stateMutability": "view",
1753
- "type": "function"
1754
- },
1755
- {
1756
- "inputs": [
1757
- {
1758
- "internalType": "address",
1759
- "name": "",
1760
- "type": "address"
1761
- }
1762
- ],
1763
- "name": "maxMint",
1764
- "outputs": [
1765
- {
1766
- "internalType": "uint256",
1767
- "name": "",
1768
- "type": "uint256"
1769
- }
1770
- ],
1771
- "stateMutability": "view",
1772
- "type": "function"
1773
- },
1774
- {
1775
- "inputs": [
1776
- {
1777
- "internalType": "address",
1778
- "name": "owner",
1779
- "type": "address"
1780
- }
1781
- ],
1782
- "name": "maxRedeem",
1783
- "outputs": [
1784
- {
1785
- "internalType": "uint256",
1786
- "name": "",
1787
- "type": "uint256"
1788
- }
1789
- ],
1790
- "stateMutability": "view",
1791
- "type": "function"
1792
- },
1793
- {
1794
- "inputs": [
1795
- {
1796
- "internalType": "address",
1797
- "name": "owner",
1798
- "type": "address"
1799
- }
1800
- ],
1801
- "name": "maxWithdraw",
1802
- "outputs": [
1803
- {
1804
- "internalType": "uint256",
1805
- "name": "",
1806
- "type": "uint256"
1807
- }
1808
- ],
1809
- "stateMutability": "view",
1810
- "type": "function"
1811
- },
1812
- {
1813
- "inputs": [
1814
- {
1815
- "internalType": "uint256",
1816
- "name": "shares",
1817
- "type": "uint256"
1818
- },
1819
- {
1820
- "internalType": "address",
1821
- "name": "receiver",
1822
- "type": "address"
1823
- }
1824
- ],
1825
- "name": "mint",
1826
- "outputs": [
1827
- {
1828
- "internalType": "uint256",
1829
- "name": "",
1830
- "type": "uint256"
1831
- }
1832
- ],
1833
- "stateMutability": "nonpayable",
1834
- "type": "function"
1835
- },
1836
- {
1837
- "inputs": [],
1838
- "name": "name",
1839
- "outputs": [
1840
- {
1841
- "internalType": "string",
1842
- "name": "",
1843
- "type": "string"
1844
- }
1845
- ],
1846
- "stateMutability": "view",
1847
- "type": "function"
1848
- },
1849
- {
1850
- "inputs": [],
1851
- "name": "owner",
1852
- "outputs": [
1853
- {
1854
- "internalType": "address",
1855
- "name": "",
1856
- "type": "address"
1857
- }
1858
- ],
1859
- "stateMutability": "view",
1860
- "type": "function"
1861
- },
1862
- {
1863
- "inputs": [],
1864
- "name": "pauseDeposit",
1865
- "outputs": [],
1866
- "stateMutability": "nonpayable",
1867
- "type": "function"
1868
- },
1869
- {
1870
- "inputs": [],
1871
- "name": "pendingDefaultAdmin",
1872
- "outputs": [
1873
- {
1874
- "internalType": "address",
1875
- "name": "newAdmin",
1876
- "type": "address"
1877
- },
1878
- {
1879
- "internalType": "uint48",
1880
- "name": "schedule",
1881
- "type": "uint48"
1882
- }
1883
- ],
1884
- "stateMutability": "view",
1885
- "type": "function"
1886
- },
1887
- {
1888
- "inputs": [],
1889
- "name": "pendingDefaultAdminDelay",
1890
- "outputs": [
1891
- {
1892
- "internalType": "uint48",
1893
- "name": "newDelay",
1894
- "type": "uint48"
1895
- },
1896
- {
1897
- "internalType": "uint48",
1898
- "name": "schedule",
1899
- "type": "uint48"
1900
- }
1901
- ],
1902
- "stateMutability": "view",
1903
- "type": "function"
1904
- },
1905
- {
1906
- "inputs": [],
1907
- "name": "pendingDepositFee",
1908
- "outputs": [
1909
- {
1910
- "internalType": "uint256",
1911
- "name": "",
1912
- "type": "uint256"
1913
- }
1914
- ],
1915
- "stateMutability": "view",
1916
- "type": "function"
1917
- },
1918
- {
1919
- "inputs": [],
1920
- "name": "pendingRewardFee",
1921
- "outputs": [
1922
- {
1923
- "internalType": "uint256",
1924
- "name": "",
1925
- "type": "uint256"
1926
- }
1927
- ],
1928
- "stateMutability": "view",
1929
- "type": "function"
1930
- },
1931
- {
1932
- "inputs": [
1933
- {
1934
- "internalType": "uint256",
1935
- "name": "assets",
1936
- "type": "uint256"
1937
- }
1938
- ],
1939
- "name": "previewDeposit",
1940
- "outputs": [
1941
- {
1942
- "internalType": "uint256",
1943
- "name": "",
1944
- "type": "uint256"
1945
- }
1946
- ],
1947
- "stateMutability": "view",
1948
- "type": "function"
1949
- },
1950
- {
1951
- "inputs": [
1952
- {
1953
- "internalType": "uint256",
1954
- "name": "shares",
1955
- "type": "uint256"
1956
- }
1957
- ],
1958
- "name": "previewMint",
1959
- "outputs": [
1960
- {
1961
- "internalType": "uint256",
1962
- "name": "",
1963
- "type": "uint256"
1964
- }
1965
- ],
1966
- "stateMutability": "view",
1967
- "type": "function"
1968
- },
1969
- {
1970
- "inputs": [
1971
- {
1972
- "internalType": "uint256",
1973
- "name": "shares",
1974
- "type": "uint256"
1975
- }
1976
- ],
1977
- "name": "previewRedeem",
1978
- "outputs": [
1979
- {
1980
- "internalType": "uint256",
1981
- "name": "",
1982
- "type": "uint256"
1983
- }
1984
- ],
1985
- "stateMutability": "view",
1986
- "type": "function"
1987
- },
1988
- {
1989
- "inputs": [
1990
- {
1991
- "internalType": "uint256",
1992
- "name": "assets",
1993
- "type": "uint256"
1994
- }
1995
- ],
1996
- "name": "previewWithdraw",
1997
- "outputs": [
1998
- {
1999
- "internalType": "uint256",
2000
- "name": "",
2001
- "type": "uint256"
2002
- }
2003
- ],
2004
- "stateMutability": "view",
2005
- "type": "function"
2006
- },
2007
- {
2008
- "inputs": [
2009
- {
2010
- "internalType": "uint256",
2011
- "name": "shares",
2012
- "type": "uint256"
2013
- },
2014
- {
2015
- "internalType": "address",
2016
- "name": "receiver",
2017
- "type": "address"
2018
- },
2019
- {
2020
- "internalType": "address",
2021
- "name": "owner",
2022
- "type": "address"
2023
- }
2024
- ],
2025
- "name": "redeem",
2026
- "outputs": [
2027
- {
2028
- "internalType": "uint256",
2029
- "name": "",
2030
- "type": "uint256"
2031
- }
2032
- ],
2033
- "stateMutability": "nonpayable",
2034
- "type": "function"
2035
- },
2036
- {
2037
- "inputs": [
2038
- {
2039
- "internalType": "bytes32",
2040
- "name": "role",
2041
- "type": "bytes32"
2042
- },
2043
- {
2044
- "internalType": "address",
2045
- "name": "account",
2046
- "type": "address"
2047
- }
2048
- ],
2049
- "name": "renounceRole",
2050
- "outputs": [],
2051
- "stateMutability": "nonpayable",
2052
- "type": "function"
2053
- },
2054
- {
2055
- "inputs": [
2056
- {
2057
- "internalType": "bytes32",
2058
- "name": "role",
2059
- "type": "bytes32"
2060
- },
2061
- {
2062
- "internalType": "address",
2063
- "name": "account",
2064
- "type": "address"
2065
- }
2066
- ],
2067
- "name": "revokeRole",
2068
- "outputs": [],
2069
- "stateMutability": "nonpayable",
2070
- "type": "function"
2071
- },
2072
- {
2073
- "inputs": [],
2074
- "name": "rewardFee",
2075
- "outputs": [
2076
- {
2077
- "internalType": "uint256",
2078
- "name": "",
2079
- "type": "uint256"
2080
- }
2081
- ],
2082
- "stateMutability": "view",
2083
- "type": "function"
2084
- },
2085
- {
2086
- "inputs": [],
2087
- "name": "rollbackDefaultAdminDelay",
2088
- "outputs": [],
2089
- "stateMutability": "nonpayable",
2090
- "type": "function"
2091
- },
2092
- {
2093
- "inputs": [
2094
- {
2095
- "internalType": "enum Vault.AdditionalRewardsStrategy",
2096
- "name": "strategy",
2097
- "type": "uint8"
2098
- }
2099
- ],
2100
- "name": "setAdditionalRewardsStrategy",
2101
- "outputs": [],
2102
- "stateMutability": "nonpayable",
2103
- "type": "function"
2104
- },
2105
- {
2106
- "inputs": [
2107
- {
2108
- "internalType": "contract BlockList",
2109
- "name": "newBlockList",
2110
- "type": "address"
2111
- }
2112
- ],
2113
- "name": "setBlockList",
2114
- "outputs": [],
2115
- "stateMutability": "nonpayable",
2116
- "type": "function"
2117
- },
2118
- {
2119
- "inputs": [
2120
- {
2121
- "internalType": "uint256",
2122
- "name": "newDepositFee",
2123
- "type": "uint256"
2124
- }
2125
- ],
2126
- "name": "setDepositFee",
2127
- "outputs": [],
2128
- "stateMutability": "nonpayable",
2129
- "type": "function"
2130
- },
2131
- {
2132
- "inputs": [
2133
- {
2134
- "components": [
2135
- {
2136
- "internalType": "address",
2137
- "name": "recipient",
2138
- "type": "address"
2139
- },
2140
- {
2141
- "internalType": "uint256",
2142
- "name": "depositFeeSplit",
2143
- "type": "uint256"
2144
- },
2145
- {
2146
- "internalType": "uint256",
2147
- "name": "rewardFeeSplit",
2148
- "type": "uint256"
2149
- }
2150
- ],
2151
- "internalType": "struct IFeeDispatcher.FeeRecipient[]",
2152
- "name": "recipients",
2153
- "type": "tuple[]"
2154
- }
2155
- ],
2156
- "name": "setFeeRecipients",
2157
- "outputs": [],
2158
- "stateMutability": "nonpayable",
2159
- "type": "function"
2160
- },
2161
- {
2162
- "inputs": [
2163
- {
2164
- "internalType": "uint256",
2165
- "name": "newRewardFee",
2166
- "type": "uint256"
2167
- }
2168
- ],
2169
- "name": "setRewardFee",
2170
- "outputs": [],
2171
- "stateMutability": "nonpayable",
2172
- "type": "function"
2173
- },
2174
- {
2175
- "inputs": [
2176
- {
2177
- "internalType": "bytes4",
2178
- "name": "interfaceId",
2179
- "type": "bytes4"
2180
- }
2181
- ],
2182
- "name": "supportsInterface",
2183
- "outputs": [
2184
- {
2185
- "internalType": "bool",
2186
- "name": "",
2187
- "type": "bool"
2188
- }
2189
- ],
2190
- "stateMutability": "view",
2191
- "type": "function"
2192
- },
2193
- {
2194
- "inputs": [],
2195
- "name": "symbol",
2196
- "outputs": [
2197
- {
2198
- "internalType": "string",
2199
- "name": "",
2200
- "type": "string"
2201
- }
2202
- ],
2203
- "stateMutability": "view",
2204
- "type": "function"
2205
- },
2206
- {
2207
- "inputs": [],
2208
- "name": "totalAssets",
2209
- "outputs": [
2210
- {
2211
- "internalType": "uint256",
2212
- "name": "",
2213
- "type": "uint256"
2214
- }
2215
- ],
2216
- "stateMutability": "view",
2217
- "type": "function"
2218
- },
2219
- {
2220
- "inputs": [],
2221
- "name": "totalSupply",
2222
- "outputs": [
2223
- {
2224
- "internalType": "uint256",
2225
- "name": "",
2226
- "type": "uint256"
2227
- }
2228
- ],
2229
- "stateMutability": "view",
2230
- "type": "function"
2231
- },
2232
- {
2233
- "inputs": [
2234
- {
2235
- "internalType": "address",
2236
- "name": "to",
2237
- "type": "address"
2238
- },
2239
- {
2240
- "internalType": "uint256",
2241
- "name": "value",
2242
- "type": "uint256"
2243
- }
2244
- ],
2245
- "name": "transfer",
2246
- "outputs": [
2247
- {
2248
- "internalType": "bool",
2249
- "name": "",
2250
- "type": "bool"
2251
- }
2252
- ],
2253
- "stateMutability": "nonpayable",
2254
- "type": "function"
2255
- },
2256
- {
2257
- "inputs": [
2258
- {
2259
- "internalType": "address",
2260
- "name": "from",
2261
- "type": "address"
2262
- },
2263
- {
2264
- "internalType": "address",
2265
- "name": "to",
2266
- "type": "address"
2267
- },
2268
- {
2269
- "internalType": "uint256",
2270
- "name": "value",
2271
- "type": "uint256"
2272
- }
2273
- ],
2274
- "name": "transferFrom",
2275
- "outputs": [
2276
- {
2277
- "internalType": "bool",
2278
- "name": "",
2279
- "type": "bool"
2280
- }
2281
- ],
2282
- "stateMutability": "nonpayable",
2283
- "type": "function"
2284
- },
2285
- {
2286
- "inputs": [],
2287
- "name": "transferable",
2288
- "outputs": [
2289
- {
2290
- "internalType": "bool",
2291
- "name": "",
2292
- "type": "bool"
2293
- }
2294
- ],
2295
- "stateMutability": "view",
2296
- "type": "function"
2297
- },
2298
- {
2299
- "inputs": [],
2300
- "name": "unpauseDeposit",
2301
- "outputs": [],
2302
- "stateMutability": "nonpayable",
2303
- "type": "function"
2304
- },
2305
- {
2306
- "inputs": [
2307
- {
2308
- "components": [
2309
- {
2310
- "components": [
2311
- {
2312
- "internalType": "address",
2313
- "name": "recipient",
2314
- "type": "address"
2315
- },
2316
- {
2317
- "internalType": "uint256",
2318
- "name": "depositFeeSplit",
2319
- "type": "uint256"
2320
- },
2321
- {
2322
- "internalType": "uint256",
2323
- "name": "rewardFeeSplit",
2324
- "type": "uint256"
2325
- }
2326
- ],
2327
- "internalType": "struct IFeeDispatcher.FeeRecipient[]",
2328
- "name": "recipients_",
2329
- "type": "tuple[]"
2330
- },
2331
- {
2332
- "internalType": "address",
2333
- "name": "feeDispatcher_",
2334
- "type": "address"
2335
- },
2336
- {
2337
- "internalType": "enum Vault.AdditionalRewardsStrategy",
2338
- "name": "additionalRewardsStrategy_",
2339
- "type": "uint8"
2340
- },
2341
- {
2342
- "internalType": "contract BlockList",
2343
- "name": "blockList_",
2344
- "type": "address"
2345
- },
2346
- {
2347
- "internalType": "uint256",
2348
- "name": "pendingDepositFee_",
2349
- "type": "uint256"
2350
- },
2351
- {
2352
- "internalType": "uint256",
2353
- "name": "pendingRewardFee_",
2354
- "type": "uint256"
2355
- },
2356
- {
2357
- "internalType": "contract IConnectorRegistry",
2358
- "name": "connectorRegistry_",
2359
- "type": "address"
2360
- },
2361
- {
2362
- "internalType": "address",
2363
- "name": "initialFeeCollector_",
2364
- "type": "address"
2365
- }
2366
- ],
2367
- "internalType": "struct Vault.UpgradeParams",
2368
- "name": "upgradeParams",
2369
- "type": "tuple"
2370
- }
2371
- ],
2372
- "name": "upgrade",
2373
- "outputs": [],
2374
- "stateMutability": "nonpayable",
2375
- "type": "function"
2376
- },
2377
- {
2378
- "inputs": [],
2379
- "name": "vaultFactory",
2380
- "outputs": [
2381
- {
2382
- "internalType": "address",
2383
- "name": "",
2384
- "type": "address"
2385
- }
2386
- ],
2387
- "stateMutability": "view",
2388
- "type": "function"
2389
- },
2390
- {
2391
- "inputs": [
2392
- {
2393
- "internalType": "uint256",
2394
- "name": "assets",
2395
- "type": "uint256"
2396
- },
2397
- {
2398
- "internalType": "address",
2399
- "name": "receiver",
2400
- "type": "address"
2401
- },
2402
- {
2403
- "internalType": "address",
2404
- "name": "owner",
2405
- "type": "address"
2406
- }
2407
- ],
2408
- "name": "withdraw",
2409
- "outputs": [
2410
- {
2411
- "internalType": "uint256",
2412
- "name": "",
2413
- "type": "uint256"
2414
- }
2415
- ],
2416
- "stateMutability": "nonpayable",
2417
- "type": "function"
2418
- }
2419
- ];
2420
- /**
2421
- * Vault_json Contract Class
2422
- *
2423
- * Provides a class-based API similar to TypeChain for interacting with the contract.
2424
- *
2425
- * @example
2426
- * ```typescript
2427
- * import { createPublicClient, createWalletClient, http } from 'viem';
2428
- * import { mainnet } from 'viem/chains';
2429
- * import { Vault_json } from 'Vault_json';
2430
- *
2431
- * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
2432
- * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
2433
- *
2434
- * const contract = new Vault_json('0x...', { publicClient, walletClient });
2435
- *
2436
- * // Read functions
2437
- * const result = await contract.balanceOf('0x...');
2438
- *
2439
- * // Write functions
2440
- * const hash = await contract.transfer('0x...', 1000n);
2441
- *
2442
- * // Simulate transactions (dry-run)
2443
- * const simulation = await contract.simulate.transfer('0x...', 1000n);
2444
- * console.log('Gas estimate:', simulation.request.gas);
2445
- *
2446
- * // Watch events
2447
- * const unwatch = contract.watch.Transfer((event) => {
2448
- * console.log('Transfer event:', event);
2449
- * });
2450
- * ```
2451
- */
2452
- class Vault_json {
2453
- constructor(address, clients) {
2454
- this.contractAddress = address;
2455
- this.publicClient = clients.publicClient;
2456
- this.contract = (0, viem_1.getContract)({
2457
- address,
2458
- abi: exports.Vault_jsonAbi,
2459
- client: {
2460
- public: clients.publicClient,
2461
- wallet: clients.walletClient,
2462
- },
2463
- });
2464
- }
2465
- /**
2466
- * Get the contract address
2467
- */
2468
- get address() {
2469
- return this.contractAddress;
2470
- }
2471
- /**
2472
- * Get the underlying viem contract instance
2473
- */
2474
- getContract() {
2475
- return this.contract;
2476
- }
2477
- /**
2478
- * CLAIM_MANAGER_ROLE
2479
- * view
2480
- */
2481
- async CLAIM_MANAGER_ROLE() {
2482
- return this.contract.read.CLAIM_MANAGER_ROLE();
2483
- }
2484
- /**
2485
- * DEFAULT_ADMIN_ROLE
2486
- * view
2487
- */
2488
- async DEFAULT_ADMIN_ROLE() {
2489
- return this.contract.read.DEFAULT_ADMIN_ROLE();
2490
- }
2491
- /**
2492
- * FEE_COLLECTOR_ROLE
2493
- * view
2494
- */
2495
- async FEE_COLLECTOR_ROLE() {
2496
- return this.contract.read.FEE_COLLECTOR_ROLE();
2497
- }
2498
- /**
2499
- * FEE_MANAGER_ROLE
2500
- * view
2501
- */
2502
- async FEE_MANAGER_ROLE() {
2503
- return this.contract.read.FEE_MANAGER_ROLE();
2504
- }
2505
- /**
2506
- * PAUSER_ROLE
2507
- * view
2508
- */
2509
- async PAUSER_ROLE() {
2510
- return this.contract.read.PAUSER_ROLE();
2511
- }
2512
- /**
2513
- * SANCTIONS_MANAGER_ROLE
2514
- * view
2515
- */
2516
- async SANCTIONS_MANAGER_ROLE() {
2517
- return this.contract.read.SANCTIONS_MANAGER_ROLE();
2518
- }
2519
- /**
2520
- * SPENDER_ROLE
2521
- * view
2522
- */
2523
- async SPENDER_ROLE() {
2524
- return this.contract.read.SPENDER_ROLE();
2525
- }
2526
- /**
2527
- * UNPAUSER_ROLE
2528
- * view
2529
- */
2530
- async UNPAUSER_ROLE() {
2531
- return this.contract.read.UNPAUSER_ROLE();
2532
- }
2533
- /**
2534
- * additionalRewardsStrategy
2535
- * view
2536
- */
2537
- async additionalRewardsStrategy() {
2538
- return this.contract.read.additionalRewardsStrategy();
2539
- }
2540
- /**
2541
- * allowance
2542
- * view
2543
- */
2544
- async allowance(owner, spender) {
2545
- return this.contract.read.allowance([owner, spender]);
2546
- }
2547
- /**
2548
- * asset
2549
- * view
2550
- */
2551
- async asset() {
2552
- return this.contract.read.asset();
2553
- }
2554
- /**
2555
- * balanceOf
2556
- * view
2557
- */
2558
- async balanceOf(account) {
2559
- return this.contract.read.balanceOf([account]);
2560
- }
2561
- /**
2562
- * blockList
2563
- * view
2564
- */
2565
- async blockList() {
2566
- return this.contract.read.blockList();
2567
- }
2568
- /**
2569
- * collectableRewardFees
2570
- * view
2571
- */
2572
- async collectableRewardFees() {
2573
- return this.contract.read.collectableRewardFees();
2574
- }
2575
- /**
2576
- * connectorName
2577
- * view
2578
- */
2579
- async connectorName() {
2580
- return this.contract.read.connectorName();
2581
- }
2582
- /**
2583
- * connectorRegistry
2584
- * view
2585
- */
2586
- async connectorRegistry() {
2587
- return this.contract.read.connectorRegistry();
2588
- }
2589
- /**
2590
- * convertToAssets
2591
- * view
2592
- */
2593
- async convertToAssets(shares) {
2594
- return this.contract.read.convertToAssets([shares]);
2595
- }
2596
- /**
2597
- * convertToShares
2598
- * view
2599
- */
2600
- async convertToShares(assets) {
2601
- return this.contract.read.convertToShares([assets]);
2602
- }
2603
- /**
2604
- * decimals
2605
- * view
2606
- */
2607
- async decimals() {
2608
- return this.contract.read.decimals();
2609
- }
2610
- /**
2611
- * defaultAdmin
2612
- * view
2613
- */
2614
- async defaultAdmin() {
2615
- return this.contract.read.defaultAdmin();
2616
- }
2617
- /**
2618
- * defaultAdminDelay
2619
- * view
2620
- */
2621
- async defaultAdminDelay() {
2622
- return this.contract.read.defaultAdminDelay();
2623
- }
2624
- /**
2625
- * defaultAdminDelayIncreaseWait
2626
- * view
2627
- */
2628
- async defaultAdminDelayIncreaseWait() {
2629
- return this.contract.read.defaultAdminDelayIncreaseWait();
2630
- }
2631
- /**
2632
- * depositFee
2633
- * view
2634
- */
2635
- async depositFee() {
2636
- return this.contract.read.depositFee();
2637
- }
2638
- /**
2639
- * feeRecipient
2640
- * view
2641
- */
2642
- async feeRecipient(recipient) {
2643
- return this.contract.read.feeRecipient([recipient]);
2644
- }
2645
- /**
2646
- * feeRecipientAt
2647
- * view
2648
- */
2649
- async feeRecipientAt(index) {
2650
- return this.contract.read.feeRecipientAt([index]);
2651
- }
2652
- /**
2653
- * feeRecipients
2654
- * view
2655
- */
2656
- async feeRecipients() {
2657
- return this.contract.read.feeRecipients();
2658
- }
2659
- /**
2660
- * getRoleAdmin
2661
- * view
2662
- */
2663
- async getRoleAdmin(role) {
2664
- return this.contract.read.getRoleAdmin([role]);
2665
- }
2666
- /**
2667
- * hasRole
2668
- * view
2669
- */
2670
- async hasRole(role, account) {
2671
- return this.contract.read.hasRole([role, account]);
2672
- }
2673
- /**
2674
- * maxDeposit
2675
- * view
2676
- */
2677
- async maxDeposit(arg0) {
2678
- return this.contract.read.maxDeposit([arg0]);
2679
- }
2680
- /**
2681
- * maxMint
2682
- * view
2683
- */
2684
- async maxMint(arg0) {
2685
- return this.contract.read.maxMint([arg0]);
2686
- }
2687
- /**
2688
- * maxRedeem
2689
- * view
2690
- */
2691
- async maxRedeem(owner) {
2692
- return this.contract.read.maxRedeem([owner]);
2693
- }
2694
- /**
2695
- * maxWithdraw
2696
- * view
2697
- */
2698
- async maxWithdraw(owner) {
2699
- return this.contract.read.maxWithdraw([owner]);
2700
- }
2701
- /**
2702
- * name
2703
- * view
2704
- */
2705
- async name() {
2706
- return this.contract.read.name();
2707
- }
2708
- /**
2709
- * owner
2710
- * view
2711
- */
2712
- async owner() {
2713
- return this.contract.read.owner();
2714
- }
2715
- /**
2716
- * pendingDefaultAdmin
2717
- * view
2718
- */
2719
- async pendingDefaultAdmin() {
2720
- return this.contract.read.pendingDefaultAdmin();
2721
- }
2722
- /**
2723
- * pendingDefaultAdminDelay
2724
- * view
2725
- */
2726
- async pendingDefaultAdminDelay() {
2727
- return this.contract.read.pendingDefaultAdminDelay();
2728
- }
2729
- /**
2730
- * pendingDepositFee
2731
- * view
2732
- */
2733
- async pendingDepositFee() {
2734
- return this.contract.read.pendingDepositFee();
2735
- }
2736
- /**
2737
- * pendingRewardFee
2738
- * view
2739
- */
2740
- async pendingRewardFee() {
2741
- return this.contract.read.pendingRewardFee();
2742
- }
2743
- /**
2744
- * previewDeposit
2745
- * view
2746
- */
2747
- async previewDeposit(assets) {
2748
- return this.contract.read.previewDeposit([assets]);
2749
- }
2750
- /**
2751
- * previewMint
2752
- * view
2753
- */
2754
- async previewMint(shares) {
2755
- return this.contract.read.previewMint([shares]);
2756
- }
2757
- /**
2758
- * previewRedeem
2759
- * view
2760
- */
2761
- async previewRedeem(shares) {
2762
- return this.contract.read.previewRedeem([shares]);
2763
- }
2764
- /**
2765
- * previewWithdraw
2766
- * view
2767
- */
2768
- async previewWithdraw(assets) {
2769
- return this.contract.read.previewWithdraw([assets]);
2770
- }
2771
- /**
2772
- * rewardFee
2773
- * view
2774
- */
2775
- async rewardFee() {
2776
- return this.contract.read.rewardFee();
2777
- }
2778
- /**
2779
- * supportsInterface
2780
- * view
2781
- */
2782
- async supportsInterface(interfaceId) {
2783
- return this.contract.read.supportsInterface([interfaceId]);
2784
- }
2785
- /**
2786
- * symbol
2787
- * view
2788
- */
2789
- async symbol() {
2790
- return this.contract.read.symbol();
2791
- }
2792
- /**
2793
- * totalAssets
2794
- * view
2795
- */
2796
- async totalAssets() {
2797
- return this.contract.read.totalAssets();
2798
- }
2799
- /**
2800
- * totalSupply
2801
- * view
2802
- */
2803
- async totalSupply() {
2804
- return this.contract.read.totalSupply();
2805
- }
2806
- /**
2807
- * transferable
2808
- * view
2809
- */
2810
- async transferable() {
2811
- return this.contract.read.transferable();
2812
- }
2813
- /**
2814
- * vaultFactory
2815
- * view
2816
- */
2817
- async vaultFactory() {
2818
- return this.contract.read.vaultFactory();
2819
- }
2820
- /**
2821
- * acceptDefaultAdminTransfer
2822
- * nonpayable
2823
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2824
- */
2825
- async acceptDefaultAdminTransfer(options) {
2826
- if (!this.contract.write) {
2827
- throw new Error('Wallet client is required for write operations');
2828
- }
2829
- return this.contract.write.acceptDefaultAdminTransfer(options);
2830
- }
2831
- /**
2832
- * approve
2833
- * nonpayable
2834
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2835
- */
2836
- async approve(spender, value, options) {
2837
- if (!this.contract.write) {
2838
- throw new Error('Wallet client is required for write operations');
2839
- }
2840
- return this.contract.write.approve([spender, value], options);
2841
- }
2842
- /**
2843
- * beginDefaultAdminTransfer
2844
- * nonpayable
2845
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2846
- */
2847
- async beginDefaultAdminTransfer(newAdmin, options) {
2848
- if (!this.contract.write) {
2849
- throw new Error('Wallet client is required for write operations');
2850
- }
2851
- return this.contract.write.beginDefaultAdminTransfer([newAdmin], options);
2852
- }
2853
- /**
2854
- * cancelDefaultAdminTransfer
2855
- * nonpayable
2856
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2857
- */
2858
- async cancelDefaultAdminTransfer(options) {
2859
- if (!this.contract.write) {
2860
- throw new Error('Wallet client is required for write operations');
2861
- }
2862
- return this.contract.write.cancelDefaultAdminTransfer(options);
2863
- }
2864
- /**
2865
- * changeDefaultAdminDelay
2866
- * nonpayable
2867
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2868
- */
2869
- async changeDefaultAdminDelay(newDelay, options) {
2870
- if (!this.contract.write) {
2871
- throw new Error('Wallet client is required for write operations');
2872
- }
2873
- return this.contract.write.changeDefaultAdminDelay([newDelay], options);
2874
- }
2875
- /**
2876
- * claimAdditionalRewards
2877
- * nonpayable
2878
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2879
- */
2880
- async claimAdditionalRewards(rewardsAsset, payload, options) {
2881
- if (!this.contract.write) {
2882
- throw new Error('Wallet client is required for write operations');
2883
- }
2884
- return this.contract.write.claimAdditionalRewards([rewardsAsset, payload], options);
2885
- }
2886
- /**
2887
- * collectRewardFees
2888
- * nonpayable
2889
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2890
- */
2891
- async collectRewardFees(options) {
2892
- if (!this.contract.write) {
2893
- throw new Error('Wallet client is required for write operations');
2894
- }
2895
- return this.contract.write.collectRewardFees(options);
2896
- }
2897
- /**
2898
- * delegateToFactory
2899
- * nonpayable
2900
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2901
- */
2902
- async delegateToFactory(data, options) {
2903
- if (!this.contract.write) {
2904
- throw new Error('Wallet client is required for write operations');
2905
- }
2906
- return this.contract.write.delegateToFactory([data], options);
2907
- }
2908
- /**
2909
- * deposit
2910
- * nonpayable
2911
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2912
- */
2913
- async deposit(assets, receiver, options) {
2914
- if (!this.contract.write) {
2915
- throw new Error('Wallet client is required for write operations');
2916
- }
2917
- return this.contract.write.deposit([assets, receiver], options);
2918
- }
2919
- /**
2920
- * dispatchFees
2921
- * nonpayable
2922
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2923
- */
2924
- async dispatchFees(options) {
2925
- if (!this.contract.write) {
2926
- throw new Error('Wallet client is required for write operations');
2927
- }
2928
- return this.contract.write.dispatchFees(options);
2929
- }
2930
- /**
2931
- * forceWithdraw
2932
- * nonpayable
2933
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2934
- */
2935
- async forceWithdraw(blockedUser, options) {
2936
- if (!this.contract.write) {
2937
- throw new Error('Wallet client is required for write operations');
2938
- }
2939
- return this.contract.write.forceWithdraw([blockedUser], options);
2940
- }
2941
- /**
2942
- * grantRole
2943
- * nonpayable
2944
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2945
- */
2946
- async grantRole(role, account, options) {
2947
- if (!this.contract.write) {
2948
- throw new Error('Wallet client is required for write operations');
2949
- }
2950
- return this.contract.write.grantRole([role, account], options);
2951
- }
2952
- /**
2953
- * initialize
2954
- * nonpayable
2955
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2956
- */
2957
- async initialize(initializationParams, upgradeParams, options) {
2958
- if (!this.contract.write) {
2959
- throw new Error('Wallet client is required for write operations');
2960
- }
2961
- return this.contract.write.initialize([initializationParams, upgradeParams], options);
2962
- }
2963
- /**
2964
- * mint
2965
- * nonpayable
2966
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2967
- */
2968
- async mint(shares, receiver, options) {
2969
- if (!this.contract.write) {
2970
- throw new Error('Wallet client is required for write operations');
2971
- }
2972
- return this.contract.write.mint([shares, receiver], options);
2973
- }
2974
- /**
2975
- * pauseDeposit
2976
- * nonpayable
2977
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2978
- */
2979
- async pauseDeposit(options) {
2980
- if (!this.contract.write) {
2981
- throw new Error('Wallet client is required for write operations');
2982
- }
2983
- return this.contract.write.pauseDeposit(options);
2984
- }
2985
- /**
2986
- * redeem
2987
- * nonpayable
2988
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2989
- */
2990
- async redeem(shares, receiver, owner, options) {
2991
- if (!this.contract.write) {
2992
- throw new Error('Wallet client is required for write operations');
2993
- }
2994
- return this.contract.write.redeem([shares, receiver, owner], options);
2995
- }
2996
- /**
2997
- * renounceRole
2998
- * nonpayable
2999
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3000
- */
3001
- async renounceRole(role, account, options) {
3002
- if (!this.contract.write) {
3003
- throw new Error('Wallet client is required for write operations');
3004
- }
3005
- return this.contract.write.renounceRole([role, account], options);
3006
- }
3007
- /**
3008
- * revokeRole
3009
- * nonpayable
3010
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3011
- */
3012
- async revokeRole(role, account, options) {
3013
- if (!this.contract.write) {
3014
- throw new Error('Wallet client is required for write operations');
3015
- }
3016
- return this.contract.write.revokeRole([role, account], options);
3017
- }
3018
- /**
3019
- * rollbackDefaultAdminDelay
3020
- * nonpayable
3021
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3022
- */
3023
- async rollbackDefaultAdminDelay(options) {
3024
- if (!this.contract.write) {
3025
- throw new Error('Wallet client is required for write operations');
3026
- }
3027
- return this.contract.write.rollbackDefaultAdminDelay(options);
3028
- }
3029
- /**
3030
- * setAdditionalRewardsStrategy
3031
- * nonpayable
3032
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3033
- */
3034
- async setAdditionalRewardsStrategy(strategy, options) {
3035
- if (!this.contract.write) {
3036
- throw new Error('Wallet client is required for write operations');
3037
- }
3038
- return this.contract.write.setAdditionalRewardsStrategy([strategy], options);
3039
- }
3040
- /**
3041
- * setBlockList
3042
- * nonpayable
3043
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3044
- */
3045
- async setBlockList(newBlockList, options) {
3046
- if (!this.contract.write) {
3047
- throw new Error('Wallet client is required for write operations');
3048
- }
3049
- return this.contract.write.setBlockList([newBlockList], options);
3050
- }
3051
- /**
3052
- * setDepositFee
3053
- * nonpayable
3054
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3055
- */
3056
- async setDepositFee(newDepositFee, options) {
3057
- if (!this.contract.write) {
3058
- throw new Error('Wallet client is required for write operations');
3059
- }
3060
- return this.contract.write.setDepositFee([newDepositFee], options);
3061
- }
3062
- /**
3063
- * setFeeRecipients
3064
- * nonpayable
3065
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3066
- */
3067
- async setFeeRecipients(recipients, options) {
3068
- if (!this.contract.write) {
3069
- throw new Error('Wallet client is required for write operations');
3070
- }
3071
- return this.contract.write.setFeeRecipients([recipients], options);
3072
- }
3073
- /**
3074
- * setRewardFee
3075
- * nonpayable
3076
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3077
- */
3078
- async setRewardFee(newRewardFee, options) {
3079
- if (!this.contract.write) {
3080
- throw new Error('Wallet client is required for write operations');
3081
- }
3082
- return this.contract.write.setRewardFee([newRewardFee], options);
3083
- }
3084
- /**
3085
- * transfer
3086
- * nonpayable
3087
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3088
- */
3089
- async transfer(to, value, options) {
3090
- if (!this.contract.write) {
3091
- throw new Error('Wallet client is required for write operations');
3092
- }
3093
- return this.contract.write.transfer([to, value], options);
3094
- }
3095
- /**
3096
- * transferFrom
3097
- * nonpayable
3098
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3099
- */
3100
- async transferFrom(from, to, value, options) {
3101
- if (!this.contract.write) {
3102
- throw new Error('Wallet client is required for write operations');
3103
- }
3104
- return this.contract.write.transferFrom([from, to, value], options);
3105
- }
3106
- /**
3107
- * unpauseDeposit
3108
- * nonpayable
3109
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3110
- */
3111
- async unpauseDeposit(options) {
3112
- if (!this.contract.write) {
3113
- throw new Error('Wallet client is required for write operations');
3114
- }
3115
- return this.contract.write.unpauseDeposit(options);
3116
- }
3117
- /**
3118
- * upgrade
3119
- * nonpayable
3120
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3121
- */
3122
- async upgrade(upgradeParams, options) {
3123
- if (!this.contract.write) {
3124
- throw new Error('Wallet client is required for write operations');
3125
- }
3126
- return this.contract.write.upgrade([upgradeParams], options);
3127
- }
3128
- /**
3129
- * withdraw
3130
- * nonpayable
3131
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3132
- */
3133
- async withdraw(assets, receiver, owner, options) {
3134
- if (!this.contract.write) {
3135
- throw new Error('Wallet client is required for write operations');
3136
- }
3137
- return this.contract.write.withdraw([assets, receiver, owner], options);
3138
531
  }
3139
- /**
3140
- * Simulate contract write operations (dry-run without sending transaction)
3141
- *
3142
- * @example
3143
- * const result = await contract.simulate.transfer('0x...', 1000n);
3144
- * console.log('Gas estimate:', result.request.gas);
3145
- * console.log('Would succeed:', result.result);
3146
- */
3147
- get simulate() {
3148
- const contract = this.contract;
3149
- if (!contract.simulate) {
3150
- throw new Error('Public client is required for simulation');
3151
- }
3152
- return {
3153
- /**
3154
- * Simulate acceptDefaultAdminTransfer
3155
- * Returns gas estimate and result without sending transaction
3156
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3157
- */
3158
- async acceptDefaultAdminTransfer(options) {
3159
- return contract.simulate.acceptDefaultAdminTransfer(options);
3160
- },
3161
- /**
3162
- * Simulate approve
3163
- * Returns gas estimate and result without sending transaction
3164
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3165
- */
3166
- async approve(spender, value, options) {
3167
- return contract.simulate.approve([spender, value], options);
3168
- },
3169
- /**
3170
- * Simulate beginDefaultAdminTransfer
3171
- * Returns gas estimate and result without sending transaction
3172
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3173
- */
3174
- async beginDefaultAdminTransfer(newAdmin, options) {
3175
- return contract.simulate.beginDefaultAdminTransfer([newAdmin], options);
3176
- },
3177
- /**
3178
- * Simulate cancelDefaultAdminTransfer
3179
- * Returns gas estimate and result without sending transaction
3180
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3181
- */
3182
- async cancelDefaultAdminTransfer(options) {
3183
- return contract.simulate.cancelDefaultAdminTransfer(options);
3184
- },
3185
- /**
3186
- * Simulate changeDefaultAdminDelay
3187
- * Returns gas estimate and result without sending transaction
3188
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3189
- */
3190
- async changeDefaultAdminDelay(newDelay, options) {
3191
- return contract.simulate.changeDefaultAdminDelay([newDelay], options);
3192
- },
3193
- /**
3194
- * Simulate claimAdditionalRewards
3195
- * Returns gas estimate and result without sending transaction
3196
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3197
- */
3198
- async claimAdditionalRewards(rewardsAsset, payload, options) {
3199
- return contract.simulate.claimAdditionalRewards([rewardsAsset, payload], options);
3200
- },
3201
- /**
3202
- * Simulate collectRewardFees
3203
- * Returns gas estimate and result without sending transaction
3204
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3205
- */
3206
- async collectRewardFees(options) {
3207
- return contract.simulate.collectRewardFees(options);
3208
- },
3209
- /**
3210
- * Simulate delegateToFactory
3211
- * Returns gas estimate and result without sending transaction
3212
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3213
- */
3214
- async delegateToFactory(data, options) {
3215
- return contract.simulate.delegateToFactory([data], options);
3216
- },
3217
- /**
3218
- * Simulate deposit
3219
- * Returns gas estimate and result without sending transaction
3220
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3221
- */
3222
- async deposit(assets, receiver, options) {
3223
- return contract.simulate.deposit([assets, receiver], options);
3224
- },
3225
- /**
3226
- * Simulate dispatchFees
3227
- * Returns gas estimate and result without sending transaction
3228
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3229
- */
3230
- async dispatchFees(options) {
3231
- return contract.simulate.dispatchFees(options);
3232
- },
3233
- /**
3234
- * Simulate forceWithdraw
3235
- * Returns gas estimate and result without sending transaction
3236
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3237
- */
3238
- async forceWithdraw(blockedUser, options) {
3239
- return contract.simulate.forceWithdraw([blockedUser], options);
3240
- },
3241
- /**
3242
- * Simulate grantRole
3243
- * Returns gas estimate and result without sending transaction
3244
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3245
- */
3246
- async grantRole(role, account, options) {
3247
- return contract.simulate.grantRole([role, account], options);
3248
- },
3249
- /**
3250
- * Simulate initialize
3251
- * Returns gas estimate and result without sending transaction
3252
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3253
- */
3254
- async initialize(initializationParams, upgradeParams, options) {
3255
- return contract.simulate.initialize([initializationParams, upgradeParams], options);
3256
- },
3257
- /**
3258
- * Simulate mint
3259
- * Returns gas estimate and result without sending transaction
3260
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3261
- */
3262
- async mint(shares, receiver, options) {
3263
- return contract.simulate.mint([shares, receiver], options);
3264
- },
3265
- /**
3266
- * Simulate pauseDeposit
3267
- * Returns gas estimate and result without sending transaction
3268
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3269
- */
3270
- async pauseDeposit(options) {
3271
- return contract.simulate.pauseDeposit(options);
3272
- },
3273
- /**
3274
- * Simulate redeem
3275
- * Returns gas estimate and result without sending transaction
3276
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3277
- */
3278
- async redeem(shares, receiver, owner, options) {
3279
- return contract.simulate.redeem([shares, receiver, owner], options);
3280
- },
3281
- /**
3282
- * Simulate renounceRole
3283
- * Returns gas estimate and result without sending transaction
3284
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3285
- */
3286
- async renounceRole(role, account, options) {
3287
- return contract.simulate.renounceRole([role, account], options);
3288
- },
3289
- /**
3290
- * Simulate revokeRole
3291
- * Returns gas estimate and result without sending transaction
3292
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3293
- */
3294
- async revokeRole(role, account, options) {
3295
- return contract.simulate.revokeRole([role, account], options);
3296
- },
3297
- /**
3298
- * Simulate rollbackDefaultAdminDelay
3299
- * Returns gas estimate and result without sending transaction
3300
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3301
- */
3302
- async rollbackDefaultAdminDelay(options) {
3303
- return contract.simulate.rollbackDefaultAdminDelay(options);
3304
- },
3305
- /**
3306
- * Simulate setAdditionalRewardsStrategy
3307
- * Returns gas estimate and result without sending transaction
3308
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3309
- */
3310
- async setAdditionalRewardsStrategy(strategy, options) {
3311
- return contract.simulate.setAdditionalRewardsStrategy([strategy], options);
3312
- },
3313
- /**
3314
- * Simulate setBlockList
3315
- * Returns gas estimate and result without sending transaction
3316
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3317
- */
3318
- async setBlockList(newBlockList, options) {
3319
- return contract.simulate.setBlockList([newBlockList], options);
3320
- },
3321
- /**
3322
- * Simulate setDepositFee
3323
- * Returns gas estimate and result without sending transaction
3324
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3325
- */
3326
- async setDepositFee(newDepositFee, options) {
3327
- return contract.simulate.setDepositFee([newDepositFee], options);
3328
- },
3329
- /**
3330
- * Simulate setFeeRecipients
3331
- * Returns gas estimate and result without sending transaction
3332
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3333
- */
3334
- async setFeeRecipients(recipients, options) {
3335
- return contract.simulate.setFeeRecipients([recipients], options);
3336
- },
3337
- /**
3338
- * Simulate setRewardFee
3339
- * Returns gas estimate and result without sending transaction
3340
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3341
- */
3342
- async setRewardFee(newRewardFee, options) {
3343
- return contract.simulate.setRewardFee([newRewardFee], options);
3344
- },
3345
- /**
3346
- * Simulate transfer
3347
- * Returns gas estimate and result without sending transaction
3348
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3349
- */
3350
- async transfer(to, value, options) {
3351
- return contract.simulate.transfer([to, value], options);
3352
- },
3353
- /**
3354
- * Simulate transferFrom
3355
- * Returns gas estimate and result without sending transaction
3356
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3357
- */
3358
- async transferFrom(from, to, value, options) {
3359
- return contract.simulate.transferFrom([from, to, value], options);
3360
- },
3361
- /**
3362
- * Simulate unpauseDeposit
3363
- * Returns gas estimate and result without sending transaction
3364
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3365
- */
3366
- async unpauseDeposit(options) {
3367
- return contract.simulate.unpauseDeposit(options);
3368
- },
3369
- /**
3370
- * Simulate upgrade
3371
- * Returns gas estimate and result without sending transaction
3372
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3373
- */
3374
- async upgrade(upgradeParams, options) {
3375
- return contract.simulate.upgrade([upgradeParams], options);
532
+ ];
533
+ /**
534
+ * Vault_json Contract Class
535
+ *
536
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
537
+ *
538
+ * @example
539
+ * ```typescript
540
+ * import { createPublicClient, createWalletClient, http } from 'viem';
541
+ * import { mainnet } from 'viem/chains';
542
+ * import { Vault_json } from 'Vault_json';
543
+ *
544
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
545
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
546
+ *
547
+ * const contract = new Vault_json('0x...', { publicClient, walletClient });
548
+ *
549
+ * // Read functions
550
+ * const result = await contract.balanceOf('0x...');
551
+ *
552
+ * // Write functions
553
+ * const hash = await contract.transfer('0x...', 1000n);
554
+ *
555
+ * // Simulate transactions (dry-run)
556
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
557
+ * console.log('Gas estimate:', simulation.request.gas);
558
+ *
559
+ * // Watch events
560
+ * const unwatch = contract.watch.Transfer((event) => {
561
+ * console.log('Transfer event:', event);
562
+ * });
563
+ * ```
564
+ */
565
+ class Vault_json {
566
+ constructor(address, clients) {
567
+ this.contractAddress = address;
568
+ this.publicClient = clients.publicClient;
569
+ this.contract = (0, viem_1.getContract)({
570
+ address,
571
+ abi: exports.Vault_jsonAbi,
572
+ client: {
573
+ public: clients.publicClient,
574
+ wallet: clients.walletClient,
3376
575
  },
3377
- /**
3378
- * Simulate withdraw
3379
- * Returns gas estimate and result without sending transaction
3380
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
3381
- */
3382
- async withdraw(assets, receiver, owner, options) {
3383
- return contract.simulate.withdraw([assets, receiver, owner], options);
3384
- }
3385
- };
576
+ });
3386
577
  }
3387
578
  /**
3388
- * Watch contract events
3389
- *
3390
- * @example
3391
- * // Watch all Transfer events
3392
- * const unwatch = contract.watch.Transfer((event) => {
3393
- * console.log('Transfer:', event);
3394
- * });
3395
- *
3396
- * // Stop watching
3397
- * unwatch();
579
+ * Get the contract address
3398
580
  */
3399
- get watch() {
3400
- return {
3401
- /**
3402
- * Watch AdditionalRewardsStrategyUpdated events
3403
- * @param callback Function to call when event is emitted
3404
- * @param filter Optional filter for indexed parameters
3405
- * @returns Unwatch function to stop listening
3406
- */
3407
- AdditionalRewardsStrategyUpdated: (callback) => {
3408
- return this.publicClient.watchContractEvent({
3409
- address: this.contractAddress,
3410
- abi: exports.Vault_jsonAbi,
3411
- eventName: 'AdditionalRewardsStrategyUpdated',
3412
- onLogs: (logs) => {
3413
- logs.forEach((log) => {
3414
- callback(log.args);
3415
- });
3416
- },
3417
- });
3418
- },
3419
- /**
3420
- * Watch Approval events
3421
- * @param callback Function to call when event is emitted
3422
- * @param filter Optional filter for indexed parameters
3423
- * @returns Unwatch function to stop listening
3424
- */
3425
- Approval: (callback, filter) => {
3426
- return this.publicClient.watchContractEvent({
3427
- address: this.contractAddress,
3428
- abi: exports.Vault_jsonAbi,
3429
- eventName: 'Approval',
3430
- args: filter,
3431
- onLogs: (logs) => {
3432
- logs.forEach((log) => {
3433
- callback(log.args);
3434
- });
3435
- },
3436
- });
3437
- },
3438
- /**
3439
- * Watch AssetInitialized events
3440
- * @param callback Function to call when event is emitted
3441
- * @param filter Optional filter for indexed parameters
3442
- * @returns Unwatch function to stop listening
3443
- */
3444
- AssetInitialized: (callback) => {
3445
- return this.publicClient.watchContractEvent({
3446
- address: this.contractAddress,
3447
- abi: exports.Vault_jsonAbi,
3448
- eventName: 'AssetInitialized',
3449
- onLogs: (logs) => {
3450
- logs.forEach((log) => {
3451
- callback(log.args);
3452
- });
3453
- },
3454
- });
3455
- },
3456
- /**
3457
- * Watch BlockListUpdated events
3458
- * @param callback Function to call when event is emitted
3459
- * @param filter Optional filter for indexed parameters
3460
- * @returns Unwatch function to stop listening
3461
- */
3462
- BlockListUpdated: (callback) => {
3463
- return this.publicClient.watchContractEvent({
3464
- address: this.contractAddress,
3465
- abi: exports.Vault_jsonAbi,
3466
- eventName: 'BlockListUpdated',
3467
- onLogs: (logs) => {
3468
- logs.forEach((log) => {
3469
- callback(log.args);
3470
- });
3471
- },
3472
- });
3473
- },
3474
- /**
3475
- * Watch ConnectorNameUpdated events
3476
- * @param callback Function to call when event is emitted
3477
- * @param filter Optional filter for indexed parameters
3478
- * @returns Unwatch function to stop listening
3479
- */
3480
- ConnectorNameUpdated: (callback) => {
3481
- return this.publicClient.watchContractEvent({
3482
- address: this.contractAddress,
3483
- abi: exports.Vault_jsonAbi,
3484
- eventName: 'ConnectorNameUpdated',
3485
- onLogs: (logs) => {
3486
- logs.forEach((log) => {
3487
- callback(log.args);
3488
- });
3489
- },
3490
- });
3491
- },
3492
- /**
3493
- * Watch ConnectorRegistryUpdated events
3494
- * @param callback Function to call when event is emitted
3495
- * @param filter Optional filter for indexed parameters
3496
- * @returns Unwatch function to stop listening
3497
- */
3498
- ConnectorRegistryUpdated: (callback) => {
3499
- return this.publicClient.watchContractEvent({
3500
- address: this.contractAddress,
3501
- abi: exports.Vault_jsonAbi,
3502
- eventName: 'ConnectorRegistryUpdated',
3503
- onLogs: (logs) => {
3504
- logs.forEach((log) => {
3505
- callback(log.args);
3506
- });
3507
- },
3508
- });
3509
- },
581
+ get address() {
582
+ return this.contractAddress;
583
+ }
584
+ /**
585
+ * Get the underlying viem contract instance
586
+ */
587
+ getContract() {
588
+ return this.contract;
589
+ }
590
+ /**
591
+ * RATE_PROVIDER_REGISTRY
592
+ * view
593
+ */
594
+ async RATE_PROVIDER_REGISTRY() {
595
+ return this.contract.read.RATE_PROVIDER_REGISTRY();
596
+ }
597
+ /**
598
+ * getAllowableAssetCount
599
+ * view
600
+ */
601
+ async getAllowableAssetCount() {
602
+ return this.contract.read.getAllowableAssetCount();
603
+ }
604
+ /**
605
+ * getAllowableAssets
606
+ * view
607
+ */
608
+ async getAllowableAssets() {
609
+ return this.contract.read.getAllowableAssets();
610
+ }
611
+ /**
612
+ * getTAsset
613
+ * view
614
+ */
615
+ async getTAsset() {
616
+ return this.contract.read.getTAsset();
617
+ }
618
+ /**
619
+ * getUnderlying
620
+ * view
621
+ */
622
+ async getUnderlying() {
623
+ return this.contract.read.getUnderlying();
624
+ }
625
+ /**
626
+ * isAllowableAsset
627
+ * view
628
+ */
629
+ async isAllowableAsset(_asset) {
630
+ return this.contract.read.isAllowableAsset([_asset]);
631
+ }
632
+ /**
633
+ * owner
634
+ * view
635
+ */
636
+ async owner() {
637
+ return this.contract.read.owner();
638
+ }
639
+ /**
640
+ * pendingOwner
641
+ * view
642
+ */
643
+ async pendingOwner() {
644
+ return this.contract.read.pendingOwner();
645
+ }
646
+ /**
647
+ * redemption
648
+ * view
649
+ */
650
+ async redemption() {
651
+ return this.contract.read.redemption();
652
+ }
653
+ /**
654
+ * rescuer
655
+ * view
656
+ */
657
+ async rescuer() {
658
+ return this.contract.read.rescuer();
659
+ }
660
+ /**
661
+ * strategyStorage
662
+ * view
663
+ */
664
+ async strategyStorage() {
665
+ return this.contract.read.strategyStorage();
666
+ }
667
+ /**
668
+ * acceptOwnership
669
+ * nonpayable
670
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
671
+ */
672
+ async acceptOwnership(options) {
673
+ if (!this.contract.write) {
674
+ throw new Error('Wallet client is required for write operations');
675
+ }
676
+ return this.contract.write.acceptOwnership(options);
677
+ }
678
+ /**
679
+ * addAllowableAsset
680
+ * nonpayable
681
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
682
+ */
683
+ async addAllowableAsset(_asset, options) {
684
+ if (!this.contract.write) {
685
+ throw new Error('Wallet client is required for write operations');
686
+ }
687
+ return this.contract.write.addAllowableAsset([_asset], options);
688
+ }
689
+ /**
690
+ * removeAllowableAsset
691
+ * nonpayable
692
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
693
+ */
694
+ async removeAllowableAsset(_asset, options) {
695
+ if (!this.contract.write) {
696
+ throw new Error('Wallet client is required for write operations');
697
+ }
698
+ return this.contract.write.removeAllowableAsset([_asset], options);
699
+ }
700
+ /**
701
+ * renounceOwnership
702
+ * nonpayable
703
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
704
+ */
705
+ async renounceOwnership(options) {
706
+ if (!this.contract.write) {
707
+ throw new Error('Wallet client is required for write operations');
708
+ }
709
+ return this.contract.write.renounceOwnership(options);
710
+ }
711
+ /**
712
+ * rescueERC20
713
+ * nonpayable
714
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
715
+ */
716
+ async rescueERC20(tokenContract, to, amount, options) {
717
+ if (!this.contract.write) {
718
+ throw new Error('Wallet client is required for write operations');
719
+ }
720
+ return this.contract.write.rescueERC20([tokenContract, to, amount], options);
721
+ }
722
+ /**
723
+ * rescueETH
724
+ * nonpayable
725
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
726
+ */
727
+ async rescueETH(to, options) {
728
+ if (!this.contract.write) {
729
+ throw new Error('Wallet client is required for write operations');
730
+ }
731
+ return this.contract.write.rescueETH([to], options);
732
+ }
733
+ /**
734
+ * setRedemption
735
+ * nonpayable
736
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
737
+ */
738
+ async setRedemption(_newRedemption, options) {
739
+ if (!this.contract.write) {
740
+ throw new Error('Wallet client is required for write operations');
741
+ }
742
+ return this.contract.write.setRedemption([_newRedemption], options);
743
+ }
744
+ /**
745
+ * setStrategyStorage
746
+ * nonpayable
747
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
748
+ */
749
+ async setStrategyStorage(_newStrategyStorage, options) {
750
+ if (!this.contract.write) {
751
+ throw new Error('Wallet client is required for write operations');
752
+ }
753
+ return this.contract.write.setStrategyStorage([_newStrategyStorage], options);
754
+ }
755
+ /**
756
+ * transferOwnership
757
+ * nonpayable
758
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
759
+ */
760
+ async transferOwnership(newOwner, options) {
761
+ if (!this.contract.write) {
762
+ throw new Error('Wallet client is required for write operations');
763
+ }
764
+ return this.contract.write.transferOwnership([newOwner], options);
765
+ }
766
+ /**
767
+ * updateRescuer
768
+ * nonpayable
769
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
770
+ */
771
+ async updateRescuer(newRescuer, options) {
772
+ if (!this.contract.write) {
773
+ throw new Error('Wallet client is required for write operations');
774
+ }
775
+ return this.contract.write.updateRescuer([newRescuer], options);
776
+ }
777
+ /**
778
+ * withdraw
779
+ * nonpayable
780
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
781
+ */
782
+ async withdraw(_asset, _amount, options) {
783
+ if (!this.contract.write) {
784
+ throw new Error('Wallet client is required for write operations');
785
+ }
786
+ return this.contract.write.withdraw([_asset, _amount], options);
787
+ }
788
+ /**
789
+ * Simulate contract write operations (dry-run without sending transaction)
790
+ *
791
+ * @example
792
+ * const result = await contract.simulate.transfer('0x...', 1000n);
793
+ * console.log('Gas estimate:', result.request.gas);
794
+ * console.log('Would succeed:', result.result);
795
+ */
796
+ get simulate() {
797
+ const contract = this.contract;
798
+ if (!contract.simulate) {
799
+ throw new Error('Public client is required for simulation');
800
+ }
801
+ return {
3510
802
  /**
3511
- * Watch DefaultAdminDelayChangeCanceled events
3512
- * @param callback Function to call when event is emitted
3513
- * @param filter Optional filter for indexed parameters
3514
- * @returns Unwatch function to stop listening
803
+ * Simulate acceptOwnership
804
+ * Returns gas estimate and result without sending transaction
805
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3515
806
  */
3516
- DefaultAdminDelayChangeCanceled: (callback) => {
3517
- return this.publicClient.watchContractEvent({
3518
- address: this.contractAddress,
3519
- abi: exports.Vault_jsonAbi,
3520
- eventName: 'DefaultAdminDelayChangeCanceled',
3521
- onLogs: (logs) => {
3522
- logs.forEach((log) => {
3523
- callback(log.args);
3524
- });
3525
- },
3526
- });
807
+ async acceptOwnership(options) {
808
+ return contract.simulate.acceptOwnership(options);
3527
809
  },
3528
810
  /**
3529
- * Watch DefaultAdminDelayChangeScheduled events
3530
- * @param callback Function to call when event is emitted
3531
- * @param filter Optional filter for indexed parameters
3532
- * @returns Unwatch function to stop listening
811
+ * Simulate addAllowableAsset
812
+ * Returns gas estimate and result without sending transaction
813
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3533
814
  */
3534
- DefaultAdminDelayChangeScheduled: (callback) => {
3535
- return this.publicClient.watchContractEvent({
3536
- address: this.contractAddress,
3537
- abi: exports.Vault_jsonAbi,
3538
- eventName: 'DefaultAdminDelayChangeScheduled',
3539
- onLogs: (logs) => {
3540
- logs.forEach((log) => {
3541
- callback(log.args);
3542
- });
3543
- },
3544
- });
815
+ async addAllowableAsset(_asset, options) {
816
+ return contract.simulate.addAllowableAsset([_asset], options);
3545
817
  },
3546
818
  /**
3547
- * Watch DefaultAdminTransferCanceled events
3548
- * @param callback Function to call when event is emitted
3549
- * @param filter Optional filter for indexed parameters
3550
- * @returns Unwatch function to stop listening
819
+ * Simulate removeAllowableAsset
820
+ * Returns gas estimate and result without sending transaction
821
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3551
822
  */
3552
- DefaultAdminTransferCanceled: (callback) => {
3553
- return this.publicClient.watchContractEvent({
3554
- address: this.contractAddress,
3555
- abi: exports.Vault_jsonAbi,
3556
- eventName: 'DefaultAdminTransferCanceled',
3557
- onLogs: (logs) => {
3558
- logs.forEach((log) => {
3559
- callback(log.args);
3560
- });
3561
- },
3562
- });
823
+ async removeAllowableAsset(_asset, options) {
824
+ return contract.simulate.removeAllowableAsset([_asset], options);
3563
825
  },
3564
826
  /**
3565
- * Watch DefaultAdminTransferScheduled events
3566
- * @param callback Function to call when event is emitted
3567
- * @param filter Optional filter for indexed parameters
3568
- * @returns Unwatch function to stop listening
827
+ * Simulate renounceOwnership
828
+ * Returns gas estimate and result without sending transaction
829
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3569
830
  */
3570
- DefaultAdminTransferScheduled: (callback, filter) => {
3571
- return this.publicClient.watchContractEvent({
3572
- address: this.contractAddress,
3573
- abi: exports.Vault_jsonAbi,
3574
- eventName: 'DefaultAdminTransferScheduled',
3575
- args: filter,
3576
- onLogs: (logs) => {
3577
- logs.forEach((log) => {
3578
- callback(log.args);
3579
- });
3580
- },
3581
- });
831
+ async renounceOwnership(options) {
832
+ return contract.simulate.renounceOwnership(options);
3582
833
  },
3583
834
  /**
3584
- * Watch Deposit events
3585
- * @param callback Function to call when event is emitted
3586
- * @param filter Optional filter for indexed parameters
3587
- * @returns Unwatch function to stop listening
835
+ * Simulate rescueERC20
836
+ * Returns gas estimate and result without sending transaction
837
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3588
838
  */
3589
- Deposit: (callback, filter) => {
3590
- return this.publicClient.watchContractEvent({
3591
- address: this.contractAddress,
3592
- abi: exports.Vault_jsonAbi,
3593
- eventName: 'Deposit',
3594
- args: filter,
3595
- onLogs: (logs) => {
3596
- logs.forEach((log) => {
3597
- callback(log.args);
3598
- });
3599
- },
3600
- });
839
+ async rescueERC20(tokenContract, to, amount, options) {
840
+ return contract.simulate.rescueERC20([tokenContract, to, amount], options);
3601
841
  },
3602
842
  /**
3603
- * Watch DepositFeeUpdated events
3604
- * @param callback Function to call when event is emitted
3605
- * @param filter Optional filter for indexed parameters
3606
- * @returns Unwatch function to stop listening
843
+ * Simulate rescueETH
844
+ * Returns gas estimate and result without sending transaction
845
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3607
846
  */
3608
- DepositFeeUpdated: (callback) => {
3609
- return this.publicClient.watchContractEvent({
3610
- address: this.contractAddress,
3611
- abi: exports.Vault_jsonAbi,
3612
- eventName: 'DepositFeeUpdated',
3613
- onLogs: (logs) => {
3614
- logs.forEach((log) => {
3615
- callback(log.args);
3616
- });
3617
- },
3618
- });
847
+ async rescueETH(to, options) {
848
+ return contract.simulate.rescueETH([to], options);
3619
849
  },
3620
850
  /**
3621
- * Watch FeeDispatcherInitialized events
3622
- * @param callback Function to call when event is emitted
3623
- * @param filter Optional filter for indexed parameters
3624
- * @returns Unwatch function to stop listening
851
+ * Simulate setRedemption
852
+ * Returns gas estimate and result without sending transaction
853
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3625
854
  */
3626
- FeeDispatcherInitialized: (callback) => {
3627
- return this.publicClient.watchContractEvent({
3628
- address: this.contractAddress,
3629
- abi: exports.Vault_jsonAbi,
3630
- eventName: 'FeeDispatcherInitialized',
3631
- onLogs: (logs) => {
3632
- logs.forEach((log) => {
3633
- callback(log.args);
3634
- });
3635
- },
3636
- });
855
+ async setRedemption(_newRedemption, options) {
856
+ return contract.simulate.setRedemption([_newRedemption], options);
3637
857
  },
3638
858
  /**
3639
- * Watch Initialized events
3640
- * @param callback Function to call when event is emitted
3641
- * @param filter Optional filter for indexed parameters
3642
- * @returns Unwatch function to stop listening
859
+ * Simulate setStrategyStorage
860
+ * Returns gas estimate and result without sending transaction
861
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3643
862
  */
3644
- Initialized: (callback) => {
3645
- return this.publicClient.watchContractEvent({
3646
- address: this.contractAddress,
3647
- abi: exports.Vault_jsonAbi,
3648
- eventName: 'Initialized',
3649
- onLogs: (logs) => {
3650
- logs.forEach((log) => {
3651
- callback(log.args);
3652
- });
3653
- },
3654
- });
863
+ async setStrategyStorage(_newStrategyStorage, options) {
864
+ return contract.simulate.setStrategyStorage([_newStrategyStorage], options);
3655
865
  },
3656
866
  /**
3657
- * Watch MinTotalSupplyInitialized events
3658
- * @param callback Function to call when event is emitted
3659
- * @param filter Optional filter for indexed parameters
3660
- * @returns Unwatch function to stop listening
867
+ * Simulate transferOwnership
868
+ * Returns gas estimate and result without sending transaction
869
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3661
870
  */
3662
- MinTotalSupplyInitialized: (callback) => {
3663
- return this.publicClient.watchContractEvent({
3664
- address: this.contractAddress,
3665
- abi: exports.Vault_jsonAbi,
3666
- eventName: 'MinTotalSupplyInitialized',
3667
- onLogs: (logs) => {
3668
- logs.forEach((log) => {
3669
- callback(log.args);
3670
- });
3671
- },
3672
- });
871
+ async transferOwnership(newOwner, options) {
872
+ return contract.simulate.transferOwnership([newOwner], options);
3673
873
  },
3674
874
  /**
3675
- * Watch NameInitialized events
3676
- * @param callback Function to call when event is emitted
3677
- * @param filter Optional filter for indexed parameters
3678
- * @returns Unwatch function to stop listening
875
+ * Simulate updateRescuer
876
+ * Returns gas estimate and result without sending transaction
877
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3679
878
  */
3680
- NameInitialized: (callback) => {
3681
- return this.publicClient.watchContractEvent({
3682
- address: this.contractAddress,
3683
- abi: exports.Vault_jsonAbi,
3684
- eventName: 'NameInitialized',
3685
- onLogs: (logs) => {
3686
- logs.forEach((log) => {
3687
- callback(log.args);
3688
- });
3689
- },
3690
- });
879
+ async updateRescuer(newRescuer, options) {
880
+ return contract.simulate.updateRescuer([newRescuer], options);
3691
881
  },
3692
882
  /**
3693
- * Watch OffsetInitialized events
3694
- * @param callback Function to call when event is emitted
3695
- * @param filter Optional filter for indexed parameters
3696
- * @returns Unwatch function to stop listening
883
+ * Simulate withdraw
884
+ * Returns gas estimate and result without sending transaction
885
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3697
886
  */
3698
- OffsetInitialized: (callback) => {
3699
- return this.publicClient.watchContractEvent({
3700
- address: this.contractAddress,
3701
- abi: exports.Vault_jsonAbi,
3702
- eventName: 'OffsetInitialized',
3703
- onLogs: (logs) => {
3704
- logs.forEach((log) => {
3705
- callback(log.args);
3706
- });
3707
- },
3708
- });
3709
- },
887
+ async withdraw(_asset, _amount, options) {
888
+ return contract.simulate.withdraw([_asset, _amount], options);
889
+ }
890
+ };
891
+ }
892
+ /**
893
+ * Watch contract events
894
+ *
895
+ * @example
896
+ * // Watch all Transfer events
897
+ * const unwatch = contract.watch.Transfer((event) => {
898
+ * console.log('Transfer:', event);
899
+ * });
900
+ *
901
+ * // Stop watching
902
+ * unwatch();
903
+ */
904
+ get watch() {
905
+ return {
3710
906
  /**
3711
- * Watch RewardFeeUpdated events
907
+ * Watch AllowableAssetAdded events
3712
908
  * @param callback Function to call when event is emitted
3713
909
  * @param filter Optional filter for indexed parameters
3714
910
  * @returns Unwatch function to stop listening
3715
911
  */
3716
- RewardFeeUpdated: (callback) => {
912
+ AllowableAssetAdded: (callback) => {
3717
913
  return this.publicClient.watchContractEvent({
3718
914
  address: this.contractAddress,
3719
915
  abi: exports.Vault_jsonAbi,
3720
- eventName: 'RewardFeeUpdated',
916
+ eventName: 'AllowableAssetAdded',
3721
917
  onLogs: (logs) => {
3722
918
  logs.forEach((log) => {
3723
919
  callback(log.args);
@@ -3726,17 +922,16 @@ class Vault_json {
3726
922
  });
3727
923
  },
3728
924
  /**
3729
- * Watch RewardsClaimed events
925
+ * Watch AllowableAssetRemoved events
3730
926
  * @param callback Function to call when event is emitted
3731
927
  * @param filter Optional filter for indexed parameters
3732
928
  * @returns Unwatch function to stop listening
3733
929
  */
3734
- RewardsClaimed: (callback, filter) => {
930
+ AllowableAssetRemoved: (callback) => {
3735
931
  return this.publicClient.watchContractEvent({
3736
932
  address: this.contractAddress,
3737
933
  abi: exports.Vault_jsonAbi,
3738
- eventName: 'RewardsClaimed',
3739
- args: filter,
934
+ eventName: 'AllowableAssetRemoved',
3740
935
  onLogs: (logs) => {
3741
936
  logs.forEach((log) => {
3742
937
  callback(log.args);
@@ -3745,16 +940,16 @@ class Vault_json {
3745
940
  });
3746
941
  },
3747
942
  /**
3748
- * Watch RoleAdminChanged events
943
+ * Watch OwnershipTransferStarted events
3749
944
  * @param callback Function to call when event is emitted
3750
945
  * @param filter Optional filter for indexed parameters
3751
946
  * @returns Unwatch function to stop listening
3752
947
  */
3753
- RoleAdminChanged: (callback, filter) => {
948
+ OwnershipTransferStarted: (callback, filter) => {
3754
949
  return this.publicClient.watchContractEvent({
3755
950
  address: this.contractAddress,
3756
951
  abi: exports.Vault_jsonAbi,
3757
- eventName: 'RoleAdminChanged',
952
+ eventName: 'OwnershipTransferStarted',
3758
953
  args: filter,
3759
954
  onLogs: (logs) => {
3760
955
  logs.forEach((log) => {
@@ -3764,16 +959,16 @@ class Vault_json {
3764
959
  });
3765
960
  },
3766
961
  /**
3767
- * Watch RoleGranted events
962
+ * Watch OwnershipTransferred events
3768
963
  * @param callback Function to call when event is emitted
3769
964
  * @param filter Optional filter for indexed parameters
3770
965
  * @returns Unwatch function to stop listening
3771
966
  */
3772
- RoleGranted: (callback, filter) => {
967
+ OwnershipTransferred: (callback, filter) => {
3773
968
  return this.publicClient.watchContractEvent({
3774
969
  address: this.contractAddress,
3775
970
  abi: exports.Vault_jsonAbi,
3776
- eventName: 'RoleGranted',
971
+ eventName: 'OwnershipTransferred',
3777
972
  args: filter,
3778
973
  onLogs: (logs) => {
3779
974
  logs.forEach((log) => {
@@ -3783,16 +978,16 @@ class Vault_json {
3783
978
  });
3784
979
  },
3785
980
  /**
3786
- * Watch RoleRevoked events
981
+ * Watch RedemptionUpdated events
3787
982
  * @param callback Function to call when event is emitted
3788
983
  * @param filter Optional filter for indexed parameters
3789
984
  * @returns Unwatch function to stop listening
3790
985
  */
3791
- RoleRevoked: (callback, filter) => {
986
+ RedemptionUpdated: (callback, filter) => {
3792
987
  return this.publicClient.watchContractEvent({
3793
988
  address: this.contractAddress,
3794
989
  abi: exports.Vault_jsonAbi,
3795
- eventName: 'RoleRevoked',
990
+ eventName: 'RedemptionUpdated',
3796
991
  args: filter,
3797
992
  onLogs: (logs) => {
3798
993
  logs.forEach((log) => {
@@ -3802,34 +997,16 @@ class Vault_json {
3802
997
  });
3803
998
  },
3804
999
  /**
3805
- * Watch SymbolInitialized events
3806
- * @param callback Function to call when event is emitted
3807
- * @param filter Optional filter for indexed parameters
3808
- * @returns Unwatch function to stop listening
3809
- */
3810
- SymbolInitialized: (callback) => {
3811
- return this.publicClient.watchContractEvent({
3812
- address: this.contractAddress,
3813
- abi: exports.Vault_jsonAbi,
3814
- eventName: 'SymbolInitialized',
3815
- onLogs: (logs) => {
3816
- logs.forEach((log) => {
3817
- callback(log.args);
3818
- });
3819
- },
3820
- });
3821
- },
3822
- /**
3823
- * Watch Transfer events
1000
+ * Watch RescuerChanged events
3824
1001
  * @param callback Function to call when event is emitted
3825
1002
  * @param filter Optional filter for indexed parameters
3826
1003
  * @returns Unwatch function to stop listening
3827
1004
  */
3828
- Transfer: (callback, filter) => {
1005
+ RescuerChanged: (callback, filter) => {
3829
1006
  return this.publicClient.watchContractEvent({
3830
1007
  address: this.contractAddress,
3831
1008
  abi: exports.Vault_jsonAbi,
3832
- eventName: 'Transfer',
1009
+ eventName: 'RescuerChanged',
3833
1010
  args: filter,
3834
1011
  onLogs: (logs) => {
3835
1012
  logs.forEach((log) => {
@@ -3839,34 +1016,16 @@ class Vault_json {
3839
1016
  });
3840
1017
  },
3841
1018
  /**
3842
- * Watch TransferableUpdated events
3843
- * @param callback Function to call when event is emitted
3844
- * @param filter Optional filter for indexed parameters
3845
- * @returns Unwatch function to stop listening
3846
- */
3847
- TransferableUpdated: (callback) => {
3848
- return this.publicClient.watchContractEvent({
3849
- address: this.contractAddress,
3850
- abi: exports.Vault_jsonAbi,
3851
- eventName: 'TransferableUpdated',
3852
- onLogs: (logs) => {
3853
- logs.forEach((log) => {
3854
- callback(log.args);
3855
- });
3856
- },
3857
- });
3858
- },
3859
- /**
3860
- * Watch Withdraw events
1019
+ * Watch StrategyStorageUpdated events
3861
1020
  * @param callback Function to call when event is emitted
3862
1021
  * @param filter Optional filter for indexed parameters
3863
1022
  * @returns Unwatch function to stop listening
3864
1023
  */
3865
- Withdraw: (callback, filter) => {
1024
+ StrategyStorageUpdated: (callback, filter) => {
3866
1025
  return this.publicClient.watchContractEvent({
3867
1026
  address: this.contractAddress,
3868
1027
  abi: exports.Vault_jsonAbi,
3869
- eventName: 'Withdraw',
1028
+ eventName: 'StrategyStorageUpdated',
3870
1029
  args: filter,
3871
1030
  onLogs: (logs) => {
3872
1031
  logs.forEach((log) => {