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