@gitmyabi-stg/ldo 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,1001 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * MiniMeToken ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const MiniMeTokenAbi: 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: "_amount";
25
+ readonly type: "uint256";
26
+ }];
27
+ readonly name: "approve";
28
+ readonly outputs: readonly [{
29
+ readonly name: "success";
30
+ readonly type: "bool";
31
+ }];
32
+ readonly payable: false;
33
+ readonly stateMutability: "nonpayable";
34
+ readonly type: "function";
35
+ }, {
36
+ readonly constant: true;
37
+ readonly inputs: readonly [];
38
+ readonly name: "creationBlock";
39
+ readonly outputs: readonly [{
40
+ readonly name: "";
41
+ readonly type: "uint256";
42
+ }];
43
+ readonly payable: false;
44
+ readonly stateMutability: "view";
45
+ readonly type: "function";
46
+ }, {
47
+ readonly constant: true;
48
+ readonly inputs: readonly [];
49
+ readonly name: "totalSupply";
50
+ readonly outputs: readonly [{
51
+ readonly name: "";
52
+ readonly type: "uint256";
53
+ }];
54
+ readonly payable: false;
55
+ readonly stateMutability: "view";
56
+ readonly type: "function";
57
+ }, {
58
+ readonly constant: false;
59
+ readonly inputs: readonly [{
60
+ readonly name: "_from";
61
+ readonly type: "address";
62
+ }, {
63
+ readonly name: "_to";
64
+ readonly type: "address";
65
+ }, {
66
+ readonly name: "_amount";
67
+ readonly type: "uint256";
68
+ }];
69
+ readonly name: "transferFrom";
70
+ readonly outputs: readonly [{
71
+ readonly name: "success";
72
+ readonly type: "bool";
73
+ }];
74
+ readonly payable: false;
75
+ readonly stateMutability: "nonpayable";
76
+ readonly type: "function";
77
+ }, {
78
+ readonly constant: true;
79
+ readonly inputs: readonly [];
80
+ readonly name: "decimals";
81
+ readonly outputs: readonly [{
82
+ readonly name: "";
83
+ readonly type: "uint8";
84
+ }];
85
+ readonly payable: false;
86
+ readonly stateMutability: "view";
87
+ readonly type: "function";
88
+ }, {
89
+ readonly constant: false;
90
+ readonly inputs: readonly [{
91
+ readonly name: "_newController";
92
+ readonly type: "address";
93
+ }];
94
+ readonly name: "changeController";
95
+ readonly outputs: readonly [];
96
+ readonly payable: false;
97
+ readonly stateMutability: "nonpayable";
98
+ readonly type: "function";
99
+ }, {
100
+ readonly constant: true;
101
+ readonly inputs: readonly [{
102
+ readonly name: "_owner";
103
+ readonly type: "address";
104
+ }, {
105
+ readonly name: "_blockNumber";
106
+ readonly type: "uint256";
107
+ }];
108
+ readonly name: "balanceOfAt";
109
+ readonly outputs: readonly [{
110
+ readonly name: "";
111
+ readonly type: "uint256";
112
+ }];
113
+ readonly payable: false;
114
+ readonly stateMutability: "view";
115
+ readonly type: "function";
116
+ }, {
117
+ readonly constant: true;
118
+ readonly inputs: readonly [];
119
+ readonly name: "version";
120
+ readonly outputs: readonly [{
121
+ readonly name: "";
122
+ readonly type: "string";
123
+ }];
124
+ readonly payable: false;
125
+ readonly stateMutability: "view";
126
+ readonly type: "function";
127
+ }, {
128
+ readonly constant: false;
129
+ readonly inputs: readonly [{
130
+ readonly name: "_cloneTokenName";
131
+ readonly type: "string";
132
+ }, {
133
+ readonly name: "_cloneDecimalUnits";
134
+ readonly type: "uint8";
135
+ }, {
136
+ readonly name: "_cloneTokenSymbol";
137
+ readonly type: "string";
138
+ }, {
139
+ readonly name: "_snapshotBlock";
140
+ readonly type: "uint256";
141
+ }, {
142
+ readonly name: "_transfersEnabled";
143
+ readonly type: "bool";
144
+ }];
145
+ readonly name: "createCloneToken";
146
+ readonly outputs: readonly [{
147
+ readonly name: "";
148
+ readonly type: "address";
149
+ }];
150
+ readonly payable: false;
151
+ readonly stateMutability: "nonpayable";
152
+ readonly type: "function";
153
+ }, {
154
+ readonly constant: true;
155
+ readonly inputs: readonly [{
156
+ readonly name: "_owner";
157
+ readonly type: "address";
158
+ }];
159
+ readonly name: "balanceOf";
160
+ readonly outputs: readonly [{
161
+ readonly name: "balance";
162
+ readonly type: "uint256";
163
+ }];
164
+ readonly payable: false;
165
+ readonly stateMutability: "view";
166
+ readonly type: "function";
167
+ }, {
168
+ readonly constant: true;
169
+ readonly inputs: readonly [];
170
+ readonly name: "parentToken";
171
+ readonly outputs: readonly [{
172
+ readonly name: "";
173
+ readonly type: "address";
174
+ }];
175
+ readonly payable: false;
176
+ readonly stateMutability: "view";
177
+ readonly type: "function";
178
+ }, {
179
+ readonly constant: false;
180
+ readonly inputs: readonly [{
181
+ readonly name: "_owner";
182
+ readonly type: "address";
183
+ }, {
184
+ readonly name: "_amount";
185
+ readonly type: "uint256";
186
+ }];
187
+ readonly name: "generateTokens";
188
+ readonly outputs: readonly [{
189
+ readonly name: "";
190
+ readonly type: "bool";
191
+ }];
192
+ readonly payable: false;
193
+ readonly stateMutability: "nonpayable";
194
+ readonly type: "function";
195
+ }, {
196
+ readonly constant: true;
197
+ readonly inputs: readonly [];
198
+ readonly name: "symbol";
199
+ readonly outputs: readonly [{
200
+ readonly name: "";
201
+ readonly type: "string";
202
+ }];
203
+ readonly payable: false;
204
+ readonly stateMutability: "view";
205
+ readonly type: "function";
206
+ }, {
207
+ readonly constant: true;
208
+ readonly inputs: readonly [{
209
+ readonly name: "_blockNumber";
210
+ readonly type: "uint256";
211
+ }];
212
+ readonly name: "totalSupplyAt";
213
+ readonly outputs: readonly [{
214
+ readonly name: "";
215
+ readonly type: "uint256";
216
+ }];
217
+ readonly payable: false;
218
+ readonly stateMutability: "view";
219
+ readonly type: "function";
220
+ }, {
221
+ readonly constant: false;
222
+ readonly inputs: readonly [{
223
+ readonly name: "_to";
224
+ readonly type: "address";
225
+ }, {
226
+ readonly name: "_amount";
227
+ readonly type: "uint256";
228
+ }];
229
+ readonly name: "transfer";
230
+ readonly outputs: readonly [{
231
+ readonly name: "success";
232
+ readonly type: "bool";
233
+ }];
234
+ readonly payable: false;
235
+ readonly stateMutability: "nonpayable";
236
+ readonly type: "function";
237
+ }, {
238
+ readonly constant: true;
239
+ readonly inputs: readonly [];
240
+ readonly name: "transfersEnabled";
241
+ readonly outputs: readonly [{
242
+ readonly name: "";
243
+ readonly type: "bool";
244
+ }];
245
+ readonly payable: false;
246
+ readonly stateMutability: "view";
247
+ readonly type: "function";
248
+ }, {
249
+ readonly constant: true;
250
+ readonly inputs: readonly [];
251
+ readonly name: "parentSnapShotBlock";
252
+ readonly outputs: readonly [{
253
+ readonly name: "";
254
+ readonly type: "uint256";
255
+ }];
256
+ readonly payable: false;
257
+ readonly stateMutability: "view";
258
+ readonly type: "function";
259
+ }, {
260
+ readonly constant: false;
261
+ readonly inputs: readonly [{
262
+ readonly name: "_spender";
263
+ readonly type: "address";
264
+ }, {
265
+ readonly name: "_amount";
266
+ readonly type: "uint256";
267
+ }, {
268
+ readonly name: "_extraData";
269
+ readonly type: "bytes";
270
+ }];
271
+ readonly name: "approveAndCall";
272
+ readonly outputs: readonly [{
273
+ readonly name: "success";
274
+ readonly type: "bool";
275
+ }];
276
+ readonly payable: false;
277
+ readonly stateMutability: "nonpayable";
278
+ readonly type: "function";
279
+ }, {
280
+ readonly constant: false;
281
+ readonly inputs: readonly [{
282
+ readonly name: "_owner";
283
+ readonly type: "address";
284
+ }, {
285
+ readonly name: "_amount";
286
+ readonly type: "uint256";
287
+ }];
288
+ readonly name: "destroyTokens";
289
+ readonly outputs: readonly [{
290
+ readonly name: "";
291
+ readonly type: "bool";
292
+ }];
293
+ readonly payable: false;
294
+ readonly stateMutability: "nonpayable";
295
+ readonly type: "function";
296
+ }, {
297
+ readonly constant: true;
298
+ readonly inputs: readonly [{
299
+ readonly name: "_owner";
300
+ readonly type: "address";
301
+ }, {
302
+ readonly name: "_spender";
303
+ readonly type: "address";
304
+ }];
305
+ readonly name: "allowance";
306
+ readonly outputs: readonly [{
307
+ readonly name: "remaining";
308
+ readonly type: "uint256";
309
+ }];
310
+ readonly payable: false;
311
+ readonly stateMutability: "view";
312
+ readonly type: "function";
313
+ }, {
314
+ readonly constant: false;
315
+ readonly inputs: readonly [{
316
+ readonly name: "_token";
317
+ readonly type: "address";
318
+ }];
319
+ readonly name: "claimTokens";
320
+ readonly outputs: readonly [];
321
+ readonly payable: false;
322
+ readonly stateMutability: "nonpayable";
323
+ readonly type: "function";
324
+ }, {
325
+ readonly constant: true;
326
+ readonly inputs: readonly [];
327
+ readonly name: "tokenFactory";
328
+ readonly outputs: readonly [{
329
+ readonly name: "";
330
+ readonly type: "address";
331
+ }];
332
+ readonly payable: false;
333
+ readonly stateMutability: "view";
334
+ readonly type: "function";
335
+ }, {
336
+ readonly constant: false;
337
+ readonly inputs: readonly [{
338
+ readonly name: "_transfersEnabled";
339
+ readonly type: "bool";
340
+ }];
341
+ readonly name: "enableTransfers";
342
+ readonly outputs: readonly [];
343
+ readonly payable: false;
344
+ readonly stateMutability: "nonpayable";
345
+ readonly type: "function";
346
+ }, {
347
+ readonly constant: true;
348
+ readonly inputs: readonly [];
349
+ readonly name: "controller";
350
+ readonly outputs: readonly [{
351
+ readonly name: "";
352
+ readonly type: "address";
353
+ }];
354
+ readonly payable: false;
355
+ readonly stateMutability: "view";
356
+ readonly type: "function";
357
+ }, {
358
+ readonly inputs: readonly [{
359
+ readonly name: "_tokenFactory";
360
+ readonly type: "address";
361
+ }, {
362
+ readonly name: "_parentToken";
363
+ readonly type: "address";
364
+ }, {
365
+ readonly name: "_parentSnapShotBlock";
366
+ readonly type: "uint256";
367
+ }, {
368
+ readonly name: "_tokenName";
369
+ readonly type: "string";
370
+ }, {
371
+ readonly name: "_decimalUnits";
372
+ readonly type: "uint8";
373
+ }, {
374
+ readonly name: "_tokenSymbol";
375
+ readonly type: "string";
376
+ }, {
377
+ readonly name: "_transfersEnabled";
378
+ readonly type: "bool";
379
+ }];
380
+ readonly payable: false;
381
+ readonly stateMutability: "nonpayable";
382
+ readonly type: "constructor";
383
+ }, {
384
+ readonly payable: true;
385
+ readonly stateMutability: "payable";
386
+ readonly type: "fallback";
387
+ }, {
388
+ readonly anonymous: false;
389
+ readonly inputs: readonly [{
390
+ readonly indexed: true;
391
+ readonly name: "_token";
392
+ readonly type: "address";
393
+ }, {
394
+ readonly indexed: true;
395
+ readonly name: "_controller";
396
+ readonly type: "address";
397
+ }, {
398
+ readonly indexed: false;
399
+ readonly name: "_amount";
400
+ readonly type: "uint256";
401
+ }];
402
+ readonly name: "ClaimedTokens";
403
+ readonly type: "event";
404
+ }, {
405
+ readonly anonymous: false;
406
+ readonly inputs: readonly [{
407
+ readonly indexed: true;
408
+ readonly name: "_from";
409
+ readonly type: "address";
410
+ }, {
411
+ readonly indexed: true;
412
+ readonly name: "_to";
413
+ readonly type: "address";
414
+ }, {
415
+ readonly indexed: false;
416
+ readonly name: "_amount";
417
+ readonly type: "uint256";
418
+ }];
419
+ readonly name: "Transfer";
420
+ readonly type: "event";
421
+ }, {
422
+ readonly anonymous: false;
423
+ readonly inputs: readonly [{
424
+ readonly indexed: true;
425
+ readonly name: "_cloneToken";
426
+ readonly type: "address";
427
+ }, {
428
+ readonly indexed: false;
429
+ readonly name: "_snapshotBlock";
430
+ readonly type: "uint256";
431
+ }];
432
+ readonly name: "NewCloneToken";
433
+ readonly type: "event";
434
+ }, {
435
+ readonly anonymous: false;
436
+ readonly inputs: readonly [{
437
+ readonly indexed: true;
438
+ readonly name: "_owner";
439
+ readonly type: "address";
440
+ }, {
441
+ readonly indexed: true;
442
+ readonly name: "_spender";
443
+ readonly type: "address";
444
+ }, {
445
+ readonly indexed: false;
446
+ readonly name: "_amount";
447
+ readonly type: "uint256";
448
+ }];
449
+ readonly name: "Approval";
450
+ readonly type: "event";
451
+ }];
452
+ /**
453
+ * Type-safe ABI for MiniMeToken
454
+ */
455
+ export type MiniMeTokenAbi = typeof MiniMeTokenAbi;
456
+ /**
457
+ * Contract instance type for MiniMeToken
458
+ */
459
+ export type MiniMeTokenContract = any;
460
+ /**
461
+ * MiniMeToken Contract Class
462
+ *
463
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
464
+ *
465
+ * @example
466
+ * ```typescript
467
+ * import { createPublicClient, createWalletClient, http } from 'viem';
468
+ * import { mainnet } from 'viem/chains';
469
+ * import { MiniMeToken } from 'MiniMeToken';
470
+ *
471
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
472
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
473
+ *
474
+ * const contract = new MiniMeToken('0x...', { publicClient, walletClient });
475
+ *
476
+ * // Read functions
477
+ * const result = await contract.balanceOf('0x...');
478
+ *
479
+ * // Write functions
480
+ * const hash = await contract.transfer('0x...', 1000n);
481
+ *
482
+ * // Simulate transactions (dry-run)
483
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
484
+ * console.log('Gas estimate:', simulation.request.gas);
485
+ *
486
+ * // Watch events
487
+ * const unwatch = contract.watch.Transfer((event) => {
488
+ * console.log('Transfer event:', event);
489
+ * });
490
+ * ```
491
+ */
492
+ export declare class MiniMeToken {
493
+ private contract;
494
+ private contractAddress;
495
+ private publicClient;
496
+ constructor(address: Address, clients: {
497
+ publicClient: PublicClient;
498
+ walletClient?: WalletClient;
499
+ });
500
+ /**
501
+ * Get the contract address
502
+ */
503
+ get address(): Address;
504
+ /**
505
+ * Get the underlying viem contract instance.
506
+ */
507
+ getContract(): MiniMeTokenContract;
508
+ /**
509
+ * name
510
+ * view
511
+ */
512
+ name(): Promise<string>;
513
+ /**
514
+ * creationBlock
515
+ * view
516
+ */
517
+ creationBlock(): Promise<bigint>;
518
+ /**
519
+ * totalSupply
520
+ * view
521
+ */
522
+ totalSupply(): Promise<bigint>;
523
+ /**
524
+ * decimals
525
+ * view
526
+ */
527
+ decimals(): Promise<bigint>;
528
+ /**
529
+ * balanceOfAt
530
+ * view
531
+ */
532
+ balanceOfAt(_owner: `0x${string}`, _blockNumber: bigint): Promise<bigint>;
533
+ /**
534
+ * version
535
+ * view
536
+ */
537
+ version(): Promise<string>;
538
+ /**
539
+ * balanceOf
540
+ * view
541
+ */
542
+ balanceOf(_owner: `0x${string}`): Promise<bigint>;
543
+ /**
544
+ * parentToken
545
+ * view
546
+ */
547
+ parentToken(): Promise<`0x${string}`>;
548
+ /**
549
+ * symbol
550
+ * view
551
+ */
552
+ symbol(): Promise<string>;
553
+ /**
554
+ * totalSupplyAt
555
+ * view
556
+ */
557
+ totalSupplyAt(_blockNumber: bigint): Promise<bigint>;
558
+ /**
559
+ * transfersEnabled
560
+ * view
561
+ */
562
+ transfersEnabled(): Promise<boolean>;
563
+ /**
564
+ * parentSnapShotBlock
565
+ * view
566
+ */
567
+ parentSnapShotBlock(): Promise<bigint>;
568
+ /**
569
+ * allowance
570
+ * view
571
+ */
572
+ allowance(_owner: `0x${string}`, _spender: `0x${string}`): Promise<bigint>;
573
+ /**
574
+ * tokenFactory
575
+ * view
576
+ */
577
+ tokenFactory(): Promise<`0x${string}`>;
578
+ /**
579
+ * controller
580
+ * view
581
+ */
582
+ controller(): Promise<`0x${string}`>;
583
+ /**
584
+ * approve
585
+ * nonpayable
586
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
587
+ */
588
+ approve(_spender: `0x${string}`, _amount: 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
+ * transferFrom
602
+ * nonpayable
603
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
604
+ */
605
+ transferFrom(_from: `0x${string}`, _to: `0x${string}`, _amount: 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
+ * changeController
619
+ * nonpayable
620
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
621
+ */
622
+ changeController(_newController: `0x${string}`, 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
+ * createCloneToken
636
+ * nonpayable
637
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
638
+ */
639
+ createCloneToken(_cloneTokenName: string, _cloneDecimalUnits: bigint, _cloneTokenSymbol: string, _snapshotBlock: bigint, _transfersEnabled: boolean, 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
+ * generateTokens
653
+ * nonpayable
654
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
655
+ */
656
+ generateTokens(_owner: `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
+ * transfer
670
+ * nonpayable
671
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
672
+ */
673
+ transfer(_to: `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
+ * approveAndCall
687
+ * nonpayable
688
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
689
+ */
690
+ approveAndCall(_spender: `0x${string}`, _amount: bigint, _extraData: `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
+ * destroyTokens
704
+ * nonpayable
705
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
706
+ */
707
+ destroyTokens(_owner: `0x${string}`, _amount: bigint, options?: {
708
+ accessList?: import('viem').AccessList;
709
+ authorizationList?: import('viem').AuthorizationList;
710
+ chain?: import('viem').Chain | null;
711
+ dataSuffix?: `0x${string}`;
712
+ gas?: bigint;
713
+ gasPrice?: bigint;
714
+ maxFeePerGas?: bigint;
715
+ maxPriorityFeePerGas?: bigint;
716
+ nonce?: number;
717
+ value?: bigint;
718
+ }): Promise<`0x${string}`>;
719
+ /**
720
+ * claimTokens
721
+ * nonpayable
722
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
723
+ */
724
+ claimTokens(_token: `0x${string}`, options?: {
725
+ accessList?: import('viem').AccessList;
726
+ authorizationList?: import('viem').AuthorizationList;
727
+ chain?: import('viem').Chain | null;
728
+ dataSuffix?: `0x${string}`;
729
+ gas?: bigint;
730
+ gasPrice?: bigint;
731
+ maxFeePerGas?: bigint;
732
+ maxPriorityFeePerGas?: bigint;
733
+ nonce?: number;
734
+ value?: bigint;
735
+ }): Promise<`0x${string}`>;
736
+ /**
737
+ * enableTransfers
738
+ * nonpayable
739
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
740
+ */
741
+ enableTransfers(_transfersEnabled: boolean, options?: {
742
+ accessList?: import('viem').AccessList;
743
+ authorizationList?: import('viem').AuthorizationList;
744
+ chain?: import('viem').Chain | null;
745
+ dataSuffix?: `0x${string}`;
746
+ gas?: bigint;
747
+ gasPrice?: bigint;
748
+ maxFeePerGas?: bigint;
749
+ maxPriorityFeePerGas?: bigint;
750
+ nonce?: number;
751
+ value?: bigint;
752
+ }): Promise<`0x${string}`>;
753
+ /**
754
+ * Simulate contract write operations (dry-run without sending transaction)
755
+ *
756
+ * @example
757
+ * const result = await contract.simulate.transfer('0x...', 1000n);
758
+ * console.log('Gas estimate:', result.request.gas);
759
+ * console.log('Would succeed:', result.result);
760
+ */
761
+ get simulate(): {
762
+ /**
763
+ * Simulate approve
764
+ * Returns gas estimate and result without sending transaction
765
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
766
+ */
767
+ approve(_spender: `0x${string}`, _amount: 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 transferFrom
781
+ * Returns gas estimate and result without sending transaction
782
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
783
+ */
784
+ transferFrom(_from: `0x${string}`, _to: `0x${string}`, _amount: 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 changeController
798
+ * Returns gas estimate and result without sending transaction
799
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
800
+ */
801
+ changeController(_newController: `0x${string}`, 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 createCloneToken
815
+ * Returns gas estimate and result without sending transaction
816
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
817
+ */
818
+ createCloneToken(_cloneTokenName: string, _cloneDecimalUnits: bigint, _cloneTokenSymbol: string, _snapshotBlock: bigint, _transfersEnabled: boolean, 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<`0x${string}`>;
830
+ /**
831
+ * Simulate generateTokens
832
+ * Returns gas estimate and result without sending transaction
833
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
834
+ */
835
+ generateTokens(_owner: `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 transfer
849
+ * Returns gas estimate and result without sending transaction
850
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
851
+ */
852
+ transfer(_to: `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 approveAndCall
866
+ * Returns gas estimate and result without sending transaction
867
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
868
+ */
869
+ approveAndCall(_spender: `0x${string}`, _amount: bigint, _extraData: `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<boolean>;
881
+ /**
882
+ * Simulate destroyTokens
883
+ * Returns gas estimate and result without sending transaction
884
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
885
+ */
886
+ destroyTokens(_owner: `0x${string}`, _amount: bigint, options?: {
887
+ accessList?: import("viem").AccessList;
888
+ authorizationList?: import("viem").AuthorizationList;
889
+ chain?: import("viem").Chain | null;
890
+ dataSuffix?: `0x${string}`;
891
+ gas?: bigint;
892
+ gasPrice?: bigint;
893
+ maxFeePerGas?: bigint;
894
+ maxPriorityFeePerGas?: bigint;
895
+ nonce?: number;
896
+ value?: bigint;
897
+ }): Promise<boolean>;
898
+ /**
899
+ * Simulate claimTokens
900
+ * Returns gas estimate and result without sending transaction
901
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
902
+ */
903
+ claimTokens(_token: `0x${string}`, options?: {
904
+ accessList?: import("viem").AccessList;
905
+ authorizationList?: import("viem").AuthorizationList;
906
+ chain?: import("viem").Chain | null;
907
+ dataSuffix?: `0x${string}`;
908
+ gas?: bigint;
909
+ gasPrice?: bigint;
910
+ maxFeePerGas?: bigint;
911
+ maxPriorityFeePerGas?: bigint;
912
+ nonce?: number;
913
+ value?: bigint;
914
+ }): Promise<void>;
915
+ /**
916
+ * Simulate enableTransfers
917
+ * Returns gas estimate and result without sending transaction
918
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
919
+ */
920
+ enableTransfers(_transfersEnabled: boolean, options?: {
921
+ accessList?: import("viem").AccessList;
922
+ authorizationList?: import("viem").AuthorizationList;
923
+ chain?: import("viem").Chain | null;
924
+ dataSuffix?: `0x${string}`;
925
+ gas?: bigint;
926
+ gasPrice?: bigint;
927
+ maxFeePerGas?: bigint;
928
+ maxPriorityFeePerGas?: bigint;
929
+ nonce?: number;
930
+ value?: bigint;
931
+ }): Promise<void>;
932
+ };
933
+ /**
934
+ * Watch contract events
935
+ *
936
+ * @example
937
+ * // Watch all Transfer events
938
+ * const unwatch = contract.watch.Transfer((event) => {
939
+ * console.log('Transfer:', event);
940
+ * });
941
+ *
942
+ * // Stop watching
943
+ * unwatch();
944
+ */
945
+ get watch(): {
946
+ /**
947
+ * Watch ClaimedTokens events
948
+ * @param callback Function to call when event is emitted
949
+ * @param filter Optional filter for indexed parameters
950
+ * @returns Unwatch function to stop listening
951
+ */
952
+ ClaimedTokens: (callback: (event: {
953
+ _token: `0x${string}`;
954
+ _controller: `0x${string}`;
955
+ _amount: bigint;
956
+ }) => void, filter?: {
957
+ _token?: `0x${string}` | `0x${string}`[] | null;
958
+ _controller?: `0x${string}` | `0x${string}`[] | null;
959
+ }) => () => void;
960
+ /**
961
+ * Watch Transfer events
962
+ * @param callback Function to call when event is emitted
963
+ * @param filter Optional filter for indexed parameters
964
+ * @returns Unwatch function to stop listening
965
+ */
966
+ Transfer: (callback: (event: {
967
+ _from: `0x${string}`;
968
+ _to: `0x${string}`;
969
+ _amount: bigint;
970
+ }) => void, filter?: {
971
+ _from?: `0x${string}` | `0x${string}`[] | null;
972
+ _to?: `0x${string}` | `0x${string}`[] | null;
973
+ }) => () => void;
974
+ /**
975
+ * Watch NewCloneToken events
976
+ * @param callback Function to call when event is emitted
977
+ * @param filter Optional filter for indexed parameters
978
+ * @returns Unwatch function to stop listening
979
+ */
980
+ NewCloneToken: (callback: (event: {
981
+ _cloneToken: `0x${string}`;
982
+ _snapshotBlock: bigint;
983
+ }) => void, filter?: {
984
+ _cloneToken?: `0x${string}` | `0x${string}`[] | null;
985
+ }) => () => void;
986
+ /**
987
+ * Watch Approval events
988
+ * @param callback Function to call when event is emitted
989
+ * @param filter Optional filter for indexed parameters
990
+ * @returns Unwatch function to stop listening
991
+ */
992
+ Approval: (callback: (event: {
993
+ _owner: `0x${string}`;
994
+ _spender: `0x${string}`;
995
+ _amount: bigint;
996
+ }) => void, filter?: {
997
+ _owner?: `0x${string}` | `0x${string}`[] | null;
998
+ _spender?: `0x${string}` | `0x${string}`[] | null;
999
+ }) => () => void;
1000
+ };
1001
+ }