@gitmyabi/1-up 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,1627 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * OneUp_json ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const OneUp_jsonAbi: readonly [{
8
+ readonly inputs: readonly [];
9
+ readonly stateMutability: "nonpayable";
10
+ readonly type: "constructor";
11
+ }, {
12
+ readonly anonymous: false;
13
+ readonly inputs: readonly [{
14
+ readonly indexed: true;
15
+ readonly internalType: "address";
16
+ readonly name: "owner";
17
+ readonly type: "address";
18
+ }, {
19
+ readonly indexed: true;
20
+ readonly internalType: "address";
21
+ readonly name: "spender";
22
+ readonly type: "address";
23
+ }, {
24
+ readonly indexed: false;
25
+ readonly internalType: "uint256";
26
+ readonly name: "value";
27
+ readonly type: "uint256";
28
+ }];
29
+ readonly name: "Approval";
30
+ readonly type: "event";
31
+ }, {
32
+ readonly anonymous: false;
33
+ readonly inputs: readonly [{
34
+ readonly indexed: true;
35
+ readonly internalType: "address";
36
+ readonly name: "previousOwner";
37
+ readonly type: "address";
38
+ }, {
39
+ readonly indexed: true;
40
+ readonly internalType: "address";
41
+ readonly name: "newOwner";
42
+ readonly type: "address";
43
+ }];
44
+ readonly name: "OwnershipTransferred";
45
+ readonly type: "event";
46
+ }, {
47
+ readonly anonymous: false;
48
+ readonly inputs: readonly [{
49
+ readonly indexed: false;
50
+ readonly internalType: "address";
51
+ readonly name: "account";
52
+ readonly type: "address";
53
+ }];
54
+ readonly name: "Paused";
55
+ readonly type: "event";
56
+ }, {
57
+ readonly anonymous: false;
58
+ readonly inputs: readonly [{
59
+ readonly indexed: true;
60
+ readonly internalType: "bytes32";
61
+ readonly name: "role";
62
+ readonly type: "bytes32";
63
+ }, {
64
+ readonly indexed: true;
65
+ readonly internalType: "bytes32";
66
+ readonly name: "previousAdminRole";
67
+ readonly type: "bytes32";
68
+ }, {
69
+ readonly indexed: true;
70
+ readonly internalType: "bytes32";
71
+ readonly name: "newAdminRole";
72
+ readonly type: "bytes32";
73
+ }];
74
+ readonly name: "RoleAdminChanged";
75
+ readonly type: "event";
76
+ }, {
77
+ readonly anonymous: false;
78
+ readonly inputs: readonly [{
79
+ readonly indexed: true;
80
+ readonly internalType: "bytes32";
81
+ readonly name: "role";
82
+ readonly type: "bytes32";
83
+ }, {
84
+ readonly indexed: true;
85
+ readonly internalType: "address";
86
+ readonly name: "account";
87
+ readonly type: "address";
88
+ }, {
89
+ readonly indexed: true;
90
+ readonly internalType: "address";
91
+ readonly name: "sender";
92
+ readonly type: "address";
93
+ }];
94
+ readonly name: "RoleGranted";
95
+ readonly type: "event";
96
+ }, {
97
+ readonly anonymous: false;
98
+ readonly inputs: readonly [{
99
+ readonly indexed: true;
100
+ readonly internalType: "bytes32";
101
+ readonly name: "role";
102
+ readonly type: "bytes32";
103
+ }, {
104
+ readonly indexed: true;
105
+ readonly internalType: "address";
106
+ readonly name: "account";
107
+ readonly type: "address";
108
+ }, {
109
+ readonly indexed: true;
110
+ readonly internalType: "address";
111
+ readonly name: "sender";
112
+ readonly type: "address";
113
+ }];
114
+ readonly name: "RoleRevoked";
115
+ readonly type: "event";
116
+ }, {
117
+ readonly anonymous: false;
118
+ readonly inputs: readonly [{
119
+ readonly indexed: true;
120
+ readonly internalType: "address";
121
+ readonly name: "from";
122
+ readonly type: "address";
123
+ }, {
124
+ readonly indexed: true;
125
+ readonly internalType: "address";
126
+ readonly name: "to";
127
+ readonly type: "address";
128
+ }, {
129
+ readonly indexed: false;
130
+ readonly internalType: "uint256";
131
+ readonly name: "value";
132
+ readonly type: "uint256";
133
+ }];
134
+ readonly name: "Transfer";
135
+ readonly type: "event";
136
+ }, {
137
+ readonly anonymous: false;
138
+ readonly inputs: readonly [{
139
+ readonly indexed: false;
140
+ readonly internalType: "address";
141
+ readonly name: "account";
142
+ readonly type: "address";
143
+ }];
144
+ readonly name: "Unpaused";
145
+ readonly type: "event";
146
+ }, {
147
+ readonly inputs: readonly [];
148
+ readonly name: "DEFAULT_ADMIN_ROLE";
149
+ readonly outputs: readonly [{
150
+ readonly internalType: "bytes32";
151
+ readonly name: "";
152
+ readonly type: "bytes32";
153
+ }];
154
+ readonly stateMutability: "view";
155
+ readonly type: "function";
156
+ }, {
157
+ readonly inputs: readonly [];
158
+ readonly name: "MAX_ALLOWED_TOKENS";
159
+ readonly outputs: readonly [{
160
+ readonly internalType: "uint256";
161
+ readonly name: "";
162
+ readonly type: "uint256";
163
+ }];
164
+ readonly stateMutability: "view";
165
+ readonly type: "function";
166
+ }, {
167
+ readonly inputs: readonly [];
168
+ readonly name: "MAX_SUPPLY";
169
+ readonly outputs: readonly [{
170
+ readonly internalType: "uint256";
171
+ readonly name: "";
172
+ readonly type: "uint256";
173
+ }];
174
+ readonly stateMutability: "view";
175
+ readonly type: "function";
176
+ }, {
177
+ readonly inputs: readonly [];
178
+ readonly name: "MINTER_ROLE";
179
+ readonly outputs: readonly [{
180
+ readonly internalType: "bytes32";
181
+ readonly name: "";
182
+ readonly type: "bytes32";
183
+ }];
184
+ readonly stateMutability: "view";
185
+ readonly type: "function";
186
+ }, {
187
+ readonly inputs: readonly [];
188
+ readonly name: "PAUSER_ROLE";
189
+ readonly outputs: readonly [{
190
+ readonly internalType: "bytes32";
191
+ readonly name: "";
192
+ readonly type: "bytes32";
193
+ }];
194
+ readonly stateMutability: "view";
195
+ readonly type: "function";
196
+ }, {
197
+ readonly inputs: readonly [];
198
+ readonly name: "RESTRICTED_TRANSFER_DELAY";
199
+ readonly outputs: readonly [{
200
+ readonly internalType: "uint256";
201
+ readonly name: "";
202
+ readonly type: "uint256";
203
+ }];
204
+ readonly stateMutability: "view";
205
+ readonly type: "function";
206
+ }, {
207
+ readonly inputs: readonly [{
208
+ readonly internalType: "address";
209
+ readonly name: "owner";
210
+ readonly type: "address";
211
+ }, {
212
+ readonly internalType: "address";
213
+ readonly name: "spender";
214
+ readonly type: "address";
215
+ }];
216
+ readonly name: "allowance";
217
+ readonly outputs: readonly [{
218
+ readonly internalType: "uint256";
219
+ readonly name: "";
220
+ readonly type: "uint256";
221
+ }];
222
+ readonly stateMutability: "view";
223
+ readonly type: "function";
224
+ }, {
225
+ readonly inputs: readonly [{
226
+ readonly internalType: "address";
227
+ readonly name: "spender";
228
+ readonly type: "address";
229
+ }, {
230
+ readonly internalType: "uint256";
231
+ readonly name: "amount";
232
+ readonly type: "uint256";
233
+ }];
234
+ readonly name: "approve";
235
+ readonly outputs: readonly [{
236
+ readonly internalType: "bool";
237
+ readonly name: "";
238
+ readonly type: "bool";
239
+ }];
240
+ readonly stateMutability: "nonpayable";
241
+ readonly type: "function";
242
+ }, {
243
+ readonly inputs: readonly [{
244
+ readonly internalType: "address";
245
+ readonly name: "account";
246
+ readonly type: "address";
247
+ }];
248
+ readonly name: "balanceOf";
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: "uint256";
259
+ readonly name: "amount";
260
+ readonly type: "uint256";
261
+ }];
262
+ readonly name: "burn";
263
+ readonly outputs: readonly [];
264
+ readonly stateMutability: "nonpayable";
265
+ readonly type: "function";
266
+ }, {
267
+ readonly inputs: readonly [{
268
+ readonly internalType: "address";
269
+ readonly name: "account";
270
+ readonly type: "address";
271
+ }, {
272
+ readonly internalType: "uint256";
273
+ readonly name: "amount";
274
+ readonly type: "uint256";
275
+ }];
276
+ readonly name: "burnFrom";
277
+ readonly outputs: readonly [];
278
+ readonly stateMutability: "nonpayable";
279
+ readonly type: "function";
280
+ }, {
281
+ readonly inputs: readonly [];
282
+ readonly name: "decimals";
283
+ readonly outputs: readonly [{
284
+ readonly internalType: "uint8";
285
+ readonly name: "";
286
+ readonly type: "uint8";
287
+ }];
288
+ readonly stateMutability: "view";
289
+ readonly type: "function";
290
+ }, {
291
+ readonly inputs: readonly [{
292
+ readonly internalType: "address";
293
+ readonly name: "spender";
294
+ readonly type: "address";
295
+ }, {
296
+ readonly internalType: "uint256";
297
+ readonly name: "subtractedValue";
298
+ readonly type: "uint256";
299
+ }];
300
+ readonly name: "decreaseAllowance";
301
+ readonly outputs: readonly [{
302
+ readonly internalType: "bool";
303
+ readonly name: "";
304
+ readonly type: "bool";
305
+ }];
306
+ readonly stateMutability: "nonpayable";
307
+ readonly type: "function";
308
+ }, {
309
+ readonly inputs: readonly [{
310
+ readonly internalType: "uint256";
311
+ readonly name: "newDelay";
312
+ readonly type: "uint256";
313
+ }];
314
+ readonly name: "decreaseDelayBetweenTx";
315
+ readonly outputs: readonly [];
316
+ readonly stateMutability: "nonpayable";
317
+ readonly type: "function";
318
+ }, {
319
+ readonly inputs: readonly [];
320
+ readonly name: "delayBetweenTx";
321
+ readonly outputs: readonly [{
322
+ readonly internalType: "uint256";
323
+ readonly name: "";
324
+ readonly type: "uint256";
325
+ }];
326
+ readonly stateMutability: "view";
327
+ readonly type: "function";
328
+ }, {
329
+ readonly inputs: readonly [{
330
+ readonly internalType: "bytes32";
331
+ readonly name: "role";
332
+ readonly type: "bytes32";
333
+ }];
334
+ readonly name: "getRoleAdmin";
335
+ readonly outputs: readonly [{
336
+ readonly internalType: "bytes32";
337
+ readonly name: "";
338
+ readonly type: "bytes32";
339
+ }];
340
+ readonly stateMutability: "view";
341
+ readonly type: "function";
342
+ }, {
343
+ readonly inputs: readonly [{
344
+ readonly internalType: "bytes32";
345
+ readonly name: "role";
346
+ readonly type: "bytes32";
347
+ }, {
348
+ readonly internalType: "uint256";
349
+ readonly name: "index";
350
+ readonly type: "uint256";
351
+ }];
352
+ readonly name: "getRoleMember";
353
+ readonly outputs: readonly [{
354
+ readonly internalType: "address";
355
+ readonly name: "";
356
+ readonly type: "address";
357
+ }];
358
+ readonly stateMutability: "view";
359
+ readonly type: "function";
360
+ }, {
361
+ readonly inputs: readonly [{
362
+ readonly internalType: "bytes32";
363
+ readonly name: "role";
364
+ readonly type: "bytes32";
365
+ }];
366
+ readonly name: "getRoleMemberCount";
367
+ readonly outputs: readonly [{
368
+ readonly internalType: "uint256";
369
+ readonly name: "";
370
+ readonly type: "uint256";
371
+ }];
372
+ readonly stateMutability: "view";
373
+ readonly type: "function";
374
+ }, {
375
+ readonly inputs: readonly [{
376
+ readonly internalType: "bytes32";
377
+ readonly name: "role";
378
+ readonly type: "bytes32";
379
+ }, {
380
+ readonly internalType: "address";
381
+ readonly name: "account";
382
+ readonly type: "address";
383
+ }];
384
+ readonly name: "grantRole";
385
+ readonly outputs: readonly [];
386
+ readonly stateMutability: "nonpayable";
387
+ readonly type: "function";
388
+ }, {
389
+ readonly inputs: readonly [{
390
+ readonly internalType: "bytes32";
391
+ readonly name: "role";
392
+ readonly type: "bytes32";
393
+ }, {
394
+ readonly internalType: "address";
395
+ readonly name: "account";
396
+ readonly type: "address";
397
+ }];
398
+ readonly name: "hasRole";
399
+ readonly outputs: readonly [{
400
+ readonly internalType: "bool";
401
+ readonly name: "";
402
+ readonly type: "bool";
403
+ }];
404
+ readonly stateMutability: "view";
405
+ readonly type: "function";
406
+ }, {
407
+ readonly inputs: readonly [{
408
+ readonly internalType: "address";
409
+ readonly name: "spender";
410
+ readonly type: "address";
411
+ }, {
412
+ readonly internalType: "uint256";
413
+ readonly name: "addedValue";
414
+ readonly type: "uint256";
415
+ }];
416
+ readonly name: "increaseAllowance";
417
+ readonly outputs: readonly [{
418
+ readonly internalType: "bool";
419
+ readonly name: "";
420
+ readonly type: "bool";
421
+ }];
422
+ readonly stateMutability: "nonpayable";
423
+ readonly type: "function";
424
+ }, {
425
+ readonly inputs: readonly [{
426
+ readonly internalType: "address";
427
+ readonly name: "account";
428
+ readonly type: "address";
429
+ }];
430
+ readonly name: "isWhitelisted";
431
+ readonly outputs: readonly [{
432
+ readonly internalType: "bool";
433
+ readonly name: "";
434
+ readonly type: "bool";
435
+ }];
436
+ readonly stateMutability: "view";
437
+ readonly type: "function";
438
+ }, {
439
+ readonly inputs: readonly [{
440
+ readonly internalType: "address";
441
+ readonly name: "account";
442
+ readonly type: "address";
443
+ }];
444
+ readonly name: "lastTx";
445
+ readonly outputs: readonly [{
446
+ readonly internalType: "uint256";
447
+ readonly name: "";
448
+ readonly type: "uint256";
449
+ }];
450
+ readonly stateMutability: "view";
451
+ readonly type: "function";
452
+ }, {
453
+ readonly inputs: readonly [{
454
+ readonly internalType: "address";
455
+ readonly name: "to";
456
+ readonly type: "address";
457
+ }, {
458
+ readonly internalType: "uint256";
459
+ readonly name: "amount";
460
+ readonly type: "uint256";
461
+ }];
462
+ readonly name: "mint";
463
+ readonly outputs: readonly [];
464
+ readonly stateMutability: "nonpayable";
465
+ readonly type: "function";
466
+ }, {
467
+ readonly inputs: readonly [];
468
+ readonly name: "name";
469
+ readonly outputs: readonly [{
470
+ readonly internalType: "string";
471
+ readonly name: "";
472
+ readonly type: "string";
473
+ }];
474
+ readonly stateMutability: "view";
475
+ readonly type: "function";
476
+ }, {
477
+ readonly inputs: readonly [];
478
+ readonly name: "owner";
479
+ readonly outputs: readonly [{
480
+ readonly internalType: "address";
481
+ readonly name: "";
482
+ readonly type: "address";
483
+ }];
484
+ readonly stateMutability: "view";
485
+ readonly type: "function";
486
+ }, {
487
+ readonly inputs: readonly [];
488
+ readonly name: "pause";
489
+ readonly outputs: readonly [];
490
+ readonly stateMutability: "nonpayable";
491
+ readonly type: "function";
492
+ }, {
493
+ readonly inputs: readonly [];
494
+ readonly name: "paused";
495
+ readonly outputs: readonly [{
496
+ readonly internalType: "bool";
497
+ readonly name: "";
498
+ readonly type: "bool";
499
+ }];
500
+ readonly stateMutability: "view";
501
+ readonly type: "function";
502
+ }, {
503
+ readonly inputs: readonly [{
504
+ readonly internalType: "address";
505
+ readonly name: "account";
506
+ readonly type: "address";
507
+ }];
508
+ readonly name: "removeWhitelistedAccount";
509
+ readonly outputs: readonly [];
510
+ readonly stateMutability: "nonpayable";
511
+ readonly type: "function";
512
+ }, {
513
+ readonly inputs: readonly [];
514
+ readonly name: "renounceOwnership";
515
+ readonly outputs: readonly [];
516
+ readonly stateMutability: "nonpayable";
517
+ readonly type: "function";
518
+ }, {
519
+ readonly inputs: readonly [{
520
+ readonly internalType: "bytes32";
521
+ readonly name: "role";
522
+ readonly type: "bytes32";
523
+ }, {
524
+ readonly internalType: "address";
525
+ readonly name: "account";
526
+ readonly type: "address";
527
+ }];
528
+ readonly name: "renounceRole";
529
+ readonly outputs: readonly [];
530
+ readonly stateMutability: "nonpayable";
531
+ readonly type: "function";
532
+ }, {
533
+ readonly inputs: readonly [];
534
+ readonly name: "restrictionLiftTime";
535
+ readonly outputs: readonly [{
536
+ readonly internalType: "uint256";
537
+ readonly name: "";
538
+ readonly type: "uint256";
539
+ }];
540
+ readonly stateMutability: "view";
541
+ readonly type: "function";
542
+ }, {
543
+ readonly inputs: readonly [{
544
+ readonly internalType: "bytes32";
545
+ readonly name: "role";
546
+ readonly type: "bytes32";
547
+ }, {
548
+ readonly internalType: "address";
549
+ readonly name: "account";
550
+ readonly type: "address";
551
+ }];
552
+ readonly name: "revokeRole";
553
+ readonly outputs: readonly [];
554
+ readonly stateMutability: "nonpayable";
555
+ readonly type: "function";
556
+ }, {
557
+ readonly inputs: readonly [{
558
+ readonly internalType: "uint256";
559
+ readonly name: "time";
560
+ readonly type: "uint256";
561
+ }];
562
+ readonly name: "setTradingStart";
563
+ readonly outputs: readonly [];
564
+ readonly stateMutability: "nonpayable";
565
+ readonly type: "function";
566
+ }, {
567
+ readonly inputs: readonly [{
568
+ readonly internalType: "bytes4";
569
+ readonly name: "interfaceId";
570
+ readonly type: "bytes4";
571
+ }];
572
+ readonly name: "supportsInterface";
573
+ readonly outputs: readonly [{
574
+ readonly internalType: "bool";
575
+ readonly name: "";
576
+ readonly type: "bool";
577
+ }];
578
+ readonly stateMutability: "view";
579
+ readonly type: "function";
580
+ }, {
581
+ readonly inputs: readonly [];
582
+ readonly name: "symbol";
583
+ readonly outputs: readonly [{
584
+ readonly internalType: "string";
585
+ readonly name: "";
586
+ readonly type: "string";
587
+ }];
588
+ readonly stateMutability: "view";
589
+ readonly type: "function";
590
+ }, {
591
+ readonly inputs: readonly [];
592
+ readonly name: "totalSupply";
593
+ readonly outputs: readonly [{
594
+ readonly internalType: "uint256";
595
+ readonly name: "";
596
+ readonly type: "uint256";
597
+ }];
598
+ readonly stateMutability: "view";
599
+ readonly type: "function";
600
+ }, {
601
+ readonly inputs: readonly [];
602
+ readonly name: "tradingTime";
603
+ readonly outputs: readonly [{
604
+ readonly internalType: "uint256";
605
+ readonly name: "";
606
+ readonly type: "uint256";
607
+ }];
608
+ readonly stateMutability: "view";
609
+ readonly type: "function";
610
+ }, {
611
+ readonly inputs: readonly [{
612
+ readonly internalType: "address";
613
+ readonly name: "recipient";
614
+ readonly type: "address";
615
+ }, {
616
+ readonly internalType: "uint256";
617
+ readonly name: "amount";
618
+ readonly type: "uint256";
619
+ }];
620
+ readonly name: "transfer";
621
+ readonly outputs: readonly [{
622
+ readonly internalType: "bool";
623
+ readonly name: "";
624
+ readonly type: "bool";
625
+ }];
626
+ readonly stateMutability: "nonpayable";
627
+ readonly type: "function";
628
+ }, {
629
+ readonly inputs: readonly [{
630
+ readonly internalType: "address";
631
+ readonly name: "sender";
632
+ readonly type: "address";
633
+ }, {
634
+ readonly internalType: "address";
635
+ readonly name: "recipient";
636
+ readonly type: "address";
637
+ }, {
638
+ readonly internalType: "uint256";
639
+ readonly name: "amount";
640
+ readonly type: "uint256";
641
+ }];
642
+ readonly name: "transferFrom";
643
+ readonly outputs: readonly [{
644
+ readonly internalType: "bool";
645
+ readonly name: "";
646
+ readonly type: "bool";
647
+ }];
648
+ readonly stateMutability: "nonpayable";
649
+ readonly type: "function";
650
+ }, {
651
+ readonly inputs: readonly [{
652
+ readonly internalType: "address";
653
+ readonly name: "newOwner";
654
+ readonly type: "address";
655
+ }];
656
+ readonly name: "transferOwnership";
657
+ readonly outputs: readonly [];
658
+ readonly stateMutability: "nonpayable";
659
+ readonly type: "function";
660
+ }, {
661
+ readonly inputs: readonly [];
662
+ readonly name: "unpause";
663
+ readonly outputs: readonly [];
664
+ readonly stateMutability: "nonpayable";
665
+ readonly type: "function";
666
+ }, {
667
+ readonly inputs: readonly [{
668
+ readonly internalType: "address";
669
+ readonly name: "account";
670
+ readonly type: "address";
671
+ }];
672
+ readonly name: "whitelistAccount";
673
+ readonly outputs: readonly [];
674
+ readonly stateMutability: "nonpayable";
675
+ readonly type: "function";
676
+ }];
677
+ /**
678
+ * Type-safe ABI for OneUp_json
679
+ */
680
+ export type OneUp_jsonAbi = typeof OneUp_jsonAbi;
681
+ /**
682
+ * Contract instance type for OneUp_json
683
+ */
684
+ export type OneUp_jsonContract = any;
685
+ /**
686
+ * OneUp_json Contract Class
687
+ *
688
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
689
+ *
690
+ * @example
691
+ * ```typescript
692
+ * import { createPublicClient, createWalletClient, http } from 'viem';
693
+ * import { mainnet } from 'viem/chains';
694
+ * import { OneUp_json } from 'OneUp_json';
695
+ *
696
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
697
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
698
+ *
699
+ * const contract = new OneUp_json('0x...', { publicClient, walletClient });
700
+ *
701
+ * // Read functions
702
+ * const result = await contract.balanceOf('0x...');
703
+ *
704
+ * // Write functions
705
+ * const hash = await contract.transfer('0x...', 1000n);
706
+ *
707
+ * // Simulate transactions (dry-run)
708
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
709
+ * console.log('Gas estimate:', simulation.request.gas);
710
+ *
711
+ * // Watch events
712
+ * const unwatch = contract.watch.Transfer((event) => {
713
+ * console.log('Transfer event:', event);
714
+ * });
715
+ * ```
716
+ */
717
+ export declare class OneUp_json {
718
+ private contract;
719
+ private contractAddress;
720
+ private publicClient;
721
+ constructor(address: Address, clients: {
722
+ publicClient: PublicClient;
723
+ walletClient?: WalletClient;
724
+ });
725
+ /**
726
+ * Get the contract address
727
+ */
728
+ get address(): Address;
729
+ /**
730
+ * Get the underlying viem contract instance
731
+ */
732
+ getContract(): OneUp_jsonContract;
733
+ /**
734
+ * DEFAULT_ADMIN_ROLE
735
+ * view
736
+ */
737
+ DEFAULT_ADMIN_ROLE(): Promise<`0x${string}`>;
738
+ /**
739
+ * MAX_ALLOWED_TOKENS
740
+ * view
741
+ */
742
+ MAX_ALLOWED_TOKENS(): Promise<bigint>;
743
+ /**
744
+ * MAX_SUPPLY
745
+ * view
746
+ */
747
+ MAX_SUPPLY(): Promise<bigint>;
748
+ /**
749
+ * MINTER_ROLE
750
+ * view
751
+ */
752
+ MINTER_ROLE(): Promise<`0x${string}`>;
753
+ /**
754
+ * PAUSER_ROLE
755
+ * view
756
+ */
757
+ PAUSER_ROLE(): Promise<`0x${string}`>;
758
+ /**
759
+ * RESTRICTED_TRANSFER_DELAY
760
+ * view
761
+ */
762
+ RESTRICTED_TRANSFER_DELAY(): Promise<bigint>;
763
+ /**
764
+ * allowance
765
+ * view
766
+ */
767
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
768
+ /**
769
+ * balanceOf
770
+ * view
771
+ */
772
+ balanceOf(account: `0x${string}`): Promise<bigint>;
773
+ /**
774
+ * decimals
775
+ * view
776
+ */
777
+ decimals(): Promise<bigint>;
778
+ /**
779
+ * delayBetweenTx
780
+ * view
781
+ */
782
+ delayBetweenTx(): Promise<bigint>;
783
+ /**
784
+ * getRoleAdmin
785
+ * view
786
+ */
787
+ getRoleAdmin(role: `0x${string}`): Promise<`0x${string}`>;
788
+ /**
789
+ * getRoleMember
790
+ * view
791
+ */
792
+ getRoleMember(role: `0x${string}`, index: bigint): Promise<`0x${string}`>;
793
+ /**
794
+ * getRoleMemberCount
795
+ * view
796
+ */
797
+ getRoleMemberCount(role: `0x${string}`): Promise<bigint>;
798
+ /**
799
+ * hasRole
800
+ * view
801
+ */
802
+ hasRole(role: `0x${string}`, account: `0x${string}`): Promise<boolean>;
803
+ /**
804
+ * isWhitelisted
805
+ * view
806
+ */
807
+ isWhitelisted(account: `0x${string}`): Promise<boolean>;
808
+ /**
809
+ * lastTx
810
+ * view
811
+ */
812
+ lastTx(account: `0x${string}`): Promise<bigint>;
813
+ /**
814
+ * name
815
+ * view
816
+ */
817
+ name(): Promise<string>;
818
+ /**
819
+ * owner
820
+ * view
821
+ */
822
+ owner(): Promise<`0x${string}`>;
823
+ /**
824
+ * paused
825
+ * view
826
+ */
827
+ paused(): Promise<boolean>;
828
+ /**
829
+ * restrictionLiftTime
830
+ * view
831
+ */
832
+ restrictionLiftTime(): Promise<bigint>;
833
+ /**
834
+ * supportsInterface
835
+ * view
836
+ */
837
+ supportsInterface(interfaceId: `0x${string}`): Promise<boolean>;
838
+ /**
839
+ * symbol
840
+ * view
841
+ */
842
+ symbol(): Promise<string>;
843
+ /**
844
+ * totalSupply
845
+ * view
846
+ */
847
+ totalSupply(): Promise<bigint>;
848
+ /**
849
+ * tradingTime
850
+ * view
851
+ */
852
+ tradingTime(): Promise<bigint>;
853
+ /**
854
+ * approve
855
+ * nonpayable
856
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
857
+ */
858
+ approve(spender: `0x${string}`, amount: bigint, options?: {
859
+ accessList?: import('viem').AccessList;
860
+ authorizationList?: import('viem').AuthorizationList;
861
+ chain?: import('viem').Chain | null;
862
+ dataSuffix?: `0x${string}`;
863
+ gas?: bigint;
864
+ gasPrice?: bigint;
865
+ maxFeePerGas?: bigint;
866
+ maxPriorityFeePerGas?: bigint;
867
+ nonce?: number;
868
+ value?: bigint;
869
+ }): Promise<`0x${string}`>;
870
+ /**
871
+ * burn
872
+ * nonpayable
873
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
874
+ */
875
+ burn(amount: bigint, options?: {
876
+ accessList?: import('viem').AccessList;
877
+ authorizationList?: import('viem').AuthorizationList;
878
+ chain?: import('viem').Chain | null;
879
+ dataSuffix?: `0x${string}`;
880
+ gas?: bigint;
881
+ gasPrice?: bigint;
882
+ maxFeePerGas?: bigint;
883
+ maxPriorityFeePerGas?: bigint;
884
+ nonce?: number;
885
+ value?: bigint;
886
+ }): Promise<`0x${string}`>;
887
+ /**
888
+ * burnFrom
889
+ * nonpayable
890
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
891
+ */
892
+ burnFrom(account: `0x${string}`, amount: bigint, options?: {
893
+ accessList?: import('viem').AccessList;
894
+ authorizationList?: import('viem').AuthorizationList;
895
+ chain?: import('viem').Chain | null;
896
+ dataSuffix?: `0x${string}`;
897
+ gas?: bigint;
898
+ gasPrice?: bigint;
899
+ maxFeePerGas?: bigint;
900
+ maxPriorityFeePerGas?: bigint;
901
+ nonce?: number;
902
+ value?: bigint;
903
+ }): Promise<`0x${string}`>;
904
+ /**
905
+ * decreaseAllowance
906
+ * nonpayable
907
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
908
+ */
909
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
910
+ accessList?: import('viem').AccessList;
911
+ authorizationList?: import('viem').AuthorizationList;
912
+ chain?: import('viem').Chain | null;
913
+ dataSuffix?: `0x${string}`;
914
+ gas?: bigint;
915
+ gasPrice?: bigint;
916
+ maxFeePerGas?: bigint;
917
+ maxPriorityFeePerGas?: bigint;
918
+ nonce?: number;
919
+ value?: bigint;
920
+ }): Promise<`0x${string}`>;
921
+ /**
922
+ * decreaseDelayBetweenTx
923
+ * nonpayable
924
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
925
+ */
926
+ decreaseDelayBetweenTx(newDelay: bigint, options?: {
927
+ accessList?: import('viem').AccessList;
928
+ authorizationList?: import('viem').AuthorizationList;
929
+ chain?: import('viem').Chain | null;
930
+ dataSuffix?: `0x${string}`;
931
+ gas?: bigint;
932
+ gasPrice?: bigint;
933
+ maxFeePerGas?: bigint;
934
+ maxPriorityFeePerGas?: bigint;
935
+ nonce?: number;
936
+ value?: bigint;
937
+ }): Promise<`0x${string}`>;
938
+ /**
939
+ * grantRole
940
+ * nonpayable
941
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
942
+ */
943
+ grantRole(role: `0x${string}`, account: `0x${string}`, options?: {
944
+ accessList?: import('viem').AccessList;
945
+ authorizationList?: import('viem').AuthorizationList;
946
+ chain?: import('viem').Chain | null;
947
+ dataSuffix?: `0x${string}`;
948
+ gas?: bigint;
949
+ gasPrice?: bigint;
950
+ maxFeePerGas?: bigint;
951
+ maxPriorityFeePerGas?: bigint;
952
+ nonce?: number;
953
+ value?: bigint;
954
+ }): Promise<`0x${string}`>;
955
+ /**
956
+ * increaseAllowance
957
+ * nonpayable
958
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
959
+ */
960
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
961
+ accessList?: import('viem').AccessList;
962
+ authorizationList?: import('viem').AuthorizationList;
963
+ chain?: import('viem').Chain | null;
964
+ dataSuffix?: `0x${string}`;
965
+ gas?: bigint;
966
+ gasPrice?: bigint;
967
+ maxFeePerGas?: bigint;
968
+ maxPriorityFeePerGas?: bigint;
969
+ nonce?: number;
970
+ value?: bigint;
971
+ }): Promise<`0x${string}`>;
972
+ /**
973
+ * mint
974
+ * nonpayable
975
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
976
+ */
977
+ mint(to: `0x${string}`, amount: bigint, options?: {
978
+ accessList?: import('viem').AccessList;
979
+ authorizationList?: import('viem').AuthorizationList;
980
+ chain?: import('viem').Chain | null;
981
+ dataSuffix?: `0x${string}`;
982
+ gas?: bigint;
983
+ gasPrice?: bigint;
984
+ maxFeePerGas?: bigint;
985
+ maxPriorityFeePerGas?: bigint;
986
+ nonce?: number;
987
+ value?: bigint;
988
+ }): Promise<`0x${string}`>;
989
+ /**
990
+ * pause
991
+ * nonpayable
992
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
993
+ */
994
+ pause(options?: {
995
+ accessList?: import('viem').AccessList;
996
+ authorizationList?: import('viem').AuthorizationList;
997
+ chain?: import('viem').Chain | null;
998
+ dataSuffix?: `0x${string}`;
999
+ gas?: bigint;
1000
+ gasPrice?: bigint;
1001
+ maxFeePerGas?: bigint;
1002
+ maxPriorityFeePerGas?: bigint;
1003
+ nonce?: number;
1004
+ value?: bigint;
1005
+ }): Promise<`0x${string}`>;
1006
+ /**
1007
+ * removeWhitelistedAccount
1008
+ * nonpayable
1009
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1010
+ */
1011
+ removeWhitelistedAccount(account: `0x${string}`, options?: {
1012
+ accessList?: import('viem').AccessList;
1013
+ authorizationList?: import('viem').AuthorizationList;
1014
+ chain?: import('viem').Chain | null;
1015
+ dataSuffix?: `0x${string}`;
1016
+ gas?: bigint;
1017
+ gasPrice?: bigint;
1018
+ maxFeePerGas?: bigint;
1019
+ maxPriorityFeePerGas?: bigint;
1020
+ nonce?: number;
1021
+ value?: bigint;
1022
+ }): Promise<`0x${string}`>;
1023
+ /**
1024
+ * renounceOwnership
1025
+ * nonpayable
1026
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1027
+ */
1028
+ renounceOwnership(options?: {
1029
+ accessList?: import('viem').AccessList;
1030
+ authorizationList?: import('viem').AuthorizationList;
1031
+ chain?: import('viem').Chain | null;
1032
+ dataSuffix?: `0x${string}`;
1033
+ gas?: bigint;
1034
+ gasPrice?: bigint;
1035
+ maxFeePerGas?: bigint;
1036
+ maxPriorityFeePerGas?: bigint;
1037
+ nonce?: number;
1038
+ value?: bigint;
1039
+ }): Promise<`0x${string}`>;
1040
+ /**
1041
+ * renounceRole
1042
+ * nonpayable
1043
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1044
+ */
1045
+ renounceRole(role: `0x${string}`, account: `0x${string}`, options?: {
1046
+ accessList?: import('viem').AccessList;
1047
+ authorizationList?: import('viem').AuthorizationList;
1048
+ chain?: import('viem').Chain | null;
1049
+ dataSuffix?: `0x${string}`;
1050
+ gas?: bigint;
1051
+ gasPrice?: bigint;
1052
+ maxFeePerGas?: bigint;
1053
+ maxPriorityFeePerGas?: bigint;
1054
+ nonce?: number;
1055
+ value?: bigint;
1056
+ }): Promise<`0x${string}`>;
1057
+ /**
1058
+ * revokeRole
1059
+ * nonpayable
1060
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1061
+ */
1062
+ revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
1063
+ accessList?: import('viem').AccessList;
1064
+ authorizationList?: import('viem').AuthorizationList;
1065
+ chain?: import('viem').Chain | null;
1066
+ dataSuffix?: `0x${string}`;
1067
+ gas?: bigint;
1068
+ gasPrice?: bigint;
1069
+ maxFeePerGas?: bigint;
1070
+ maxPriorityFeePerGas?: bigint;
1071
+ nonce?: number;
1072
+ value?: bigint;
1073
+ }): Promise<`0x${string}`>;
1074
+ /**
1075
+ * setTradingStart
1076
+ * nonpayable
1077
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1078
+ */
1079
+ setTradingStart(time: bigint, options?: {
1080
+ accessList?: import('viem').AccessList;
1081
+ authorizationList?: import('viem').AuthorizationList;
1082
+ chain?: import('viem').Chain | null;
1083
+ dataSuffix?: `0x${string}`;
1084
+ gas?: bigint;
1085
+ gasPrice?: bigint;
1086
+ maxFeePerGas?: bigint;
1087
+ maxPriorityFeePerGas?: bigint;
1088
+ nonce?: number;
1089
+ value?: bigint;
1090
+ }): Promise<`0x${string}`>;
1091
+ /**
1092
+ * transfer
1093
+ * nonpayable
1094
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1095
+ */
1096
+ transfer(recipient: `0x${string}`, amount: bigint, options?: {
1097
+ accessList?: import('viem').AccessList;
1098
+ authorizationList?: import('viem').AuthorizationList;
1099
+ chain?: import('viem').Chain | null;
1100
+ dataSuffix?: `0x${string}`;
1101
+ gas?: bigint;
1102
+ gasPrice?: bigint;
1103
+ maxFeePerGas?: bigint;
1104
+ maxPriorityFeePerGas?: bigint;
1105
+ nonce?: number;
1106
+ value?: bigint;
1107
+ }): Promise<`0x${string}`>;
1108
+ /**
1109
+ * transferFrom
1110
+ * nonpayable
1111
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1112
+ */
1113
+ transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, options?: {
1114
+ accessList?: import('viem').AccessList;
1115
+ authorizationList?: import('viem').AuthorizationList;
1116
+ chain?: import('viem').Chain | null;
1117
+ dataSuffix?: `0x${string}`;
1118
+ gas?: bigint;
1119
+ gasPrice?: bigint;
1120
+ maxFeePerGas?: bigint;
1121
+ maxPriorityFeePerGas?: bigint;
1122
+ nonce?: number;
1123
+ value?: bigint;
1124
+ }): Promise<`0x${string}`>;
1125
+ /**
1126
+ * transferOwnership
1127
+ * nonpayable
1128
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1129
+ */
1130
+ transferOwnership(newOwner: `0x${string}`, options?: {
1131
+ accessList?: import('viem').AccessList;
1132
+ authorizationList?: import('viem').AuthorizationList;
1133
+ chain?: import('viem').Chain | null;
1134
+ dataSuffix?: `0x${string}`;
1135
+ gas?: bigint;
1136
+ gasPrice?: bigint;
1137
+ maxFeePerGas?: bigint;
1138
+ maxPriorityFeePerGas?: bigint;
1139
+ nonce?: number;
1140
+ value?: bigint;
1141
+ }): Promise<`0x${string}`>;
1142
+ /**
1143
+ * unpause
1144
+ * nonpayable
1145
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1146
+ */
1147
+ unpause(options?: {
1148
+ accessList?: import('viem').AccessList;
1149
+ authorizationList?: import('viem').AuthorizationList;
1150
+ chain?: import('viem').Chain | null;
1151
+ dataSuffix?: `0x${string}`;
1152
+ gas?: bigint;
1153
+ gasPrice?: bigint;
1154
+ maxFeePerGas?: bigint;
1155
+ maxPriorityFeePerGas?: bigint;
1156
+ nonce?: number;
1157
+ value?: bigint;
1158
+ }): Promise<`0x${string}`>;
1159
+ /**
1160
+ * whitelistAccount
1161
+ * nonpayable
1162
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1163
+ */
1164
+ whitelistAccount(account: `0x${string}`, options?: {
1165
+ accessList?: import('viem').AccessList;
1166
+ authorizationList?: import('viem').AuthorizationList;
1167
+ chain?: import('viem').Chain | null;
1168
+ dataSuffix?: `0x${string}`;
1169
+ gas?: bigint;
1170
+ gasPrice?: bigint;
1171
+ maxFeePerGas?: bigint;
1172
+ maxPriorityFeePerGas?: bigint;
1173
+ nonce?: number;
1174
+ value?: bigint;
1175
+ }): Promise<`0x${string}`>;
1176
+ /**
1177
+ * Simulate contract write operations (dry-run without sending transaction)
1178
+ *
1179
+ * @example
1180
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1181
+ * console.log('Gas estimate:', result.request.gas);
1182
+ * console.log('Would succeed:', result.result);
1183
+ */
1184
+ get simulate(): {
1185
+ /**
1186
+ * Simulate approve
1187
+ * Returns gas estimate and result without sending transaction
1188
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1189
+ */
1190
+ approve(spender: `0x${string}`, amount: bigint, options?: {
1191
+ accessList?: import("viem").AccessList;
1192
+ authorizationList?: import("viem").AuthorizationList;
1193
+ chain?: import("viem").Chain | null;
1194
+ dataSuffix?: `0x${string}`;
1195
+ gas?: bigint;
1196
+ gasPrice?: bigint;
1197
+ maxFeePerGas?: bigint;
1198
+ maxPriorityFeePerGas?: bigint;
1199
+ nonce?: number;
1200
+ value?: bigint;
1201
+ }): Promise<boolean>;
1202
+ /**
1203
+ * Simulate burn
1204
+ * Returns gas estimate and result without sending transaction
1205
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1206
+ */
1207
+ burn(amount: bigint, options?: {
1208
+ accessList?: import("viem").AccessList;
1209
+ authorizationList?: import("viem").AuthorizationList;
1210
+ chain?: import("viem").Chain | null;
1211
+ dataSuffix?: `0x${string}`;
1212
+ gas?: bigint;
1213
+ gasPrice?: bigint;
1214
+ maxFeePerGas?: bigint;
1215
+ maxPriorityFeePerGas?: bigint;
1216
+ nonce?: number;
1217
+ value?: bigint;
1218
+ }): Promise<void>;
1219
+ /**
1220
+ * Simulate burnFrom
1221
+ * Returns gas estimate and result without sending transaction
1222
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1223
+ */
1224
+ burnFrom(account: `0x${string}`, amount: bigint, options?: {
1225
+ accessList?: import("viem").AccessList;
1226
+ authorizationList?: import("viem").AuthorizationList;
1227
+ chain?: import("viem").Chain | null;
1228
+ dataSuffix?: `0x${string}`;
1229
+ gas?: bigint;
1230
+ gasPrice?: bigint;
1231
+ maxFeePerGas?: bigint;
1232
+ maxPriorityFeePerGas?: bigint;
1233
+ nonce?: number;
1234
+ value?: bigint;
1235
+ }): Promise<void>;
1236
+ /**
1237
+ * Simulate decreaseAllowance
1238
+ * Returns gas estimate and result without sending transaction
1239
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1240
+ */
1241
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
1242
+ accessList?: import("viem").AccessList;
1243
+ authorizationList?: import("viem").AuthorizationList;
1244
+ chain?: import("viem").Chain | null;
1245
+ dataSuffix?: `0x${string}`;
1246
+ gas?: bigint;
1247
+ gasPrice?: bigint;
1248
+ maxFeePerGas?: bigint;
1249
+ maxPriorityFeePerGas?: bigint;
1250
+ nonce?: number;
1251
+ value?: bigint;
1252
+ }): Promise<boolean>;
1253
+ /**
1254
+ * Simulate decreaseDelayBetweenTx
1255
+ * Returns gas estimate and result without sending transaction
1256
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1257
+ */
1258
+ decreaseDelayBetweenTx(newDelay: bigint, options?: {
1259
+ accessList?: import("viem").AccessList;
1260
+ authorizationList?: import("viem").AuthorizationList;
1261
+ chain?: import("viem").Chain | null;
1262
+ dataSuffix?: `0x${string}`;
1263
+ gas?: bigint;
1264
+ gasPrice?: bigint;
1265
+ maxFeePerGas?: bigint;
1266
+ maxPriorityFeePerGas?: bigint;
1267
+ nonce?: number;
1268
+ value?: bigint;
1269
+ }): Promise<void>;
1270
+ /**
1271
+ * Simulate grantRole
1272
+ * Returns gas estimate and result without sending transaction
1273
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1274
+ */
1275
+ grantRole(role: `0x${string}`, account: `0x${string}`, options?: {
1276
+ accessList?: import("viem").AccessList;
1277
+ authorizationList?: import("viem").AuthorizationList;
1278
+ chain?: import("viem").Chain | null;
1279
+ dataSuffix?: `0x${string}`;
1280
+ gas?: bigint;
1281
+ gasPrice?: bigint;
1282
+ maxFeePerGas?: bigint;
1283
+ maxPriorityFeePerGas?: bigint;
1284
+ nonce?: number;
1285
+ value?: bigint;
1286
+ }): Promise<void>;
1287
+ /**
1288
+ * Simulate increaseAllowance
1289
+ * Returns gas estimate and result without sending transaction
1290
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1291
+ */
1292
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
1293
+ accessList?: import("viem").AccessList;
1294
+ authorizationList?: import("viem").AuthorizationList;
1295
+ chain?: import("viem").Chain | null;
1296
+ dataSuffix?: `0x${string}`;
1297
+ gas?: bigint;
1298
+ gasPrice?: bigint;
1299
+ maxFeePerGas?: bigint;
1300
+ maxPriorityFeePerGas?: bigint;
1301
+ nonce?: number;
1302
+ value?: bigint;
1303
+ }): Promise<boolean>;
1304
+ /**
1305
+ * Simulate mint
1306
+ * Returns gas estimate and result without sending transaction
1307
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1308
+ */
1309
+ mint(to: `0x${string}`, amount: bigint, options?: {
1310
+ accessList?: import("viem").AccessList;
1311
+ authorizationList?: import("viem").AuthorizationList;
1312
+ chain?: import("viem").Chain | null;
1313
+ dataSuffix?: `0x${string}`;
1314
+ gas?: bigint;
1315
+ gasPrice?: bigint;
1316
+ maxFeePerGas?: bigint;
1317
+ maxPriorityFeePerGas?: bigint;
1318
+ nonce?: number;
1319
+ value?: bigint;
1320
+ }): Promise<void>;
1321
+ /**
1322
+ * Simulate pause
1323
+ * Returns gas estimate and result without sending transaction
1324
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1325
+ */
1326
+ pause(options?: {
1327
+ accessList?: import("viem").AccessList;
1328
+ authorizationList?: import("viem").AuthorizationList;
1329
+ chain?: import("viem").Chain | null;
1330
+ dataSuffix?: `0x${string}`;
1331
+ gas?: bigint;
1332
+ gasPrice?: bigint;
1333
+ maxFeePerGas?: bigint;
1334
+ maxPriorityFeePerGas?: bigint;
1335
+ nonce?: number;
1336
+ value?: bigint;
1337
+ }): Promise<void>;
1338
+ /**
1339
+ * Simulate removeWhitelistedAccount
1340
+ * Returns gas estimate and result without sending transaction
1341
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1342
+ */
1343
+ removeWhitelistedAccount(account: `0x${string}`, options?: {
1344
+ accessList?: import("viem").AccessList;
1345
+ authorizationList?: import("viem").AuthorizationList;
1346
+ chain?: import("viem").Chain | null;
1347
+ dataSuffix?: `0x${string}`;
1348
+ gas?: bigint;
1349
+ gasPrice?: bigint;
1350
+ maxFeePerGas?: bigint;
1351
+ maxPriorityFeePerGas?: bigint;
1352
+ nonce?: number;
1353
+ value?: bigint;
1354
+ }): Promise<void>;
1355
+ /**
1356
+ * Simulate renounceOwnership
1357
+ * Returns gas estimate and result without sending transaction
1358
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1359
+ */
1360
+ renounceOwnership(options?: {
1361
+ accessList?: import("viem").AccessList;
1362
+ authorizationList?: import("viem").AuthorizationList;
1363
+ chain?: import("viem").Chain | null;
1364
+ dataSuffix?: `0x${string}`;
1365
+ gas?: bigint;
1366
+ gasPrice?: bigint;
1367
+ maxFeePerGas?: bigint;
1368
+ maxPriorityFeePerGas?: bigint;
1369
+ nonce?: number;
1370
+ value?: bigint;
1371
+ }): Promise<void>;
1372
+ /**
1373
+ * Simulate renounceRole
1374
+ * Returns gas estimate and result without sending transaction
1375
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1376
+ */
1377
+ renounceRole(role: `0x${string}`, account: `0x${string}`, options?: {
1378
+ accessList?: import("viem").AccessList;
1379
+ authorizationList?: import("viem").AuthorizationList;
1380
+ chain?: import("viem").Chain | null;
1381
+ dataSuffix?: `0x${string}`;
1382
+ gas?: bigint;
1383
+ gasPrice?: bigint;
1384
+ maxFeePerGas?: bigint;
1385
+ maxPriorityFeePerGas?: bigint;
1386
+ nonce?: number;
1387
+ value?: bigint;
1388
+ }): Promise<void>;
1389
+ /**
1390
+ * Simulate revokeRole
1391
+ * Returns gas estimate and result without sending transaction
1392
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1393
+ */
1394
+ revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
1395
+ accessList?: import("viem").AccessList;
1396
+ authorizationList?: import("viem").AuthorizationList;
1397
+ chain?: import("viem").Chain | null;
1398
+ dataSuffix?: `0x${string}`;
1399
+ gas?: bigint;
1400
+ gasPrice?: bigint;
1401
+ maxFeePerGas?: bigint;
1402
+ maxPriorityFeePerGas?: bigint;
1403
+ nonce?: number;
1404
+ value?: bigint;
1405
+ }): Promise<void>;
1406
+ /**
1407
+ * Simulate setTradingStart
1408
+ * Returns gas estimate and result without sending transaction
1409
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1410
+ */
1411
+ setTradingStart(time: bigint, options?: {
1412
+ accessList?: import("viem").AccessList;
1413
+ authorizationList?: import("viem").AuthorizationList;
1414
+ chain?: import("viem").Chain | null;
1415
+ dataSuffix?: `0x${string}`;
1416
+ gas?: bigint;
1417
+ gasPrice?: bigint;
1418
+ maxFeePerGas?: bigint;
1419
+ maxPriorityFeePerGas?: bigint;
1420
+ nonce?: number;
1421
+ value?: bigint;
1422
+ }): Promise<void>;
1423
+ /**
1424
+ * Simulate transfer
1425
+ * Returns gas estimate and result without sending transaction
1426
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1427
+ */
1428
+ transfer(recipient: `0x${string}`, amount: bigint, options?: {
1429
+ accessList?: import("viem").AccessList;
1430
+ authorizationList?: import("viem").AuthorizationList;
1431
+ chain?: import("viem").Chain | null;
1432
+ dataSuffix?: `0x${string}`;
1433
+ gas?: bigint;
1434
+ gasPrice?: bigint;
1435
+ maxFeePerGas?: bigint;
1436
+ maxPriorityFeePerGas?: bigint;
1437
+ nonce?: number;
1438
+ value?: bigint;
1439
+ }): Promise<boolean>;
1440
+ /**
1441
+ * Simulate transferFrom
1442
+ * Returns gas estimate and result without sending transaction
1443
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1444
+ */
1445
+ transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, options?: {
1446
+ accessList?: import("viem").AccessList;
1447
+ authorizationList?: import("viem").AuthorizationList;
1448
+ chain?: import("viem").Chain | null;
1449
+ dataSuffix?: `0x${string}`;
1450
+ gas?: bigint;
1451
+ gasPrice?: bigint;
1452
+ maxFeePerGas?: bigint;
1453
+ maxPriorityFeePerGas?: bigint;
1454
+ nonce?: number;
1455
+ value?: bigint;
1456
+ }): Promise<boolean>;
1457
+ /**
1458
+ * Simulate transferOwnership
1459
+ * Returns gas estimate and result without sending transaction
1460
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1461
+ */
1462
+ transferOwnership(newOwner: `0x${string}`, options?: {
1463
+ accessList?: import("viem").AccessList;
1464
+ authorizationList?: import("viem").AuthorizationList;
1465
+ chain?: import("viem").Chain | null;
1466
+ dataSuffix?: `0x${string}`;
1467
+ gas?: bigint;
1468
+ gasPrice?: bigint;
1469
+ maxFeePerGas?: bigint;
1470
+ maxPriorityFeePerGas?: bigint;
1471
+ nonce?: number;
1472
+ value?: bigint;
1473
+ }): Promise<void>;
1474
+ /**
1475
+ * Simulate unpause
1476
+ * Returns gas estimate and result without sending transaction
1477
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1478
+ */
1479
+ unpause(options?: {
1480
+ accessList?: import("viem").AccessList;
1481
+ authorizationList?: import("viem").AuthorizationList;
1482
+ chain?: import("viem").Chain | null;
1483
+ dataSuffix?: `0x${string}`;
1484
+ gas?: bigint;
1485
+ gasPrice?: bigint;
1486
+ maxFeePerGas?: bigint;
1487
+ maxPriorityFeePerGas?: bigint;
1488
+ nonce?: number;
1489
+ value?: bigint;
1490
+ }): Promise<void>;
1491
+ /**
1492
+ * Simulate whitelistAccount
1493
+ * Returns gas estimate and result without sending transaction
1494
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1495
+ */
1496
+ whitelistAccount(account: `0x${string}`, options?: {
1497
+ accessList?: import("viem").AccessList;
1498
+ authorizationList?: import("viem").AuthorizationList;
1499
+ chain?: import("viem").Chain | null;
1500
+ dataSuffix?: `0x${string}`;
1501
+ gas?: bigint;
1502
+ gasPrice?: bigint;
1503
+ maxFeePerGas?: bigint;
1504
+ maxPriorityFeePerGas?: bigint;
1505
+ nonce?: number;
1506
+ value?: bigint;
1507
+ }): Promise<void>;
1508
+ };
1509
+ /**
1510
+ * Watch contract events
1511
+ *
1512
+ * @example
1513
+ * // Watch all Transfer events
1514
+ * const unwatch = contract.watch.Transfer((event) => {
1515
+ * console.log('Transfer:', event);
1516
+ * });
1517
+ *
1518
+ * // Stop watching
1519
+ * unwatch();
1520
+ */
1521
+ get watch(): {
1522
+ /**
1523
+ * Watch Approval events
1524
+ * @param callback Function to call when event is emitted
1525
+ * @param filter Optional filter for indexed parameters
1526
+ * @returns Unwatch function to stop listening
1527
+ */
1528
+ Approval: (callback: (event: {
1529
+ owner: `0x${string}`;
1530
+ spender: `0x${string}`;
1531
+ value: bigint;
1532
+ }) => void, filter?: {
1533
+ owner: `0x${string}`;
1534
+ spender: `0x${string}`;
1535
+ }) => () => void;
1536
+ /**
1537
+ * Watch OwnershipTransferred events
1538
+ * @param callback Function to call when event is emitted
1539
+ * @param filter Optional filter for indexed parameters
1540
+ * @returns Unwatch function to stop listening
1541
+ */
1542
+ OwnershipTransferred: (callback: (event: {
1543
+ previousOwner: `0x${string}`;
1544
+ newOwner: `0x${string}`;
1545
+ }) => void, filter?: {
1546
+ previousOwner: `0x${string}`;
1547
+ newOwner: `0x${string}`;
1548
+ }) => () => void;
1549
+ /**
1550
+ * Watch Paused events
1551
+ * @param callback Function to call when event is emitted
1552
+ * @param filter Optional filter for indexed parameters
1553
+ * @returns Unwatch function to stop listening
1554
+ */
1555
+ Paused: (callback: (event: {
1556
+ account: `0x${string}`;
1557
+ }) => void) => () => void;
1558
+ /**
1559
+ * Watch RoleAdminChanged events
1560
+ * @param callback Function to call when event is emitted
1561
+ * @param filter Optional filter for indexed parameters
1562
+ * @returns Unwatch function to stop listening
1563
+ */
1564
+ RoleAdminChanged: (callback: (event: {
1565
+ role: `0x${string}`;
1566
+ previousAdminRole: `0x${string}`;
1567
+ newAdminRole: `0x${string}`;
1568
+ }) => void, filter?: {
1569
+ role: `0x${string}`;
1570
+ previousAdminRole: `0x${string}`;
1571
+ newAdminRole: `0x${string}`;
1572
+ }) => () => void;
1573
+ /**
1574
+ * Watch RoleGranted events
1575
+ * @param callback Function to call when event is emitted
1576
+ * @param filter Optional filter for indexed parameters
1577
+ * @returns Unwatch function to stop listening
1578
+ */
1579
+ RoleGranted: (callback: (event: {
1580
+ role: `0x${string}`;
1581
+ account: `0x${string}`;
1582
+ sender: `0x${string}`;
1583
+ }) => void, filter?: {
1584
+ role: `0x${string}`;
1585
+ account: `0x${string}`;
1586
+ sender: `0x${string}`;
1587
+ }) => () => void;
1588
+ /**
1589
+ * Watch RoleRevoked events
1590
+ * @param callback Function to call when event is emitted
1591
+ * @param filter Optional filter for indexed parameters
1592
+ * @returns Unwatch function to stop listening
1593
+ */
1594
+ RoleRevoked: (callback: (event: {
1595
+ role: `0x${string}`;
1596
+ account: `0x${string}`;
1597
+ sender: `0x${string}`;
1598
+ }) => void, filter?: {
1599
+ role: `0x${string}`;
1600
+ account: `0x${string}`;
1601
+ sender: `0x${string}`;
1602
+ }) => () => void;
1603
+ /**
1604
+ * Watch Transfer events
1605
+ * @param callback Function to call when event is emitted
1606
+ * @param filter Optional filter for indexed parameters
1607
+ * @returns Unwatch function to stop listening
1608
+ */
1609
+ Transfer: (callback: (event: {
1610
+ from: `0x${string}`;
1611
+ to: `0x${string}`;
1612
+ value: bigint;
1613
+ }) => void, filter?: {
1614
+ from: `0x${string}`;
1615
+ to: `0x${string}`;
1616
+ }) => () => void;
1617
+ /**
1618
+ * Watch Unpaused events
1619
+ * @param callback Function to call when event is emitted
1620
+ * @param filter Optional filter for indexed parameters
1621
+ * @returns Unwatch function to stop listening
1622
+ */
1623
+ Unpaused: (callback: (event: {
1624
+ account: `0x${string}`;
1625
+ }) => void) => () => void;
1626
+ };
1627
+ }