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