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