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