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