@gitmyabi-stg/safe 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,798 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * SafeToken ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const SafeTokenAbi: readonly [{
8
+ readonly inputs: readonly [{
9
+ readonly internalType: "address";
10
+ readonly name: "owner";
11
+ readonly type: "address";
12
+ }];
13
+ readonly stateMutability: "nonpayable";
14
+ readonly type: "constructor";
15
+ }, {
16
+ readonly anonymous: false;
17
+ readonly inputs: readonly [{
18
+ readonly indexed: true;
19
+ readonly internalType: "address";
20
+ readonly name: "owner";
21
+ readonly type: "address";
22
+ }, {
23
+ readonly indexed: true;
24
+ readonly internalType: "address";
25
+ readonly name: "spender";
26
+ readonly type: "address";
27
+ }, {
28
+ readonly indexed: false;
29
+ readonly internalType: "uint256";
30
+ readonly name: "value";
31
+ readonly type: "uint256";
32
+ }];
33
+ readonly name: "Approval";
34
+ readonly type: "event";
35
+ }, {
36
+ readonly anonymous: false;
37
+ readonly inputs: readonly [{
38
+ readonly indexed: true;
39
+ readonly internalType: "address";
40
+ readonly name: "previousOwner";
41
+ readonly type: "address";
42
+ }, {
43
+ readonly indexed: true;
44
+ readonly internalType: "address";
45
+ readonly name: "newOwner";
46
+ readonly type: "address";
47
+ }];
48
+ readonly name: "OwnershipTransferred";
49
+ readonly type: "event";
50
+ }, {
51
+ readonly anonymous: false;
52
+ readonly inputs: readonly [{
53
+ readonly indexed: false;
54
+ readonly internalType: "address";
55
+ readonly name: "account";
56
+ readonly type: "address";
57
+ }];
58
+ readonly name: "Paused";
59
+ readonly type: "event";
60
+ }, {
61
+ readonly anonymous: false;
62
+ readonly inputs: readonly [{
63
+ readonly indexed: true;
64
+ readonly internalType: "address";
65
+ readonly name: "from";
66
+ readonly type: "address";
67
+ }, {
68
+ readonly indexed: true;
69
+ readonly internalType: "address";
70
+ readonly name: "to";
71
+ readonly type: "address";
72
+ }, {
73
+ readonly indexed: false;
74
+ readonly internalType: "uint256";
75
+ readonly name: "value";
76
+ readonly type: "uint256";
77
+ }];
78
+ readonly name: "Transfer";
79
+ readonly type: "event";
80
+ }, {
81
+ readonly anonymous: false;
82
+ readonly inputs: readonly [{
83
+ readonly indexed: false;
84
+ readonly internalType: "address";
85
+ readonly name: "account";
86
+ readonly type: "address";
87
+ }];
88
+ readonly name: "Unpaused";
89
+ readonly type: "event";
90
+ }, {
91
+ readonly inputs: readonly [{
92
+ readonly internalType: "address";
93
+ readonly name: "owner";
94
+ readonly type: "address";
95
+ }, {
96
+ readonly internalType: "address";
97
+ readonly name: "spender";
98
+ readonly type: "address";
99
+ }];
100
+ readonly name: "allowance";
101
+ readonly outputs: readonly [{
102
+ readonly internalType: "uint256";
103
+ readonly name: "";
104
+ readonly type: "uint256";
105
+ }];
106
+ readonly stateMutability: "view";
107
+ readonly type: "function";
108
+ }, {
109
+ readonly inputs: readonly [{
110
+ readonly internalType: "address";
111
+ readonly name: "spender";
112
+ readonly type: "address";
113
+ }, {
114
+ readonly internalType: "uint256";
115
+ readonly name: "amount";
116
+ readonly type: "uint256";
117
+ }];
118
+ readonly name: "approve";
119
+ readonly outputs: readonly [{
120
+ readonly internalType: "bool";
121
+ readonly name: "";
122
+ readonly type: "bool";
123
+ }];
124
+ readonly stateMutability: "nonpayable";
125
+ readonly type: "function";
126
+ }, {
127
+ readonly inputs: readonly [{
128
+ readonly internalType: "address";
129
+ readonly name: "account";
130
+ readonly type: "address";
131
+ }];
132
+ readonly name: "balanceOf";
133
+ readonly outputs: readonly [{
134
+ readonly internalType: "uint256";
135
+ readonly name: "";
136
+ readonly type: "uint256";
137
+ }];
138
+ readonly stateMutability: "view";
139
+ readonly type: "function";
140
+ }, {
141
+ readonly inputs: readonly [];
142
+ readonly name: "decimals";
143
+ readonly outputs: readonly [{
144
+ readonly internalType: "uint8";
145
+ readonly name: "";
146
+ readonly type: "uint8";
147
+ }];
148
+ readonly stateMutability: "view";
149
+ readonly type: "function";
150
+ }, {
151
+ readonly inputs: readonly [{
152
+ readonly internalType: "address";
153
+ readonly name: "spender";
154
+ readonly type: "address";
155
+ }, {
156
+ readonly internalType: "uint256";
157
+ readonly name: "subtractedValue";
158
+ readonly type: "uint256";
159
+ }];
160
+ readonly name: "decreaseAllowance";
161
+ readonly outputs: readonly [{
162
+ readonly internalType: "bool";
163
+ readonly name: "";
164
+ readonly type: "bool";
165
+ }];
166
+ readonly stateMutability: "nonpayable";
167
+ readonly type: "function";
168
+ }, {
169
+ readonly inputs: readonly [{
170
+ readonly internalType: "address";
171
+ readonly name: "spender";
172
+ readonly type: "address";
173
+ }, {
174
+ readonly internalType: "uint256";
175
+ readonly name: "addedValue";
176
+ readonly type: "uint256";
177
+ }];
178
+ readonly name: "increaseAllowance";
179
+ readonly outputs: readonly [{
180
+ readonly internalType: "bool";
181
+ readonly name: "";
182
+ readonly type: "bool";
183
+ }];
184
+ readonly stateMutability: "nonpayable";
185
+ readonly type: "function";
186
+ }, {
187
+ readonly inputs: readonly [];
188
+ readonly name: "name";
189
+ readonly outputs: readonly [{
190
+ readonly internalType: "string";
191
+ readonly name: "";
192
+ readonly type: "string";
193
+ }];
194
+ readonly stateMutability: "view";
195
+ readonly type: "function";
196
+ }, {
197
+ readonly inputs: readonly [];
198
+ readonly name: "owner";
199
+ readonly outputs: readonly [{
200
+ readonly internalType: "address";
201
+ readonly name: "";
202
+ readonly type: "address";
203
+ }];
204
+ readonly stateMutability: "view";
205
+ readonly type: "function";
206
+ }, {
207
+ readonly inputs: readonly [];
208
+ readonly name: "paused";
209
+ readonly outputs: readonly [{
210
+ readonly internalType: "bool";
211
+ readonly name: "";
212
+ readonly type: "bool";
213
+ }];
214
+ readonly stateMutability: "view";
215
+ readonly type: "function";
216
+ }, {
217
+ readonly inputs: readonly [];
218
+ readonly name: "renounceOwnership";
219
+ readonly outputs: readonly [];
220
+ readonly stateMutability: "nonpayable";
221
+ readonly type: "function";
222
+ }, {
223
+ readonly inputs: readonly [{
224
+ readonly internalType: "contract IERC20";
225
+ readonly name: "token";
226
+ readonly type: "address";
227
+ }, {
228
+ readonly internalType: "address";
229
+ readonly name: "beneficiary";
230
+ readonly type: "address";
231
+ }];
232
+ readonly name: "rescueToken";
233
+ readonly outputs: readonly [];
234
+ readonly stateMutability: "nonpayable";
235
+ readonly type: "function";
236
+ }, {
237
+ readonly inputs: readonly [];
238
+ readonly name: "symbol";
239
+ readonly outputs: readonly [{
240
+ readonly internalType: "string";
241
+ readonly name: "";
242
+ readonly type: "string";
243
+ }];
244
+ readonly stateMutability: "view";
245
+ readonly type: "function";
246
+ }, {
247
+ readonly inputs: readonly [];
248
+ readonly name: "totalSupply";
249
+ readonly outputs: readonly [{
250
+ readonly internalType: "uint256";
251
+ readonly name: "";
252
+ readonly type: "uint256";
253
+ }];
254
+ readonly stateMutability: "view";
255
+ readonly type: "function";
256
+ }, {
257
+ readonly inputs: readonly [{
258
+ readonly internalType: "address";
259
+ readonly name: "to";
260
+ readonly type: "address";
261
+ }, {
262
+ readonly internalType: "uint256";
263
+ readonly name: "amount";
264
+ readonly type: "uint256";
265
+ }];
266
+ readonly name: "transfer";
267
+ readonly outputs: readonly [{
268
+ readonly internalType: "bool";
269
+ readonly name: "";
270
+ readonly type: "bool";
271
+ }];
272
+ readonly stateMutability: "nonpayable";
273
+ readonly type: "function";
274
+ }, {
275
+ readonly inputs: readonly [{
276
+ readonly internalType: "address";
277
+ readonly name: "from";
278
+ readonly type: "address";
279
+ }, {
280
+ readonly internalType: "address";
281
+ readonly name: "to";
282
+ readonly type: "address";
283
+ }, {
284
+ readonly internalType: "uint256";
285
+ readonly name: "amount";
286
+ readonly type: "uint256";
287
+ }];
288
+ readonly name: "transferFrom";
289
+ readonly outputs: readonly [{
290
+ readonly internalType: "bool";
291
+ readonly name: "";
292
+ readonly type: "bool";
293
+ }];
294
+ readonly stateMutability: "nonpayable";
295
+ readonly type: "function";
296
+ }, {
297
+ readonly inputs: readonly [{
298
+ readonly internalType: "address";
299
+ readonly name: "newOwner";
300
+ readonly type: "address";
301
+ }];
302
+ readonly name: "transferOwnership";
303
+ readonly outputs: readonly [];
304
+ readonly stateMutability: "nonpayable";
305
+ readonly type: "function";
306
+ }, {
307
+ readonly inputs: readonly [];
308
+ readonly name: "unpause";
309
+ readonly outputs: readonly [];
310
+ readonly stateMutability: "nonpayable";
311
+ readonly type: "function";
312
+ }];
313
+ /**
314
+ * Type-safe ABI for SafeToken
315
+ */
316
+ export type SafeTokenAbi = typeof SafeTokenAbi;
317
+ /**
318
+ * Contract instance type for SafeToken
319
+ */
320
+ export type SafeTokenContract = any;
321
+ /**
322
+ * SafeToken Contract Class
323
+ *
324
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
325
+ *
326
+ * @example
327
+ * ```typescript
328
+ * import { createPublicClient, createWalletClient, http } from 'viem';
329
+ * import { mainnet } from 'viem/chains';
330
+ * import { SafeToken } from 'SafeToken';
331
+ *
332
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
333
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
334
+ *
335
+ * const contract = new SafeToken('0x...', { publicClient, walletClient });
336
+ *
337
+ * // Read functions
338
+ * const result = await contract.balanceOf('0x...');
339
+ *
340
+ * // Write functions
341
+ * const hash = await contract.transfer('0x...', 1000n);
342
+ *
343
+ * // Simulate transactions (dry-run)
344
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
345
+ * console.log('Gas estimate:', simulation.request.gas);
346
+ *
347
+ * // Watch events
348
+ * const unwatch = contract.watch.Transfer((event) => {
349
+ * console.log('Transfer event:', event);
350
+ * });
351
+ * ```
352
+ */
353
+ export declare class SafeToken {
354
+ private contract;
355
+ private contractAddress;
356
+ private publicClient;
357
+ constructor(address: Address, clients: {
358
+ publicClient: PublicClient;
359
+ walletClient?: WalletClient;
360
+ });
361
+ /**
362
+ * Get the contract address
363
+ */
364
+ get address(): Address;
365
+ /**
366
+ * Get the underlying viem contract instance.
367
+ */
368
+ getContract(): SafeTokenContract;
369
+ /**
370
+ * allowance
371
+ * view
372
+ */
373
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
374
+ /**
375
+ * balanceOf
376
+ * view
377
+ */
378
+ balanceOf(account: `0x${string}`): Promise<bigint>;
379
+ /**
380
+ * decimals
381
+ * view
382
+ */
383
+ decimals(): Promise<bigint>;
384
+ /**
385
+ * name
386
+ * view
387
+ */
388
+ name(): Promise<string>;
389
+ /**
390
+ * owner
391
+ * view
392
+ */
393
+ owner(): Promise<`0x${string}`>;
394
+ /**
395
+ * paused
396
+ * view
397
+ */
398
+ paused(): Promise<boolean>;
399
+ /**
400
+ * symbol
401
+ * view
402
+ */
403
+ symbol(): Promise<string>;
404
+ /**
405
+ * totalSupply
406
+ * view
407
+ */
408
+ totalSupply(): Promise<bigint>;
409
+ /**
410
+ * approve
411
+ * nonpayable
412
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
413
+ */
414
+ approve(spender: `0x${string}`, amount: bigint, options?: {
415
+ accessList?: import('viem').AccessList;
416
+ authorizationList?: import('viem').AuthorizationList;
417
+ chain?: import('viem').Chain | null;
418
+ dataSuffix?: `0x${string}`;
419
+ gas?: bigint;
420
+ gasPrice?: bigint;
421
+ maxFeePerGas?: bigint;
422
+ maxPriorityFeePerGas?: bigint;
423
+ nonce?: number;
424
+ value?: bigint;
425
+ }): Promise<`0x${string}`>;
426
+ /**
427
+ * decreaseAllowance
428
+ * nonpayable
429
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
430
+ */
431
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
432
+ accessList?: import('viem').AccessList;
433
+ authorizationList?: import('viem').AuthorizationList;
434
+ chain?: import('viem').Chain | null;
435
+ dataSuffix?: `0x${string}`;
436
+ gas?: bigint;
437
+ gasPrice?: bigint;
438
+ maxFeePerGas?: bigint;
439
+ maxPriorityFeePerGas?: bigint;
440
+ nonce?: number;
441
+ value?: bigint;
442
+ }): Promise<`0x${string}`>;
443
+ /**
444
+ * increaseAllowance
445
+ * nonpayable
446
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
447
+ */
448
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
449
+ accessList?: import('viem').AccessList;
450
+ authorizationList?: import('viem').AuthorizationList;
451
+ chain?: import('viem').Chain | null;
452
+ dataSuffix?: `0x${string}`;
453
+ gas?: bigint;
454
+ gasPrice?: bigint;
455
+ maxFeePerGas?: bigint;
456
+ maxPriorityFeePerGas?: bigint;
457
+ nonce?: number;
458
+ value?: bigint;
459
+ }): Promise<`0x${string}`>;
460
+ /**
461
+ * renounceOwnership
462
+ * nonpayable
463
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
464
+ */
465
+ renounceOwnership(options?: {
466
+ accessList?: import('viem').AccessList;
467
+ authorizationList?: import('viem').AuthorizationList;
468
+ chain?: import('viem').Chain | null;
469
+ dataSuffix?: `0x${string}`;
470
+ gas?: bigint;
471
+ gasPrice?: bigint;
472
+ maxFeePerGas?: bigint;
473
+ maxPriorityFeePerGas?: bigint;
474
+ nonce?: number;
475
+ value?: bigint;
476
+ }): Promise<`0x${string}`>;
477
+ /**
478
+ * rescueToken
479
+ * nonpayable
480
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
481
+ */
482
+ rescueToken(token: `0x${string}`, beneficiary: `0x${string}`, options?: {
483
+ accessList?: import('viem').AccessList;
484
+ authorizationList?: import('viem').AuthorizationList;
485
+ chain?: import('viem').Chain | null;
486
+ dataSuffix?: `0x${string}`;
487
+ gas?: bigint;
488
+ gasPrice?: bigint;
489
+ maxFeePerGas?: bigint;
490
+ maxPriorityFeePerGas?: bigint;
491
+ nonce?: number;
492
+ value?: bigint;
493
+ }): Promise<`0x${string}`>;
494
+ /**
495
+ * transfer
496
+ * nonpayable
497
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
498
+ */
499
+ transfer(to: `0x${string}`, amount: bigint, options?: {
500
+ accessList?: import('viem').AccessList;
501
+ authorizationList?: import('viem').AuthorizationList;
502
+ chain?: import('viem').Chain | null;
503
+ dataSuffix?: `0x${string}`;
504
+ gas?: bigint;
505
+ gasPrice?: bigint;
506
+ maxFeePerGas?: bigint;
507
+ maxPriorityFeePerGas?: bigint;
508
+ nonce?: number;
509
+ value?: bigint;
510
+ }): Promise<`0x${string}`>;
511
+ /**
512
+ * transferFrom
513
+ * nonpayable
514
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
515
+ */
516
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
517
+ accessList?: import('viem').AccessList;
518
+ authorizationList?: import('viem').AuthorizationList;
519
+ chain?: import('viem').Chain | null;
520
+ dataSuffix?: `0x${string}`;
521
+ gas?: bigint;
522
+ gasPrice?: bigint;
523
+ maxFeePerGas?: bigint;
524
+ maxPriorityFeePerGas?: bigint;
525
+ nonce?: number;
526
+ value?: bigint;
527
+ }): Promise<`0x${string}`>;
528
+ /**
529
+ * transferOwnership
530
+ * nonpayable
531
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
532
+ */
533
+ transferOwnership(newOwner: `0x${string}`, options?: {
534
+ accessList?: import('viem').AccessList;
535
+ authorizationList?: import('viem').AuthorizationList;
536
+ chain?: import('viem').Chain | null;
537
+ dataSuffix?: `0x${string}`;
538
+ gas?: bigint;
539
+ gasPrice?: bigint;
540
+ maxFeePerGas?: bigint;
541
+ maxPriorityFeePerGas?: bigint;
542
+ nonce?: number;
543
+ value?: bigint;
544
+ }): Promise<`0x${string}`>;
545
+ /**
546
+ * unpause
547
+ * nonpayable
548
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
549
+ */
550
+ unpause(options?: {
551
+ accessList?: import('viem').AccessList;
552
+ authorizationList?: import('viem').AuthorizationList;
553
+ chain?: import('viem').Chain | null;
554
+ dataSuffix?: `0x${string}`;
555
+ gas?: bigint;
556
+ gasPrice?: bigint;
557
+ maxFeePerGas?: bigint;
558
+ maxPriorityFeePerGas?: bigint;
559
+ nonce?: number;
560
+ value?: bigint;
561
+ }): Promise<`0x${string}`>;
562
+ /**
563
+ * Simulate contract write operations (dry-run without sending transaction)
564
+ *
565
+ * @example
566
+ * const result = await contract.simulate.transfer('0x...', 1000n);
567
+ * console.log('Gas estimate:', result.request.gas);
568
+ * console.log('Would succeed:', result.result);
569
+ */
570
+ get simulate(): {
571
+ /**
572
+ * Simulate approve
573
+ * Returns gas estimate and result without sending transaction
574
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
575
+ */
576
+ approve(spender: `0x${string}`, amount: bigint, options?: {
577
+ accessList?: import("viem").AccessList;
578
+ authorizationList?: import("viem").AuthorizationList;
579
+ chain?: import("viem").Chain | null;
580
+ dataSuffix?: `0x${string}`;
581
+ gas?: bigint;
582
+ gasPrice?: bigint;
583
+ maxFeePerGas?: bigint;
584
+ maxPriorityFeePerGas?: bigint;
585
+ nonce?: number;
586
+ value?: bigint;
587
+ }): Promise<boolean>;
588
+ /**
589
+ * Simulate decreaseAllowance
590
+ * Returns gas estimate and result without sending transaction
591
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
592
+ */
593
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
594
+ accessList?: import("viem").AccessList;
595
+ authorizationList?: import("viem").AuthorizationList;
596
+ chain?: import("viem").Chain | null;
597
+ dataSuffix?: `0x${string}`;
598
+ gas?: bigint;
599
+ gasPrice?: bigint;
600
+ maxFeePerGas?: bigint;
601
+ maxPriorityFeePerGas?: bigint;
602
+ nonce?: number;
603
+ value?: bigint;
604
+ }): Promise<boolean>;
605
+ /**
606
+ * Simulate increaseAllowance
607
+ * Returns gas estimate and result without sending transaction
608
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
609
+ */
610
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
611
+ accessList?: import("viem").AccessList;
612
+ authorizationList?: import("viem").AuthorizationList;
613
+ chain?: import("viem").Chain | null;
614
+ dataSuffix?: `0x${string}`;
615
+ gas?: bigint;
616
+ gasPrice?: bigint;
617
+ maxFeePerGas?: bigint;
618
+ maxPriorityFeePerGas?: bigint;
619
+ nonce?: number;
620
+ value?: bigint;
621
+ }): Promise<boolean>;
622
+ /**
623
+ * Simulate renounceOwnership
624
+ * Returns gas estimate and result without sending transaction
625
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
626
+ */
627
+ renounceOwnership(options?: {
628
+ accessList?: import("viem").AccessList;
629
+ authorizationList?: import("viem").AuthorizationList;
630
+ chain?: import("viem").Chain | null;
631
+ dataSuffix?: `0x${string}`;
632
+ gas?: bigint;
633
+ gasPrice?: bigint;
634
+ maxFeePerGas?: bigint;
635
+ maxPriorityFeePerGas?: bigint;
636
+ nonce?: number;
637
+ value?: bigint;
638
+ }): Promise<void>;
639
+ /**
640
+ * Simulate rescueToken
641
+ * Returns gas estimate and result without sending transaction
642
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
643
+ */
644
+ rescueToken(token: `0x${string}`, beneficiary: `0x${string}`, options?: {
645
+ accessList?: import("viem").AccessList;
646
+ authorizationList?: import("viem").AuthorizationList;
647
+ chain?: import("viem").Chain | null;
648
+ dataSuffix?: `0x${string}`;
649
+ gas?: bigint;
650
+ gasPrice?: bigint;
651
+ maxFeePerGas?: bigint;
652
+ maxPriorityFeePerGas?: bigint;
653
+ nonce?: number;
654
+ value?: bigint;
655
+ }): Promise<void>;
656
+ /**
657
+ * Simulate transfer
658
+ * Returns gas estimate and result without sending transaction
659
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
660
+ */
661
+ transfer(to: `0x${string}`, amount: bigint, options?: {
662
+ accessList?: import("viem").AccessList;
663
+ authorizationList?: import("viem").AuthorizationList;
664
+ chain?: import("viem").Chain | null;
665
+ dataSuffix?: `0x${string}`;
666
+ gas?: bigint;
667
+ gasPrice?: bigint;
668
+ maxFeePerGas?: bigint;
669
+ maxPriorityFeePerGas?: bigint;
670
+ nonce?: number;
671
+ value?: bigint;
672
+ }): Promise<boolean>;
673
+ /**
674
+ * Simulate transferFrom
675
+ * Returns gas estimate and result without sending transaction
676
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
677
+ */
678
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
679
+ accessList?: import("viem").AccessList;
680
+ authorizationList?: import("viem").AuthorizationList;
681
+ chain?: import("viem").Chain | null;
682
+ dataSuffix?: `0x${string}`;
683
+ gas?: bigint;
684
+ gasPrice?: bigint;
685
+ maxFeePerGas?: bigint;
686
+ maxPriorityFeePerGas?: bigint;
687
+ nonce?: number;
688
+ value?: bigint;
689
+ }): Promise<boolean>;
690
+ /**
691
+ * Simulate transferOwnership
692
+ * Returns gas estimate and result without sending transaction
693
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
694
+ */
695
+ transferOwnership(newOwner: `0x${string}`, options?: {
696
+ accessList?: import("viem").AccessList;
697
+ authorizationList?: import("viem").AuthorizationList;
698
+ chain?: import("viem").Chain | null;
699
+ dataSuffix?: `0x${string}`;
700
+ gas?: bigint;
701
+ gasPrice?: bigint;
702
+ maxFeePerGas?: bigint;
703
+ maxPriorityFeePerGas?: bigint;
704
+ nonce?: number;
705
+ value?: bigint;
706
+ }): Promise<void>;
707
+ /**
708
+ * Simulate unpause
709
+ * Returns gas estimate and result without sending transaction
710
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
711
+ */
712
+ unpause(options?: {
713
+ accessList?: import("viem").AccessList;
714
+ authorizationList?: import("viem").AuthorizationList;
715
+ chain?: import("viem").Chain | null;
716
+ dataSuffix?: `0x${string}`;
717
+ gas?: bigint;
718
+ gasPrice?: bigint;
719
+ maxFeePerGas?: bigint;
720
+ maxPriorityFeePerGas?: bigint;
721
+ nonce?: number;
722
+ value?: bigint;
723
+ }): Promise<void>;
724
+ };
725
+ /**
726
+ * Watch contract events
727
+ *
728
+ * @example
729
+ * // Watch all Transfer events
730
+ * const unwatch = contract.watch.Transfer((event) => {
731
+ * console.log('Transfer:', event);
732
+ * });
733
+ *
734
+ * // Stop watching
735
+ * unwatch();
736
+ */
737
+ get watch(): {
738
+ /**
739
+ * Watch Approval events
740
+ * @param callback Function to call when event is emitted
741
+ * @param filter Optional filter for indexed parameters
742
+ * @returns Unwatch function to stop listening
743
+ */
744
+ Approval: (callback: (event: {
745
+ owner: `0x${string}`;
746
+ spender: `0x${string}`;
747
+ value: bigint;
748
+ }) => void, filter?: {
749
+ owner?: `0x${string}` | `0x${string}`[] | null;
750
+ spender?: `0x${string}` | `0x${string}`[] | null;
751
+ }) => () => void;
752
+ /**
753
+ * Watch OwnershipTransferred events
754
+ * @param callback Function to call when event is emitted
755
+ * @param filter Optional filter for indexed parameters
756
+ * @returns Unwatch function to stop listening
757
+ */
758
+ OwnershipTransferred: (callback: (event: {
759
+ previousOwner: `0x${string}`;
760
+ newOwner: `0x${string}`;
761
+ }) => void, filter?: {
762
+ previousOwner?: `0x${string}` | `0x${string}`[] | null;
763
+ newOwner?: `0x${string}` | `0x${string}`[] | null;
764
+ }) => () => void;
765
+ /**
766
+ * Watch Paused events
767
+ * @param callback Function to call when event is emitted
768
+ * @param filter Optional filter for indexed parameters
769
+ * @returns Unwatch function to stop listening
770
+ */
771
+ Paused: (callback: (event: {
772
+ account: `0x${string}`;
773
+ }) => void) => () => void;
774
+ /**
775
+ * Watch Transfer events
776
+ * @param callback Function to call when event is emitted
777
+ * @param filter Optional filter for indexed parameters
778
+ * @returns Unwatch function to stop listening
779
+ */
780
+ Transfer: (callback: (event: {
781
+ from: `0x${string}`;
782
+ to: `0x${string}`;
783
+ value: bigint;
784
+ }) => void, filter?: {
785
+ from?: `0x${string}` | `0x${string}`[] | null;
786
+ to?: `0x${string}` | `0x${string}`[] | null;
787
+ }) => () => void;
788
+ /**
789
+ * Watch Unpaused events
790
+ * @param callback Function to call when event is emitted
791
+ * @param filter Optional filter for indexed parameters
792
+ * @returns Unwatch function to stop listening
793
+ */
794
+ Unpaused: (callback: (event: {
795
+ account: `0x${string}`;
796
+ }) => void) => () => void;
797
+ };
798
+ }