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