@gitmyabi/batchtransferstorage 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1274 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * BatchTransferStorage.Permit2ApprovalData struct type
4
+ */
5
+ export type BatchTransferStorage_Permit2ApprovalData = {
6
+ owner: `0x${string}`;
7
+ token: `0x${string}`;
8
+ amount: bigint;
9
+ expiration: bigint;
10
+ nonce: bigint;
11
+ sigDeadline: bigint;
12
+ signature: `0x${string}`;
13
+ };
14
+ /**
15
+ * BatchTransferStorage.Permit2TransferData struct type
16
+ */
17
+ export type BatchTransferStorage_Permit2TransferData = {
18
+ from: `0x${string}`;
19
+ to: `0x${string}`;
20
+ amount: bigint;
21
+ token: `0x${string}`;
22
+ };
23
+ /**
24
+ * BatchTransferStorage.TransferData struct type
25
+ */
26
+ export type BatchTransferStorage_TransferData = {
27
+ recipient: `0x${string}`;
28
+ token: `0x${string}`;
29
+ ethAmount: bigint;
30
+ tokenAmount: bigint;
31
+ };
32
+ /**
33
+ * BatchTransferStorage_json ABI
34
+ *
35
+ * This ABI is typed using viem's type system for full type safety.
36
+ */
37
+ export declare const BatchTransferStorage_jsonAbi: readonly [{
38
+ readonly inputs: readonly [];
39
+ readonly stateMutability: "nonpayable";
40
+ readonly type: "constructor";
41
+ }, {
42
+ readonly inputs: readonly [];
43
+ readonly name: "ContractAddress";
44
+ readonly type: "error";
45
+ }, {
46
+ readonly inputs: readonly [];
47
+ readonly name: "ETHTransferFailed";
48
+ readonly type: "error";
49
+ }, {
50
+ readonly inputs: readonly [];
51
+ readonly name: "EmptyTransferList";
52
+ readonly type: "error";
53
+ }, {
54
+ readonly inputs: readonly [];
55
+ readonly name: "GasLimitOutOfRange";
56
+ readonly type: "error";
57
+ }, {
58
+ readonly inputs: readonly [];
59
+ readonly name: "InsufficientBalanceForBatch";
60
+ readonly type: "error";
61
+ }, {
62
+ readonly inputs: readonly [];
63
+ readonly name: "InsufficientETH";
64
+ readonly type: "error";
65
+ }, {
66
+ readonly inputs: readonly [];
67
+ readonly name: "InvalidToken";
68
+ readonly type: "error";
69
+ }, {
70
+ readonly inputs: readonly [];
71
+ readonly name: "NoBalance";
72
+ readonly type: "error";
73
+ }, {
74
+ readonly inputs: readonly [];
75
+ readonly name: "OnlyOwnerAllowed";
76
+ readonly type: "error";
77
+ }, {
78
+ readonly inputs: readonly [];
79
+ readonly name: "ReentrancyDetected";
80
+ readonly type: "error";
81
+ }, {
82
+ readonly inputs: readonly [];
83
+ readonly name: "TokenTransferFailed";
84
+ readonly type: "error";
85
+ }, {
86
+ readonly inputs: readonly [];
87
+ readonly name: "TooManyTransfers";
88
+ readonly type: "error";
89
+ }, {
90
+ readonly inputs: readonly [];
91
+ readonly name: "ZeroAddress";
92
+ readonly type: "error";
93
+ }, {
94
+ readonly anonymous: false;
95
+ readonly inputs: readonly [{
96
+ readonly indexed: false;
97
+ readonly internalType: "uint256";
98
+ readonly name: "count";
99
+ readonly type: "uint256";
100
+ }, {
101
+ readonly indexed: false;
102
+ readonly internalType: "uint256";
103
+ readonly name: "successCount";
104
+ readonly type: "uint256";
105
+ }];
106
+ readonly name: "BatchTransferExecuted";
107
+ readonly type: "event";
108
+ }, {
109
+ readonly anonymous: false;
110
+ readonly inputs: readonly [{
111
+ readonly indexed: true;
112
+ readonly internalType: "address";
113
+ readonly name: "from";
114
+ readonly type: "address";
115
+ }, {
116
+ readonly indexed: false;
117
+ readonly internalType: "uint256";
118
+ readonly name: "amount";
119
+ readonly type: "uint256";
120
+ }];
121
+ readonly name: "EthReceived";
122
+ readonly type: "event";
123
+ }, {
124
+ readonly anonymous: false;
125
+ readonly inputs: readonly [{
126
+ readonly indexed: false;
127
+ readonly internalType: "uint256";
128
+ readonly name: "oldLimit";
129
+ readonly type: "uint256";
130
+ }, {
131
+ readonly indexed: false;
132
+ readonly internalType: "uint256";
133
+ readonly name: "newLimit";
134
+ readonly type: "uint256";
135
+ }];
136
+ readonly name: "EthTransferGasLimitUpdated";
137
+ readonly type: "event";
138
+ }, {
139
+ readonly anonymous: false;
140
+ readonly inputs: readonly [{
141
+ readonly indexed: false;
142
+ readonly internalType: "uint256";
143
+ readonly name: "amount";
144
+ readonly type: "uint256";
145
+ }, {
146
+ readonly indexed: true;
147
+ readonly internalType: "address";
148
+ readonly name: "to";
149
+ readonly type: "address";
150
+ }];
151
+ readonly name: "EthWithdrawn";
152
+ readonly type: "event";
153
+ }, {
154
+ readonly anonymous: false;
155
+ readonly inputs: readonly [{
156
+ readonly indexed: true;
157
+ readonly internalType: "address";
158
+ readonly name: "previousOwner";
159
+ readonly type: "address";
160
+ }, {
161
+ readonly indexed: true;
162
+ readonly internalType: "address";
163
+ readonly name: "newOwner";
164
+ readonly type: "address";
165
+ }];
166
+ readonly name: "OwnershipTransferred";
167
+ readonly type: "event";
168
+ }, {
169
+ readonly anonymous: false;
170
+ readonly inputs: readonly [{
171
+ readonly indexed: false;
172
+ readonly internalType: "uint256";
173
+ readonly name: "count";
174
+ readonly type: "uint256";
175
+ }, {
176
+ readonly indexed: false;
177
+ readonly internalType: "uint256";
178
+ readonly name: "successCount";
179
+ readonly type: "uint256";
180
+ }];
181
+ readonly name: "Permit2ApprovalExecuted";
182
+ readonly type: "event";
183
+ }, {
184
+ readonly anonymous: false;
185
+ readonly inputs: readonly [{
186
+ readonly indexed: true;
187
+ readonly internalType: "address";
188
+ readonly name: "owner";
189
+ readonly type: "address";
190
+ }, {
191
+ readonly indexed: true;
192
+ readonly internalType: "address";
193
+ readonly name: "token";
194
+ readonly type: "address";
195
+ }];
196
+ readonly name: "Permit2ApprovalFailed";
197
+ readonly type: "event";
198
+ }, {
199
+ readonly anonymous: false;
200
+ readonly inputs: readonly [{
201
+ readonly indexed: false;
202
+ readonly internalType: "uint256";
203
+ readonly name: "count";
204
+ readonly type: "uint256";
205
+ }, {
206
+ readonly indexed: false;
207
+ readonly internalType: "uint256";
208
+ readonly name: "successCount";
209
+ readonly type: "uint256";
210
+ }];
211
+ readonly name: "Permit2TransferExecuted";
212
+ readonly type: "event";
213
+ }, {
214
+ readonly anonymous: false;
215
+ readonly inputs: readonly [{
216
+ readonly indexed: true;
217
+ readonly internalType: "address";
218
+ readonly name: "from";
219
+ readonly type: "address";
220
+ }, {
221
+ readonly indexed: true;
222
+ readonly internalType: "address";
223
+ readonly name: "to";
224
+ readonly type: "address";
225
+ }, {
226
+ readonly indexed: true;
227
+ readonly internalType: "address";
228
+ readonly name: "token";
229
+ readonly type: "address";
230
+ }, {
231
+ readonly indexed: false;
232
+ readonly internalType: "uint160";
233
+ readonly name: "amount";
234
+ readonly type: "uint160";
235
+ }];
236
+ readonly name: "Permit2TransferFailed";
237
+ readonly type: "event";
238
+ }, {
239
+ readonly anonymous: false;
240
+ readonly inputs: readonly [{
241
+ readonly indexed: true;
242
+ readonly internalType: "address";
243
+ readonly name: "token";
244
+ readonly type: "address";
245
+ }, {
246
+ readonly indexed: false;
247
+ readonly internalType: "uint256";
248
+ readonly name: "amount";
249
+ readonly type: "uint256";
250
+ }, {
251
+ readonly indexed: true;
252
+ readonly internalType: "address";
253
+ readonly name: "to";
254
+ readonly type: "address";
255
+ }];
256
+ readonly name: "TokenWithdrawn";
257
+ readonly type: "event";
258
+ }, {
259
+ readonly anonymous: false;
260
+ readonly inputs: readonly [{
261
+ readonly indexed: false;
262
+ readonly internalType: "uint256";
263
+ readonly name: "count";
264
+ readonly type: "uint256";
265
+ }, {
266
+ readonly indexed: false;
267
+ readonly internalType: "uint256";
268
+ readonly name: "successCount";
269
+ readonly type: "uint256";
270
+ }];
271
+ readonly name: "TransferCallExecuted";
272
+ readonly type: "event";
273
+ }, {
274
+ readonly anonymous: false;
275
+ readonly inputs: readonly [{
276
+ readonly indexed: true;
277
+ readonly internalType: "address";
278
+ readonly name: "from";
279
+ readonly type: "address";
280
+ }, {
281
+ readonly indexed: true;
282
+ readonly internalType: "address";
283
+ readonly name: "token";
284
+ readonly type: "address";
285
+ }, {
286
+ readonly indexed: true;
287
+ readonly internalType: "address";
288
+ readonly name: "to";
289
+ readonly type: "address";
290
+ }, {
291
+ readonly indexed: false;
292
+ readonly internalType: "uint256";
293
+ readonly name: "amount";
294
+ readonly type: "uint256";
295
+ }];
296
+ readonly name: "TransferCallFailed";
297
+ readonly type: "event";
298
+ }, {
299
+ readonly anonymous: false;
300
+ readonly inputs: readonly [{
301
+ readonly indexed: true;
302
+ readonly internalType: "address";
303
+ readonly name: "recipient";
304
+ readonly type: "address";
305
+ }, {
306
+ readonly indexed: true;
307
+ readonly internalType: "address";
308
+ readonly name: "token";
309
+ readonly type: "address";
310
+ }, {
311
+ readonly indexed: false;
312
+ readonly internalType: "uint256";
313
+ readonly name: "amount";
314
+ readonly type: "uint256";
315
+ }];
316
+ readonly name: "TransferFailed";
317
+ readonly type: "event";
318
+ }, {
319
+ readonly inputs: readonly [{
320
+ readonly internalType: "address";
321
+ readonly name: "permit2Address";
322
+ readonly type: "address";
323
+ }, {
324
+ readonly components: readonly [{
325
+ readonly internalType: "address";
326
+ readonly name: "owner";
327
+ readonly type: "address";
328
+ }, {
329
+ readonly internalType: "address";
330
+ readonly name: "token";
331
+ readonly type: "address";
332
+ }, {
333
+ readonly internalType: "uint160";
334
+ readonly name: "amount";
335
+ readonly type: "uint160";
336
+ }, {
337
+ readonly internalType: "uint48";
338
+ readonly name: "expiration";
339
+ readonly type: "uint48";
340
+ }, {
341
+ readonly internalType: "uint48";
342
+ readonly name: "nonce";
343
+ readonly type: "uint48";
344
+ }, {
345
+ readonly internalType: "uint256";
346
+ readonly name: "sigDeadline";
347
+ readonly type: "uint256";
348
+ }, {
349
+ readonly internalType: "bytes";
350
+ readonly name: "signature";
351
+ readonly type: "bytes";
352
+ }];
353
+ readonly internalType: "struct BatchTransferStorage.Permit2ApprovalData[]";
354
+ readonly name: "approvals";
355
+ readonly type: "tuple[]";
356
+ }];
357
+ readonly name: "batchPermit2Approve";
358
+ readonly outputs: readonly [];
359
+ readonly stateMutability: "nonpayable";
360
+ readonly type: "function";
361
+ }, {
362
+ readonly inputs: readonly [{
363
+ readonly internalType: "address";
364
+ readonly name: "permit2Address";
365
+ readonly type: "address";
366
+ }, {
367
+ readonly components: readonly [{
368
+ readonly internalType: "address";
369
+ readonly name: "from";
370
+ readonly type: "address";
371
+ }, {
372
+ readonly internalType: "address";
373
+ readonly name: "to";
374
+ readonly type: "address";
375
+ }, {
376
+ readonly internalType: "uint160";
377
+ readonly name: "amount";
378
+ readonly type: "uint160";
379
+ }, {
380
+ readonly internalType: "address";
381
+ readonly name: "token";
382
+ readonly type: "address";
383
+ }];
384
+ readonly internalType: "struct BatchTransferStorage.Permit2TransferData[]";
385
+ readonly name: "transfers";
386
+ readonly type: "tuple[]";
387
+ }];
388
+ readonly name: "batchPermit2Transfer";
389
+ readonly outputs: readonly [];
390
+ readonly stateMutability: "nonpayable";
391
+ readonly type: "function";
392
+ }, {
393
+ readonly inputs: readonly [{
394
+ readonly components: readonly [{
395
+ readonly internalType: "address";
396
+ readonly name: "recipient";
397
+ readonly type: "address";
398
+ }, {
399
+ readonly internalType: "address";
400
+ readonly name: "token";
401
+ readonly type: "address";
402
+ }, {
403
+ readonly internalType: "uint256";
404
+ readonly name: "ethAmount";
405
+ readonly type: "uint256";
406
+ }, {
407
+ readonly internalType: "uint256";
408
+ readonly name: "tokenAmount";
409
+ readonly type: "uint256";
410
+ }];
411
+ readonly internalType: "struct BatchTransferStorage.TransferData[]";
412
+ readonly name: "transfers";
413
+ readonly type: "tuple[]";
414
+ }];
415
+ readonly name: "batchTransfer";
416
+ readonly outputs: readonly [];
417
+ readonly stateMutability: "nonpayable";
418
+ readonly type: "function";
419
+ }, {
420
+ readonly inputs: readonly [{
421
+ readonly internalType: "bytes";
422
+ readonly name: "data";
423
+ readonly type: "bytes";
424
+ }];
425
+ readonly name: "decodeBool";
426
+ readonly outputs: readonly [{
427
+ readonly internalType: "bool";
428
+ readonly name: "";
429
+ readonly type: "bool";
430
+ }];
431
+ readonly stateMutability: "pure";
432
+ readonly type: "function";
433
+ }, {
434
+ readonly inputs: readonly [];
435
+ readonly name: "emergencyWithdrawETH";
436
+ readonly outputs: readonly [];
437
+ readonly stateMutability: "nonpayable";
438
+ readonly type: "function";
439
+ }, {
440
+ readonly inputs: readonly [];
441
+ readonly name: "ethTransferGasLimit";
442
+ readonly outputs: readonly [{
443
+ readonly internalType: "uint256";
444
+ readonly name: "";
445
+ readonly type: "uint256";
446
+ }];
447
+ readonly stateMutability: "view";
448
+ readonly type: "function";
449
+ }, {
450
+ readonly inputs: readonly [];
451
+ readonly name: "getETHBalance";
452
+ readonly outputs: readonly [{
453
+ readonly internalType: "uint256";
454
+ readonly name: "";
455
+ readonly type: "uint256";
456
+ }];
457
+ readonly stateMutability: "view";
458
+ readonly type: "function";
459
+ }, {
460
+ readonly inputs: readonly [];
461
+ readonly name: "getEthTransferGasLimit";
462
+ readonly outputs: readonly [{
463
+ readonly internalType: "uint256";
464
+ readonly name: "";
465
+ readonly type: "uint256";
466
+ }];
467
+ readonly stateMutability: "view";
468
+ readonly type: "function";
469
+ }, {
470
+ readonly inputs: readonly [];
471
+ readonly name: "getOwner";
472
+ readonly outputs: readonly [{
473
+ readonly internalType: "address";
474
+ readonly name: "";
475
+ readonly type: "address";
476
+ }];
477
+ readonly stateMutability: "view";
478
+ readonly type: "function";
479
+ }, {
480
+ readonly inputs: readonly [{
481
+ readonly internalType: "address";
482
+ readonly name: "tokenAddress";
483
+ readonly type: "address";
484
+ }];
485
+ readonly name: "getTokenBalance";
486
+ readonly outputs: readonly [{
487
+ readonly internalType: "uint256";
488
+ readonly name: "";
489
+ readonly type: "uint256";
490
+ }];
491
+ readonly stateMutability: "view";
492
+ readonly type: "function";
493
+ }, {
494
+ readonly inputs: readonly [];
495
+ readonly name: "isLocked";
496
+ readonly outputs: readonly [{
497
+ readonly internalType: "bool";
498
+ readonly name: "";
499
+ readonly type: "bool";
500
+ }];
501
+ readonly stateMutability: "view";
502
+ readonly type: "function";
503
+ }, {
504
+ readonly inputs: readonly [{
505
+ readonly internalType: "uint256";
506
+ readonly name: "newGasLimit";
507
+ readonly type: "uint256";
508
+ }];
509
+ readonly name: "setEthTransferGasLimit";
510
+ readonly outputs: readonly [];
511
+ readonly stateMutability: "nonpayable";
512
+ readonly type: "function";
513
+ }, {
514
+ readonly inputs: readonly [{
515
+ readonly internalType: "address";
516
+ readonly name: "_to";
517
+ readonly type: "address";
518
+ }, {
519
+ readonly internalType: "uint256";
520
+ readonly name: "_value";
521
+ readonly type: "uint256";
522
+ }];
523
+ readonly name: "transfer";
524
+ readonly outputs: readonly [];
525
+ readonly stateMutability: "nonpayable";
526
+ readonly type: "function";
527
+ }, {
528
+ readonly inputs: readonly [{
529
+ readonly internalType: "address";
530
+ readonly name: "newOwner";
531
+ readonly type: "address";
532
+ }];
533
+ readonly name: "transferOwnership";
534
+ readonly outputs: readonly [];
535
+ readonly stateMutability: "nonpayable";
536
+ readonly type: "function";
537
+ }, {
538
+ readonly inputs: readonly [{
539
+ readonly internalType: "address[]";
540
+ readonly name: "tokenAddresses";
541
+ readonly type: "address[]";
542
+ }];
543
+ readonly name: "withdrawAll";
544
+ readonly outputs: readonly [];
545
+ readonly stateMutability: "nonpayable";
546
+ readonly type: "function";
547
+ }, {
548
+ readonly inputs: readonly [{
549
+ readonly internalType: "address";
550
+ readonly name: "to";
551
+ readonly type: "address";
552
+ }, {
553
+ readonly internalType: "address[]";
554
+ readonly name: "tokenAddresses";
555
+ readonly type: "address[]";
556
+ }];
557
+ readonly name: "withdrawAllTo";
558
+ readonly outputs: readonly [];
559
+ readonly stateMutability: "nonpayable";
560
+ readonly type: "function";
561
+ }, {
562
+ readonly inputs: readonly [];
563
+ readonly name: "withdrawETH";
564
+ readonly outputs: readonly [];
565
+ readonly stateMutability: "nonpayable";
566
+ readonly type: "function";
567
+ }, {
568
+ readonly inputs: readonly [{
569
+ readonly internalType: "address[]";
570
+ readonly name: "tokenAddresses";
571
+ readonly type: "address[]";
572
+ }];
573
+ readonly name: "withdrawMultipleTokens";
574
+ readonly outputs: readonly [];
575
+ readonly stateMutability: "nonpayable";
576
+ readonly type: "function";
577
+ }, {
578
+ readonly inputs: readonly [{
579
+ readonly internalType: "address";
580
+ readonly name: "tokenAddress";
581
+ readonly type: "address";
582
+ }];
583
+ readonly name: "withdrawToken";
584
+ readonly outputs: readonly [];
585
+ readonly stateMutability: "nonpayable";
586
+ readonly type: "function";
587
+ }, {
588
+ readonly stateMutability: "payable";
589
+ readonly type: "receive";
590
+ }];
591
+ /**
592
+ * Type-safe ABI for BatchTransferStorage_json
593
+ */
594
+ export type BatchTransferStorage_jsonAbi = typeof BatchTransferStorage_jsonAbi;
595
+ /**
596
+ * Contract instance type for BatchTransferStorage_json
597
+ */
598
+ export type BatchTransferStorage_jsonContract = any;
599
+ /**
600
+ * BatchTransferStorage_json Contract Class
601
+ *
602
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
603
+ *
604
+ * @example
605
+ * ```typescript
606
+ * import { createPublicClient, createWalletClient, http } from 'viem';
607
+ * import { mainnet } from 'viem/chains';
608
+ * import { BatchTransferStorage_json } from 'BatchTransferStorage_json';
609
+ *
610
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
611
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
612
+ *
613
+ * const contract = new BatchTransferStorage_json('0x...', { publicClient, walletClient });
614
+ *
615
+ * // Read functions
616
+ * const result = await contract.balanceOf('0x...');
617
+ *
618
+ * // Write functions
619
+ * const hash = await contract.transfer('0x...', 1000n);
620
+ *
621
+ * // Simulate transactions (dry-run)
622
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
623
+ * console.log('Gas estimate:', simulation.request.gas);
624
+ *
625
+ * // Watch events
626
+ * const unwatch = contract.watch.Transfer((event) => {
627
+ * console.log('Transfer event:', event);
628
+ * });
629
+ * ```
630
+ */
631
+ export declare class BatchTransferStorage_json {
632
+ private contract;
633
+ private contractAddress;
634
+ private publicClient;
635
+ constructor(address: Address, clients: {
636
+ publicClient: PublicClient;
637
+ walletClient?: WalletClient;
638
+ });
639
+ /**
640
+ * Get the contract address
641
+ */
642
+ get address(): Address;
643
+ /**
644
+ * Get the underlying viem contract instance
645
+ */
646
+ getContract(): BatchTransferStorage_jsonContract;
647
+ /**
648
+ * decodeBool
649
+ * pure
650
+ */
651
+ decodeBool(data: `0x${string}`): Promise<boolean>;
652
+ /**
653
+ * ethTransferGasLimit
654
+ * view
655
+ */
656
+ ethTransferGasLimit(): Promise<bigint>;
657
+ /**
658
+ * getETHBalance
659
+ * view
660
+ */
661
+ getETHBalance(): Promise<bigint>;
662
+ /**
663
+ * getEthTransferGasLimit
664
+ * view
665
+ */
666
+ getEthTransferGasLimit(): Promise<bigint>;
667
+ /**
668
+ * getOwner
669
+ * view
670
+ */
671
+ getOwner(): Promise<`0x${string}`>;
672
+ /**
673
+ * getTokenBalance
674
+ * view
675
+ */
676
+ getTokenBalance(tokenAddress: `0x${string}`): Promise<bigint>;
677
+ /**
678
+ * isLocked
679
+ * view
680
+ */
681
+ isLocked(): Promise<boolean>;
682
+ /**
683
+ * batchPermit2Approve
684
+ * nonpayable
685
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
686
+ */
687
+ batchPermit2Approve(permit2Address: `0x${string}`, approvals: BatchTransferStorage_Permit2ApprovalData[], options?: {
688
+ accessList?: import('viem').AccessList;
689
+ authorizationList?: import('viem').AuthorizationList;
690
+ chain?: import('viem').Chain | null;
691
+ dataSuffix?: `0x${string}`;
692
+ gas?: bigint;
693
+ gasPrice?: bigint;
694
+ maxFeePerGas?: bigint;
695
+ maxPriorityFeePerGas?: bigint;
696
+ nonce?: number;
697
+ value?: bigint;
698
+ }): Promise<`0x${string}`>;
699
+ /**
700
+ * batchPermit2Transfer
701
+ * nonpayable
702
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
703
+ */
704
+ batchPermit2Transfer(permit2Address: `0x${string}`, transfers: BatchTransferStorage_Permit2TransferData[], options?: {
705
+ accessList?: import('viem').AccessList;
706
+ authorizationList?: import('viem').AuthorizationList;
707
+ chain?: import('viem').Chain | null;
708
+ dataSuffix?: `0x${string}`;
709
+ gas?: bigint;
710
+ gasPrice?: bigint;
711
+ maxFeePerGas?: bigint;
712
+ maxPriorityFeePerGas?: bigint;
713
+ nonce?: number;
714
+ value?: bigint;
715
+ }): Promise<`0x${string}`>;
716
+ /**
717
+ * batchTransfer
718
+ * nonpayable
719
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
720
+ */
721
+ batchTransfer(transfers: BatchTransferStorage_TransferData[], options?: {
722
+ accessList?: import('viem').AccessList;
723
+ authorizationList?: import('viem').AuthorizationList;
724
+ chain?: import('viem').Chain | null;
725
+ dataSuffix?: `0x${string}`;
726
+ gas?: bigint;
727
+ gasPrice?: bigint;
728
+ maxFeePerGas?: bigint;
729
+ maxPriorityFeePerGas?: bigint;
730
+ nonce?: number;
731
+ value?: bigint;
732
+ }): Promise<`0x${string}`>;
733
+ /**
734
+ * emergencyWithdrawETH
735
+ * nonpayable
736
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
737
+ */
738
+ emergencyWithdrawETH(options?: {
739
+ accessList?: import('viem').AccessList;
740
+ authorizationList?: import('viem').AuthorizationList;
741
+ chain?: import('viem').Chain | null;
742
+ dataSuffix?: `0x${string}`;
743
+ gas?: bigint;
744
+ gasPrice?: bigint;
745
+ maxFeePerGas?: bigint;
746
+ maxPriorityFeePerGas?: bigint;
747
+ nonce?: number;
748
+ value?: bigint;
749
+ }): Promise<`0x${string}`>;
750
+ /**
751
+ * setEthTransferGasLimit
752
+ * nonpayable
753
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
754
+ */
755
+ setEthTransferGasLimit(newGasLimit: bigint, options?: {
756
+ accessList?: import('viem').AccessList;
757
+ authorizationList?: import('viem').AuthorizationList;
758
+ chain?: import('viem').Chain | null;
759
+ dataSuffix?: `0x${string}`;
760
+ gas?: bigint;
761
+ gasPrice?: bigint;
762
+ maxFeePerGas?: bigint;
763
+ maxPriorityFeePerGas?: bigint;
764
+ nonce?: number;
765
+ value?: bigint;
766
+ }): Promise<`0x${string}`>;
767
+ /**
768
+ * transfer
769
+ * nonpayable
770
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
771
+ */
772
+ transfer(_to: `0x${string}`, _value: bigint, options?: {
773
+ accessList?: import('viem').AccessList;
774
+ authorizationList?: import('viem').AuthorizationList;
775
+ chain?: import('viem').Chain | null;
776
+ dataSuffix?: `0x${string}`;
777
+ gas?: bigint;
778
+ gasPrice?: bigint;
779
+ maxFeePerGas?: bigint;
780
+ maxPriorityFeePerGas?: bigint;
781
+ nonce?: number;
782
+ value?: bigint;
783
+ }): Promise<`0x${string}`>;
784
+ /**
785
+ * transferOwnership
786
+ * nonpayable
787
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
788
+ */
789
+ transferOwnership(newOwner: `0x${string}`, options?: {
790
+ accessList?: import('viem').AccessList;
791
+ authorizationList?: import('viem').AuthorizationList;
792
+ chain?: import('viem').Chain | null;
793
+ dataSuffix?: `0x${string}`;
794
+ gas?: bigint;
795
+ gasPrice?: bigint;
796
+ maxFeePerGas?: bigint;
797
+ maxPriorityFeePerGas?: bigint;
798
+ nonce?: number;
799
+ value?: bigint;
800
+ }): Promise<`0x${string}`>;
801
+ /**
802
+ * withdrawAll
803
+ * nonpayable
804
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
805
+ */
806
+ withdrawAll(tokenAddresses: `0x${string}`[], options?: {
807
+ accessList?: import('viem').AccessList;
808
+ authorizationList?: import('viem').AuthorizationList;
809
+ chain?: import('viem').Chain | null;
810
+ dataSuffix?: `0x${string}`;
811
+ gas?: bigint;
812
+ gasPrice?: bigint;
813
+ maxFeePerGas?: bigint;
814
+ maxPriorityFeePerGas?: bigint;
815
+ nonce?: number;
816
+ value?: bigint;
817
+ }): Promise<`0x${string}`>;
818
+ /**
819
+ * withdrawAllTo
820
+ * nonpayable
821
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
822
+ */
823
+ withdrawAllTo(to: `0x${string}`, tokenAddresses: `0x${string}`[], options?: {
824
+ accessList?: import('viem').AccessList;
825
+ authorizationList?: import('viem').AuthorizationList;
826
+ chain?: import('viem').Chain | null;
827
+ dataSuffix?: `0x${string}`;
828
+ gas?: bigint;
829
+ gasPrice?: bigint;
830
+ maxFeePerGas?: bigint;
831
+ maxPriorityFeePerGas?: bigint;
832
+ nonce?: number;
833
+ value?: bigint;
834
+ }): Promise<`0x${string}`>;
835
+ /**
836
+ * withdrawETH
837
+ * nonpayable
838
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
839
+ */
840
+ withdrawETH(options?: {
841
+ accessList?: import('viem').AccessList;
842
+ authorizationList?: import('viem').AuthorizationList;
843
+ chain?: import('viem').Chain | null;
844
+ dataSuffix?: `0x${string}`;
845
+ gas?: bigint;
846
+ gasPrice?: bigint;
847
+ maxFeePerGas?: bigint;
848
+ maxPriorityFeePerGas?: bigint;
849
+ nonce?: number;
850
+ value?: bigint;
851
+ }): Promise<`0x${string}`>;
852
+ /**
853
+ * withdrawMultipleTokens
854
+ * nonpayable
855
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
856
+ */
857
+ withdrawMultipleTokens(tokenAddresses: `0x${string}`[], options?: {
858
+ accessList?: import('viem').AccessList;
859
+ authorizationList?: import('viem').AuthorizationList;
860
+ chain?: import('viem').Chain | null;
861
+ dataSuffix?: `0x${string}`;
862
+ gas?: bigint;
863
+ gasPrice?: bigint;
864
+ maxFeePerGas?: bigint;
865
+ maxPriorityFeePerGas?: bigint;
866
+ nonce?: number;
867
+ value?: bigint;
868
+ }): Promise<`0x${string}`>;
869
+ /**
870
+ * withdrawToken
871
+ * nonpayable
872
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
873
+ */
874
+ withdrawToken(tokenAddress: `0x${string}`, options?: {
875
+ accessList?: import('viem').AccessList;
876
+ authorizationList?: import('viem').AuthorizationList;
877
+ chain?: import('viem').Chain | null;
878
+ dataSuffix?: `0x${string}`;
879
+ gas?: bigint;
880
+ gasPrice?: bigint;
881
+ maxFeePerGas?: bigint;
882
+ maxPriorityFeePerGas?: bigint;
883
+ nonce?: number;
884
+ value?: bigint;
885
+ }): Promise<`0x${string}`>;
886
+ /**
887
+ * Simulate contract write operations (dry-run without sending transaction)
888
+ *
889
+ * @example
890
+ * const result = await contract.simulate.transfer('0x...', 1000n);
891
+ * console.log('Gas estimate:', result.request.gas);
892
+ * console.log('Would succeed:', result.result);
893
+ */
894
+ get simulate(): {
895
+ /**
896
+ * Simulate batchPermit2Approve
897
+ * Returns gas estimate and result without sending transaction
898
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
899
+ */
900
+ batchPermit2Approve(permit2Address: `0x${string}`, approvals: BatchTransferStorage_Permit2ApprovalData[], options?: {
901
+ accessList?: import("viem").AccessList;
902
+ authorizationList?: import("viem").AuthorizationList;
903
+ chain?: import("viem").Chain | null;
904
+ dataSuffix?: `0x${string}`;
905
+ gas?: bigint;
906
+ gasPrice?: bigint;
907
+ maxFeePerGas?: bigint;
908
+ maxPriorityFeePerGas?: bigint;
909
+ nonce?: number;
910
+ value?: bigint;
911
+ }): Promise<void>;
912
+ /**
913
+ * Simulate batchPermit2Transfer
914
+ * Returns gas estimate and result without sending transaction
915
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
916
+ */
917
+ batchPermit2Transfer(permit2Address: `0x${string}`, transfers: BatchTransferStorage_Permit2TransferData[], options?: {
918
+ accessList?: import("viem").AccessList;
919
+ authorizationList?: import("viem").AuthorizationList;
920
+ chain?: import("viem").Chain | null;
921
+ dataSuffix?: `0x${string}`;
922
+ gas?: bigint;
923
+ gasPrice?: bigint;
924
+ maxFeePerGas?: bigint;
925
+ maxPriorityFeePerGas?: bigint;
926
+ nonce?: number;
927
+ value?: bigint;
928
+ }): Promise<void>;
929
+ /**
930
+ * Simulate batchTransfer
931
+ * Returns gas estimate and result without sending transaction
932
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
933
+ */
934
+ batchTransfer(transfers: BatchTransferStorage_TransferData[], options?: {
935
+ accessList?: import("viem").AccessList;
936
+ authorizationList?: import("viem").AuthorizationList;
937
+ chain?: import("viem").Chain | null;
938
+ dataSuffix?: `0x${string}`;
939
+ gas?: bigint;
940
+ gasPrice?: bigint;
941
+ maxFeePerGas?: bigint;
942
+ maxPriorityFeePerGas?: bigint;
943
+ nonce?: number;
944
+ value?: bigint;
945
+ }): Promise<void>;
946
+ /**
947
+ * Simulate emergencyWithdrawETH
948
+ * Returns gas estimate and result without sending transaction
949
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
950
+ */
951
+ emergencyWithdrawETH(options?: {
952
+ accessList?: import("viem").AccessList;
953
+ authorizationList?: import("viem").AuthorizationList;
954
+ chain?: import("viem").Chain | null;
955
+ dataSuffix?: `0x${string}`;
956
+ gas?: bigint;
957
+ gasPrice?: bigint;
958
+ maxFeePerGas?: bigint;
959
+ maxPriorityFeePerGas?: bigint;
960
+ nonce?: number;
961
+ value?: bigint;
962
+ }): Promise<void>;
963
+ /**
964
+ * Simulate setEthTransferGasLimit
965
+ * Returns gas estimate and result without sending transaction
966
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
967
+ */
968
+ setEthTransferGasLimit(newGasLimit: bigint, options?: {
969
+ accessList?: import("viem").AccessList;
970
+ authorizationList?: import("viem").AuthorizationList;
971
+ chain?: import("viem").Chain | null;
972
+ dataSuffix?: `0x${string}`;
973
+ gas?: bigint;
974
+ gasPrice?: bigint;
975
+ maxFeePerGas?: bigint;
976
+ maxPriorityFeePerGas?: bigint;
977
+ nonce?: number;
978
+ value?: bigint;
979
+ }): Promise<void>;
980
+ /**
981
+ * Simulate transfer
982
+ * Returns gas estimate and result without sending transaction
983
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
984
+ */
985
+ transfer(_to: `0x${string}`, _value: bigint, options?: {
986
+ accessList?: import("viem").AccessList;
987
+ authorizationList?: import("viem").AuthorizationList;
988
+ chain?: import("viem").Chain | null;
989
+ dataSuffix?: `0x${string}`;
990
+ gas?: bigint;
991
+ gasPrice?: bigint;
992
+ maxFeePerGas?: bigint;
993
+ maxPriorityFeePerGas?: bigint;
994
+ nonce?: number;
995
+ value?: bigint;
996
+ }): Promise<void>;
997
+ /**
998
+ * Simulate transferOwnership
999
+ * Returns gas estimate and result without sending transaction
1000
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1001
+ */
1002
+ transferOwnership(newOwner: `0x${string}`, options?: {
1003
+ accessList?: import("viem").AccessList;
1004
+ authorizationList?: import("viem").AuthorizationList;
1005
+ chain?: import("viem").Chain | null;
1006
+ dataSuffix?: `0x${string}`;
1007
+ gas?: bigint;
1008
+ gasPrice?: bigint;
1009
+ maxFeePerGas?: bigint;
1010
+ maxPriorityFeePerGas?: bigint;
1011
+ nonce?: number;
1012
+ value?: bigint;
1013
+ }): Promise<void>;
1014
+ /**
1015
+ * Simulate withdrawAll
1016
+ * Returns gas estimate and result without sending transaction
1017
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1018
+ */
1019
+ withdrawAll(tokenAddresses: `0x${string}`[], options?: {
1020
+ accessList?: import("viem").AccessList;
1021
+ authorizationList?: import("viem").AuthorizationList;
1022
+ chain?: import("viem").Chain | null;
1023
+ dataSuffix?: `0x${string}`;
1024
+ gas?: bigint;
1025
+ gasPrice?: bigint;
1026
+ maxFeePerGas?: bigint;
1027
+ maxPriorityFeePerGas?: bigint;
1028
+ nonce?: number;
1029
+ value?: bigint;
1030
+ }): Promise<void>;
1031
+ /**
1032
+ * Simulate withdrawAllTo
1033
+ * Returns gas estimate and result without sending transaction
1034
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1035
+ */
1036
+ withdrawAllTo(to: `0x${string}`, tokenAddresses: `0x${string}`[], options?: {
1037
+ accessList?: import("viem").AccessList;
1038
+ authorizationList?: import("viem").AuthorizationList;
1039
+ chain?: import("viem").Chain | null;
1040
+ dataSuffix?: `0x${string}`;
1041
+ gas?: bigint;
1042
+ gasPrice?: bigint;
1043
+ maxFeePerGas?: bigint;
1044
+ maxPriorityFeePerGas?: bigint;
1045
+ nonce?: number;
1046
+ value?: bigint;
1047
+ }): Promise<void>;
1048
+ /**
1049
+ * Simulate withdrawETH
1050
+ * Returns gas estimate and result without sending transaction
1051
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1052
+ */
1053
+ withdrawETH(options?: {
1054
+ accessList?: import("viem").AccessList;
1055
+ authorizationList?: import("viem").AuthorizationList;
1056
+ chain?: import("viem").Chain | null;
1057
+ dataSuffix?: `0x${string}`;
1058
+ gas?: bigint;
1059
+ gasPrice?: bigint;
1060
+ maxFeePerGas?: bigint;
1061
+ maxPriorityFeePerGas?: bigint;
1062
+ nonce?: number;
1063
+ value?: bigint;
1064
+ }): Promise<void>;
1065
+ /**
1066
+ * Simulate withdrawMultipleTokens
1067
+ * Returns gas estimate and result without sending transaction
1068
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1069
+ */
1070
+ withdrawMultipleTokens(tokenAddresses: `0x${string}`[], options?: {
1071
+ accessList?: import("viem").AccessList;
1072
+ authorizationList?: import("viem").AuthorizationList;
1073
+ chain?: import("viem").Chain | null;
1074
+ dataSuffix?: `0x${string}`;
1075
+ gas?: bigint;
1076
+ gasPrice?: bigint;
1077
+ maxFeePerGas?: bigint;
1078
+ maxPriorityFeePerGas?: bigint;
1079
+ nonce?: number;
1080
+ value?: bigint;
1081
+ }): Promise<void>;
1082
+ /**
1083
+ * Simulate withdrawToken
1084
+ * Returns gas estimate and result without sending transaction
1085
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1086
+ */
1087
+ withdrawToken(tokenAddress: `0x${string}`, options?: {
1088
+ accessList?: import("viem").AccessList;
1089
+ authorizationList?: import("viem").AuthorizationList;
1090
+ chain?: import("viem").Chain | null;
1091
+ dataSuffix?: `0x${string}`;
1092
+ gas?: bigint;
1093
+ gasPrice?: bigint;
1094
+ maxFeePerGas?: bigint;
1095
+ maxPriorityFeePerGas?: bigint;
1096
+ nonce?: number;
1097
+ value?: bigint;
1098
+ }): Promise<void>;
1099
+ };
1100
+ /**
1101
+ * Watch contract events
1102
+ *
1103
+ * @example
1104
+ * // Watch all Transfer events
1105
+ * const unwatch = contract.watch.Transfer((event) => {
1106
+ * console.log('Transfer:', event);
1107
+ * });
1108
+ *
1109
+ * // Stop watching
1110
+ * unwatch();
1111
+ */
1112
+ get watch(): {
1113
+ /**
1114
+ * Watch BatchTransferExecuted events
1115
+ * @param callback Function to call when event is emitted
1116
+ * @param filter Optional filter for indexed parameters
1117
+ * @returns Unwatch function to stop listening
1118
+ */
1119
+ BatchTransferExecuted: (callback: (event: {
1120
+ count: bigint;
1121
+ successCount: bigint;
1122
+ }) => void) => () => void;
1123
+ /**
1124
+ * Watch EthReceived events
1125
+ * @param callback Function to call when event is emitted
1126
+ * @param filter Optional filter for indexed parameters
1127
+ * @returns Unwatch function to stop listening
1128
+ */
1129
+ EthReceived: (callback: (event: {
1130
+ from: `0x${string}`;
1131
+ amount: bigint;
1132
+ }) => void, filter?: {
1133
+ from: `0x${string}`;
1134
+ }) => () => void;
1135
+ /**
1136
+ * Watch EthTransferGasLimitUpdated events
1137
+ * @param callback Function to call when event is emitted
1138
+ * @param filter Optional filter for indexed parameters
1139
+ * @returns Unwatch function to stop listening
1140
+ */
1141
+ EthTransferGasLimitUpdated: (callback: (event: {
1142
+ oldLimit: bigint;
1143
+ newLimit: bigint;
1144
+ }) => void) => () => void;
1145
+ /**
1146
+ * Watch EthWithdrawn events
1147
+ * @param callback Function to call when event is emitted
1148
+ * @param filter Optional filter for indexed parameters
1149
+ * @returns Unwatch function to stop listening
1150
+ */
1151
+ EthWithdrawn: (callback: (event: {
1152
+ to: `0x${string}`;
1153
+ amount: bigint;
1154
+ }) => void, filter?: {
1155
+ to: `0x${string}`;
1156
+ }) => () => void;
1157
+ /**
1158
+ * Watch OwnershipTransferred events
1159
+ * @param callback Function to call when event is emitted
1160
+ * @param filter Optional filter for indexed parameters
1161
+ * @returns Unwatch function to stop listening
1162
+ */
1163
+ OwnershipTransferred: (callback: (event: {
1164
+ previousOwner: `0x${string}`;
1165
+ newOwner: `0x${string}`;
1166
+ }) => void, filter?: {
1167
+ previousOwner: `0x${string}`;
1168
+ newOwner: `0x${string}`;
1169
+ }) => () => void;
1170
+ /**
1171
+ * Watch Permit2ApprovalExecuted events
1172
+ * @param callback Function to call when event is emitted
1173
+ * @param filter Optional filter for indexed parameters
1174
+ * @returns Unwatch function to stop listening
1175
+ */
1176
+ Permit2ApprovalExecuted: (callback: (event: {
1177
+ count: bigint;
1178
+ successCount: bigint;
1179
+ }) => void) => () => void;
1180
+ /**
1181
+ * Watch Permit2ApprovalFailed events
1182
+ * @param callback Function to call when event is emitted
1183
+ * @param filter Optional filter for indexed parameters
1184
+ * @returns Unwatch function to stop listening
1185
+ */
1186
+ Permit2ApprovalFailed: (callback: (event: {
1187
+ owner: `0x${string}`;
1188
+ token: `0x${string}`;
1189
+ }) => void, filter?: {
1190
+ owner: `0x${string}`;
1191
+ token: `0x${string}`;
1192
+ }) => () => void;
1193
+ /**
1194
+ * Watch Permit2TransferExecuted events
1195
+ * @param callback Function to call when event is emitted
1196
+ * @param filter Optional filter for indexed parameters
1197
+ * @returns Unwatch function to stop listening
1198
+ */
1199
+ Permit2TransferExecuted: (callback: (event: {
1200
+ count: bigint;
1201
+ successCount: bigint;
1202
+ }) => void) => () => void;
1203
+ /**
1204
+ * Watch Permit2TransferFailed events
1205
+ * @param callback Function to call when event is emitted
1206
+ * @param filter Optional filter for indexed parameters
1207
+ * @returns Unwatch function to stop listening
1208
+ */
1209
+ Permit2TransferFailed: (callback: (event: {
1210
+ from: `0x${string}`;
1211
+ to: `0x${string}`;
1212
+ token: `0x${string}`;
1213
+ amount: bigint;
1214
+ }) => void, filter?: {
1215
+ from: `0x${string}`;
1216
+ to: `0x${string}`;
1217
+ token: `0x${string}`;
1218
+ }) => () => void;
1219
+ /**
1220
+ * Watch TokenWithdrawn events
1221
+ * @param callback Function to call when event is emitted
1222
+ * @param filter Optional filter for indexed parameters
1223
+ * @returns Unwatch function to stop listening
1224
+ */
1225
+ TokenWithdrawn: (callback: (event: {
1226
+ token: `0x${string}`;
1227
+ to: `0x${string}`;
1228
+ amount: bigint;
1229
+ }) => void, filter?: {
1230
+ token: `0x${string}`;
1231
+ to: `0x${string}`;
1232
+ }) => () => void;
1233
+ /**
1234
+ * Watch TransferCallExecuted events
1235
+ * @param callback Function to call when event is emitted
1236
+ * @param filter Optional filter for indexed parameters
1237
+ * @returns Unwatch function to stop listening
1238
+ */
1239
+ TransferCallExecuted: (callback: (event: {
1240
+ count: bigint;
1241
+ successCount: bigint;
1242
+ }) => void) => () => void;
1243
+ /**
1244
+ * Watch TransferCallFailed events
1245
+ * @param callback Function to call when event is emitted
1246
+ * @param filter Optional filter for indexed parameters
1247
+ * @returns Unwatch function to stop listening
1248
+ */
1249
+ TransferCallFailed: (callback: (event: {
1250
+ from: `0x${string}`;
1251
+ token: `0x${string}`;
1252
+ to: `0x${string}`;
1253
+ amount: bigint;
1254
+ }) => void, filter?: {
1255
+ from: `0x${string}`;
1256
+ token: `0x${string}`;
1257
+ to: `0x${string}`;
1258
+ }) => () => void;
1259
+ /**
1260
+ * Watch TransferFailed events
1261
+ * @param callback Function to call when event is emitted
1262
+ * @param filter Optional filter for indexed parameters
1263
+ * @returns Unwatch function to stop listening
1264
+ */
1265
+ TransferFailed: (callback: (event: {
1266
+ recipient: `0x${string}`;
1267
+ token: `0x${string}`;
1268
+ amount: bigint;
1269
+ }) => void, filter?: {
1270
+ recipient: `0x${string}`;
1271
+ token: `0x${string}`;
1272
+ }) => () => void;
1273
+ };
1274
+ }