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