@gitmyabi-stg/wrose 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,924 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * TokenImplementation ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const TokenImplementationAbi: readonly [{
8
+ readonly anonymous: false;
9
+ readonly inputs: readonly [{
10
+ readonly indexed: true;
11
+ readonly internalType: "address";
12
+ readonly name: "owner";
13
+ readonly type: "address";
14
+ }, {
15
+ readonly indexed: true;
16
+ readonly internalType: "address";
17
+ readonly name: "spender";
18
+ readonly type: "address";
19
+ }, {
20
+ readonly indexed: false;
21
+ readonly internalType: "uint256";
22
+ readonly name: "value";
23
+ readonly type: "uint256";
24
+ }];
25
+ readonly name: "Approval";
26
+ readonly type: "event";
27
+ }, {
28
+ readonly anonymous: false;
29
+ readonly inputs: readonly [{
30
+ readonly indexed: true;
31
+ readonly internalType: "address";
32
+ readonly name: "from";
33
+ readonly type: "address";
34
+ }, {
35
+ readonly indexed: true;
36
+ readonly internalType: "address";
37
+ readonly name: "to";
38
+ readonly type: "address";
39
+ }, {
40
+ readonly indexed: false;
41
+ readonly internalType: "uint256";
42
+ readonly name: "value";
43
+ readonly type: "uint256";
44
+ }];
45
+ readonly name: "Transfer";
46
+ readonly type: "event";
47
+ }, {
48
+ readonly inputs: readonly [];
49
+ readonly name: "DOMAIN_SEPARATOR";
50
+ readonly outputs: readonly [{
51
+ readonly internalType: "bytes32";
52
+ readonly name: "";
53
+ readonly type: "bytes32";
54
+ }];
55
+ readonly stateMutability: "view";
56
+ readonly type: "function";
57
+ }, {
58
+ readonly inputs: readonly [{
59
+ readonly internalType: "address";
60
+ readonly name: "owner_";
61
+ readonly type: "address";
62
+ }, {
63
+ readonly internalType: "address";
64
+ readonly name: "spender_";
65
+ readonly type: "address";
66
+ }];
67
+ readonly name: "allowance";
68
+ readonly outputs: readonly [{
69
+ readonly internalType: "uint256";
70
+ readonly name: "";
71
+ readonly type: "uint256";
72
+ }];
73
+ readonly stateMutability: "view";
74
+ readonly type: "function";
75
+ }, {
76
+ readonly inputs: readonly [{
77
+ readonly internalType: "address";
78
+ readonly name: "spender_";
79
+ readonly type: "address";
80
+ }, {
81
+ readonly internalType: "uint256";
82
+ readonly name: "amount_";
83
+ readonly type: "uint256";
84
+ }];
85
+ readonly name: "approve";
86
+ readonly outputs: readonly [{
87
+ readonly internalType: "bool";
88
+ readonly name: "";
89
+ readonly type: "bool";
90
+ }];
91
+ readonly stateMutability: "nonpayable";
92
+ readonly type: "function";
93
+ }, {
94
+ readonly inputs: readonly [{
95
+ readonly internalType: "address";
96
+ readonly name: "account_";
97
+ readonly type: "address";
98
+ }];
99
+ readonly name: "balanceOf";
100
+ readonly outputs: readonly [{
101
+ readonly internalType: "uint256";
102
+ readonly name: "";
103
+ readonly type: "uint256";
104
+ }];
105
+ readonly stateMutability: "view";
106
+ readonly type: "function";
107
+ }, {
108
+ readonly inputs: readonly [{
109
+ readonly internalType: "address";
110
+ readonly name: "account_";
111
+ readonly type: "address";
112
+ }, {
113
+ readonly internalType: "uint256";
114
+ readonly name: "amount_";
115
+ readonly type: "uint256";
116
+ }];
117
+ readonly name: "burn";
118
+ readonly outputs: readonly [];
119
+ readonly stateMutability: "nonpayable";
120
+ readonly type: "function";
121
+ }, {
122
+ readonly inputs: readonly [];
123
+ readonly name: "chainId";
124
+ readonly outputs: readonly [{
125
+ readonly internalType: "uint16";
126
+ readonly name: "";
127
+ readonly type: "uint16";
128
+ }];
129
+ readonly stateMutability: "view";
130
+ readonly type: "function";
131
+ }, {
132
+ readonly inputs: readonly [];
133
+ readonly name: "decimals";
134
+ readonly outputs: readonly [{
135
+ readonly internalType: "uint8";
136
+ readonly name: "";
137
+ readonly type: "uint8";
138
+ }];
139
+ readonly stateMutability: "view";
140
+ readonly type: "function";
141
+ }, {
142
+ readonly inputs: readonly [{
143
+ readonly internalType: "address";
144
+ readonly name: "spender_";
145
+ readonly type: "address";
146
+ }, {
147
+ readonly internalType: "uint256";
148
+ readonly name: "subtractedValue_";
149
+ readonly type: "uint256";
150
+ }];
151
+ readonly name: "decreaseAllowance";
152
+ readonly outputs: readonly [{
153
+ readonly internalType: "bool";
154
+ readonly name: "";
155
+ readonly type: "bool";
156
+ }];
157
+ readonly stateMutability: "nonpayable";
158
+ readonly type: "function";
159
+ }, {
160
+ readonly inputs: readonly [];
161
+ readonly name: "eip712Domain";
162
+ readonly outputs: readonly [{
163
+ readonly internalType: "bytes1";
164
+ readonly name: "domainFields";
165
+ readonly type: "bytes1";
166
+ }, {
167
+ readonly internalType: "string";
168
+ readonly name: "domainName";
169
+ readonly type: "string";
170
+ }, {
171
+ readonly internalType: "string";
172
+ readonly name: "domainVersion";
173
+ readonly type: "string";
174
+ }, {
175
+ readonly internalType: "uint256";
176
+ readonly name: "domainChainId";
177
+ readonly type: "uint256";
178
+ }, {
179
+ readonly internalType: "address";
180
+ readonly name: "domainVerifyingContract";
181
+ readonly type: "address";
182
+ }, {
183
+ readonly internalType: "bytes32";
184
+ readonly name: "domainSalt";
185
+ readonly type: "bytes32";
186
+ }, {
187
+ readonly internalType: "uint256[]";
188
+ readonly name: "domainExtensions";
189
+ readonly type: "uint256[]";
190
+ }];
191
+ readonly stateMutability: "view";
192
+ readonly type: "function";
193
+ }, {
194
+ readonly inputs: readonly [{
195
+ readonly internalType: "address";
196
+ readonly name: "spender_";
197
+ readonly type: "address";
198
+ }, {
199
+ readonly internalType: "uint256";
200
+ readonly name: "addedValue_";
201
+ readonly type: "uint256";
202
+ }];
203
+ readonly name: "increaseAllowance";
204
+ readonly outputs: readonly [{
205
+ readonly internalType: "bool";
206
+ readonly name: "";
207
+ readonly type: "bool";
208
+ }];
209
+ readonly stateMutability: "nonpayable";
210
+ readonly type: "function";
211
+ }, {
212
+ readonly inputs: readonly [{
213
+ readonly internalType: "string";
214
+ readonly name: "name_";
215
+ readonly type: "string";
216
+ }, {
217
+ readonly internalType: "string";
218
+ readonly name: "symbol_";
219
+ readonly type: "string";
220
+ }, {
221
+ readonly internalType: "uint8";
222
+ readonly name: "decimals_";
223
+ readonly type: "uint8";
224
+ }, {
225
+ readonly internalType: "uint64";
226
+ readonly name: "sequence_";
227
+ readonly type: "uint64";
228
+ }, {
229
+ readonly internalType: "address";
230
+ readonly name: "owner_";
231
+ readonly type: "address";
232
+ }, {
233
+ readonly internalType: "uint16";
234
+ readonly name: "chainId_";
235
+ readonly type: "uint16";
236
+ }, {
237
+ readonly internalType: "bytes32";
238
+ readonly name: "nativeContract_";
239
+ readonly type: "bytes32";
240
+ }];
241
+ readonly name: "initialize";
242
+ readonly outputs: readonly [];
243
+ readonly stateMutability: "nonpayable";
244
+ readonly type: "function";
245
+ }, {
246
+ readonly inputs: readonly [{
247
+ readonly internalType: "address";
248
+ readonly name: "account_";
249
+ readonly type: "address";
250
+ }, {
251
+ readonly internalType: "uint256";
252
+ readonly name: "amount_";
253
+ readonly type: "uint256";
254
+ }];
255
+ readonly name: "mint";
256
+ readonly outputs: readonly [];
257
+ readonly stateMutability: "nonpayable";
258
+ readonly type: "function";
259
+ }, {
260
+ readonly inputs: readonly [];
261
+ readonly name: "name";
262
+ readonly outputs: readonly [{
263
+ readonly internalType: "string";
264
+ readonly name: "";
265
+ readonly type: "string";
266
+ }];
267
+ readonly stateMutability: "view";
268
+ readonly type: "function";
269
+ }, {
270
+ readonly inputs: readonly [];
271
+ readonly name: "nativeContract";
272
+ readonly outputs: readonly [{
273
+ readonly internalType: "bytes32";
274
+ readonly name: "";
275
+ readonly type: "bytes32";
276
+ }];
277
+ readonly stateMutability: "view";
278
+ readonly type: "function";
279
+ }, {
280
+ readonly inputs: readonly [{
281
+ readonly internalType: "address";
282
+ readonly name: "owner_";
283
+ readonly type: "address";
284
+ }];
285
+ readonly name: "nonces";
286
+ readonly outputs: readonly [{
287
+ readonly internalType: "uint256";
288
+ readonly name: "";
289
+ readonly type: "uint256";
290
+ }];
291
+ readonly stateMutability: "view";
292
+ readonly type: "function";
293
+ }, {
294
+ readonly inputs: readonly [];
295
+ readonly name: "owner";
296
+ readonly outputs: readonly [{
297
+ readonly internalType: "address";
298
+ readonly name: "";
299
+ readonly type: "address";
300
+ }];
301
+ readonly stateMutability: "view";
302
+ readonly type: "function";
303
+ }, {
304
+ readonly inputs: readonly [{
305
+ readonly internalType: "address";
306
+ readonly name: "owner_";
307
+ readonly type: "address";
308
+ }, {
309
+ readonly internalType: "address";
310
+ readonly name: "spender_";
311
+ readonly type: "address";
312
+ }, {
313
+ readonly internalType: "uint256";
314
+ readonly name: "value_";
315
+ readonly type: "uint256";
316
+ }, {
317
+ readonly internalType: "uint256";
318
+ readonly name: "deadline_";
319
+ readonly type: "uint256";
320
+ }, {
321
+ readonly internalType: "uint8";
322
+ readonly name: "v_";
323
+ readonly type: "uint8";
324
+ }, {
325
+ readonly internalType: "bytes32";
326
+ readonly name: "r_";
327
+ readonly type: "bytes32";
328
+ }, {
329
+ readonly internalType: "bytes32";
330
+ readonly name: "s_";
331
+ readonly type: "bytes32";
332
+ }];
333
+ readonly name: "permit";
334
+ readonly outputs: readonly [];
335
+ readonly stateMutability: "nonpayable";
336
+ readonly type: "function";
337
+ }, {
338
+ readonly inputs: readonly [];
339
+ readonly name: "symbol";
340
+ readonly outputs: readonly [{
341
+ readonly internalType: "string";
342
+ readonly name: "";
343
+ readonly type: "string";
344
+ }];
345
+ readonly stateMutability: "view";
346
+ readonly type: "function";
347
+ }, {
348
+ readonly inputs: readonly [];
349
+ readonly name: "totalSupply";
350
+ readonly outputs: readonly [{
351
+ readonly internalType: "uint256";
352
+ readonly name: "";
353
+ readonly type: "uint256";
354
+ }];
355
+ readonly stateMutability: "view";
356
+ readonly type: "function";
357
+ }, {
358
+ readonly inputs: readonly [{
359
+ readonly internalType: "address";
360
+ readonly name: "recipient_";
361
+ readonly type: "address";
362
+ }, {
363
+ readonly internalType: "uint256";
364
+ readonly name: "amount_";
365
+ readonly type: "uint256";
366
+ }];
367
+ readonly name: "transfer";
368
+ readonly outputs: readonly [{
369
+ readonly internalType: "bool";
370
+ readonly name: "";
371
+ readonly type: "bool";
372
+ }];
373
+ readonly stateMutability: "nonpayable";
374
+ readonly type: "function";
375
+ }, {
376
+ readonly inputs: readonly [{
377
+ readonly internalType: "address";
378
+ readonly name: "sender_";
379
+ readonly type: "address";
380
+ }, {
381
+ readonly internalType: "address";
382
+ readonly name: "recipient_";
383
+ readonly type: "address";
384
+ }, {
385
+ readonly internalType: "uint256";
386
+ readonly name: "amount_";
387
+ readonly type: "uint256";
388
+ }];
389
+ readonly name: "transferFrom";
390
+ readonly outputs: readonly [{
391
+ readonly internalType: "bool";
392
+ readonly name: "";
393
+ readonly type: "bool";
394
+ }];
395
+ readonly stateMutability: "nonpayable";
396
+ readonly type: "function";
397
+ }, {
398
+ readonly inputs: readonly [{
399
+ readonly internalType: "string";
400
+ readonly name: "name_";
401
+ readonly type: "string";
402
+ }, {
403
+ readonly internalType: "string";
404
+ readonly name: "symbol_";
405
+ readonly type: "string";
406
+ }, {
407
+ readonly internalType: "uint64";
408
+ readonly name: "sequence_";
409
+ readonly type: "uint64";
410
+ }];
411
+ readonly name: "updateDetails";
412
+ readonly outputs: readonly [];
413
+ readonly stateMutability: "nonpayable";
414
+ readonly type: "function";
415
+ }];
416
+ /**
417
+ * Type-safe ABI for TokenImplementation
418
+ */
419
+ export type TokenImplementationAbi = typeof TokenImplementationAbi;
420
+ /**
421
+ * Contract instance type for TokenImplementation
422
+ */
423
+ export type TokenImplementationContract = any;
424
+ /**
425
+ * TokenImplementation Contract Class
426
+ *
427
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
428
+ *
429
+ * @example
430
+ * ```typescript
431
+ * import { createPublicClient, createWalletClient, http } from 'viem';
432
+ * import { mainnet } from 'viem/chains';
433
+ * import { TokenImplementation } from 'TokenImplementation';
434
+ *
435
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
436
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
437
+ *
438
+ * const contract = new TokenImplementation('0x...', { publicClient, walletClient });
439
+ *
440
+ * // Read functions
441
+ * const result = await contract.balanceOf('0x...');
442
+ *
443
+ * // Write functions
444
+ * const hash = await contract.transfer('0x...', 1000n);
445
+ *
446
+ * // Simulate transactions (dry-run)
447
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
448
+ * console.log('Gas estimate:', simulation.request.gas);
449
+ *
450
+ * // Watch events
451
+ * const unwatch = contract.watch.Transfer((event) => {
452
+ * console.log('Transfer event:', event);
453
+ * });
454
+ * ```
455
+ */
456
+ export declare class TokenImplementation {
457
+ private contract;
458
+ private contractAddress;
459
+ private publicClient;
460
+ constructor(address: Address, clients: {
461
+ publicClient: PublicClient;
462
+ walletClient?: WalletClient;
463
+ });
464
+ /**
465
+ * Get the contract address
466
+ */
467
+ get address(): Address;
468
+ /**
469
+ * Get the underlying viem contract instance.
470
+ */
471
+ getContract(): TokenImplementationContract;
472
+ /**
473
+ * DOMAIN_SEPARATOR
474
+ * view
475
+ */
476
+ DOMAIN_SEPARATOR(): Promise<`0x${string}`>;
477
+ /**
478
+ * allowance
479
+ * view
480
+ */
481
+ allowance(owner_: `0x${string}`, spender_: `0x${string}`): Promise<bigint>;
482
+ /**
483
+ * balanceOf
484
+ * view
485
+ */
486
+ balanceOf(account_: `0x${string}`): Promise<bigint>;
487
+ /**
488
+ * chainId
489
+ * view
490
+ */
491
+ chainId(): Promise<bigint>;
492
+ /**
493
+ * decimals
494
+ * view
495
+ */
496
+ decimals(): Promise<bigint>;
497
+ /**
498
+ * eip712Domain
499
+ * view
500
+ */
501
+ eip712Domain(): Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]>;
502
+ /**
503
+ * name
504
+ * view
505
+ */
506
+ name(): Promise<string>;
507
+ /**
508
+ * nativeContract
509
+ * view
510
+ */
511
+ nativeContract(): Promise<`0x${string}`>;
512
+ /**
513
+ * nonces
514
+ * view
515
+ */
516
+ nonces(owner_: `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(account_: `0x${string}`, amount_: bigint, 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
+ * decreaseAllowance
568
+ * nonpayable
569
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
570
+ */
571
+ decreaseAllowance(spender_: `0x${string}`, subtractedValue_: 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
+ * increaseAllowance
585
+ * nonpayable
586
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
587
+ */
588
+ increaseAllowance(spender_: `0x${string}`, addedValue_: 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
+ * initialize
602
+ * nonpayable
603
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
604
+ */
605
+ initialize(name_: string, symbol_: string, decimals_: bigint, sequence_: bigint, owner_: `0x${string}`, chainId_: bigint, nativeContract_: `0x${string}`, 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(owner_: `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
+ * updateDetails
687
+ * nonpayable
688
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
689
+ */
690
+ updateDetails(name_: string, symbol_: string, sequence_: bigint, 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(account_: `0x${string}`, amount_: bigint, 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 decreaseAllowance
747
+ * Returns gas estimate and result without sending transaction
748
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
749
+ */
750
+ decreaseAllowance(spender_: `0x${string}`, subtractedValue_: 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<boolean>;
762
+ /**
763
+ * Simulate increaseAllowance
764
+ * Returns gas estimate and result without sending transaction
765
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
766
+ */
767
+ increaseAllowance(spender_: `0x${string}`, addedValue_: 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 initialize
781
+ * Returns gas estimate and result without sending transaction
782
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
783
+ */
784
+ initialize(name_: string, symbol_: string, decimals_: bigint, sequence_: bigint, owner_: `0x${string}`, chainId_: bigint, nativeContract_: `0x${string}`, 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<void>;
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(owner_: `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 updateDetails
866
+ * Returns gas estimate and result without sending transaction
867
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
868
+ */
869
+ updateDetails(name_: string, symbol_: string, sequence_: bigint, 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 Transfer 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
+ Transfer: (callback: (event: {
916
+ from: `0x${string}`;
917
+ to: `0x${string}`;
918
+ value: bigint;
919
+ }) => void, filter?: {
920
+ from?: `0x${string}` | `0x${string}`[] | null;
921
+ to?: `0x${string}` | `0x${string}`[] | null;
922
+ }) => () => void;
923
+ };
924
+ }