clanker-sdk 4.2.1 → 4.2.3-canary.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,2695 @@
1
+ import { WalletClient, Transport, Chain, Account, PublicClient } from 'viem';
2
+ import { C as ClankerError } from '../errors-5Gv28Tkr.js';
3
+
4
+ /**
5
+ * Contract address for ClankerSafeErc20Spender on Base network
6
+ */
7
+ declare const LEGACY_FEE_CLAIMS_ADDRESS: "0xe6D6cd9C493Ebf28C4b75d95B251eCA684D6b0de";
8
+ type LegacyFeeClaimsConfig = {
9
+ wallet?: WalletClient<Transport, Chain, Account>;
10
+ publicClient?: PublicClient;
11
+ };
12
+ /**
13
+ * SDK for claiming legacy fees from Clanker v0-v3.1 tokens.
14
+ *
15
+ * Creators of Clankers v0-v3.1 can claim their returned fees by interacting
16
+ * with the ClankerSafeErc20Spender contract.
17
+ *
18
+ * Creators have three main actions:
19
+ * 1. Initialize their ownership of the token's fees, with optional ability to set a different admin key
20
+ * 2. Update the admin key that can trigger claims
21
+ * 3. Claim the generated fees for their token
22
+ */
23
+ declare class LegacyFeeClaims {
24
+ readonly wallet?: WalletClient<Transport, Chain, Account>;
25
+ readonly publicClient?: PublicClient;
26
+ constructor(config?: LegacyFeeClaimsConfig);
27
+ /**
28
+ * Get an abi-typed transaction for initializing token creator ownership.
29
+ *
30
+ * This must be called once per token by the original creator to claim ownership
31
+ * of the token's fees. During this call, the creator can optionally set a different
32
+ * admin key to manage the token's rewards.
33
+ *
34
+ * @param token The token address to initialize a creator for
35
+ * @param newCreator The address to set as the creator for this token (can be different from msg.sender)
36
+ * @param proof The Merkle proof demonstrating msg.sender is authorized for this token
37
+ * @returns Abi transaction config
38
+ */
39
+ getInitializeTokenCreatorTransaction({ token, newCreator, proof, }: {
40
+ token: `0x${string}`;
41
+ newCreator: `0x${string}`;
42
+ proof: `0x${string}`[];
43
+ }): {
44
+ address: "0xe6D6cd9C493Ebf28C4b75d95B251eCA684D6b0de";
45
+ abi: readonly [{
46
+ readonly type: "constructor";
47
+ readonly inputs: readonly [{
48
+ readonly name: "owner_";
49
+ readonly type: "address";
50
+ readonly internalType: "address";
51
+ }, {
52
+ readonly name: "teamSpender_";
53
+ readonly type: "address";
54
+ readonly internalType: "address";
55
+ }, {
56
+ readonly name: "teamGrantedTokens_";
57
+ readonly type: "address[]";
58
+ readonly internalType: "address[]";
59
+ }];
60
+ readonly stateMutability: "nonpayable";
61
+ }, {
62
+ readonly type: "function";
63
+ readonly name: "initializeTokenCreator";
64
+ readonly inputs: readonly [{
65
+ readonly name: "token";
66
+ readonly type: "address";
67
+ readonly internalType: "address";
68
+ }, {
69
+ readonly name: "newCreator";
70
+ readonly type: "address";
71
+ readonly internalType: "address";
72
+ }, {
73
+ readonly name: "proof";
74
+ readonly type: "bytes32[]";
75
+ readonly internalType: "bytes32[]";
76
+ }];
77
+ readonly outputs: readonly [];
78
+ readonly stateMutability: "nonpayable";
79
+ }, {
80
+ readonly type: "function";
81
+ readonly name: "owner";
82
+ readonly inputs: readonly [];
83
+ readonly outputs: readonly [{
84
+ readonly name: "";
85
+ readonly type: "address";
86
+ readonly internalType: "address";
87
+ }];
88
+ readonly stateMutability: "view";
89
+ }, {
90
+ readonly type: "function";
91
+ readonly name: "renounceOwnership";
92
+ readonly inputs: readonly [];
93
+ readonly outputs: readonly [];
94
+ readonly stateMutability: "nonpayable";
95
+ }, {
96
+ readonly type: "function";
97
+ readonly name: "setTeamSpender";
98
+ readonly inputs: readonly [{
99
+ readonly name: "teamSpender_";
100
+ readonly type: "address";
101
+ readonly internalType: "address";
102
+ }];
103
+ readonly outputs: readonly [];
104
+ readonly stateMutability: "nonpayable";
105
+ }, {
106
+ readonly type: "function";
107
+ readonly name: "setTokenCreatorRoot";
108
+ readonly inputs: readonly [{
109
+ readonly name: "tokenCreatorRoot_";
110
+ readonly type: "bytes32";
111
+ readonly internalType: "bytes32";
112
+ }];
113
+ readonly outputs: readonly [];
114
+ readonly stateMutability: "nonpayable";
115
+ }, {
116
+ readonly type: "function";
117
+ readonly name: "teamGrantedTokens";
118
+ readonly inputs: readonly [{
119
+ readonly name: "";
120
+ readonly type: "uint256";
121
+ readonly internalType: "uint256";
122
+ }];
123
+ readonly outputs: readonly [{
124
+ readonly name: "";
125
+ readonly type: "address";
126
+ readonly internalType: "address";
127
+ }];
128
+ readonly stateMutability: "view";
129
+ }, {
130
+ readonly type: "function";
131
+ readonly name: "teamGrantedTokensMap";
132
+ readonly inputs: readonly [{
133
+ readonly name: "token";
134
+ readonly type: "address";
135
+ readonly internalType: "address";
136
+ }];
137
+ readonly outputs: readonly [{
138
+ readonly name: "teamGranted";
139
+ readonly type: "bool";
140
+ readonly internalType: "bool";
141
+ }];
142
+ readonly stateMutability: "view";
143
+ }, {
144
+ readonly type: "function";
145
+ readonly name: "teamSpender";
146
+ readonly inputs: readonly [];
147
+ readonly outputs: readonly [{
148
+ readonly name: "";
149
+ readonly type: "address";
150
+ readonly internalType: "address";
151
+ }];
152
+ readonly stateMutability: "view";
153
+ }, {
154
+ readonly type: "function";
155
+ readonly name: "teamTransfer";
156
+ readonly inputs: readonly [{
157
+ readonly name: "safe";
158
+ readonly type: "address";
159
+ readonly internalType: "address";
160
+ }, {
161
+ readonly name: "token";
162
+ readonly type: "address";
163
+ readonly internalType: "address";
164
+ }, {
165
+ readonly name: "recipient";
166
+ readonly type: "address";
167
+ readonly internalType: "address";
168
+ }, {
169
+ readonly name: "amount";
170
+ readonly type: "uint256";
171
+ readonly internalType: "uint256";
172
+ }];
173
+ readonly outputs: readonly [];
174
+ readonly stateMutability: "nonpayable";
175
+ }, {
176
+ readonly type: "function";
177
+ readonly name: "teamTransferEth";
178
+ readonly inputs: readonly [{
179
+ readonly name: "safe";
180
+ readonly type: "address";
181
+ readonly internalType: "address";
182
+ }];
183
+ readonly outputs: readonly [];
184
+ readonly stateMutability: "nonpayable";
185
+ }, {
186
+ readonly type: "function";
187
+ readonly name: "tokenCreator";
188
+ readonly inputs: readonly [{
189
+ readonly name: "token";
190
+ readonly type: "address";
191
+ readonly internalType: "address";
192
+ }];
193
+ readonly outputs: readonly [{
194
+ readonly name: "creator";
195
+ readonly type: "address";
196
+ readonly internalType: "address";
197
+ }];
198
+ readonly stateMutability: "view";
199
+ }, {
200
+ readonly type: "function";
201
+ readonly name: "tokenCreatorRoot";
202
+ readonly inputs: readonly [];
203
+ readonly outputs: readonly [{
204
+ readonly name: "";
205
+ readonly type: "bytes32";
206
+ readonly internalType: "bytes32";
207
+ }];
208
+ readonly stateMutability: "view";
209
+ }, {
210
+ readonly type: "function";
211
+ readonly name: "tokenCreatorTransfer";
212
+ readonly inputs: readonly [{
213
+ readonly name: "safe";
214
+ readonly type: "address";
215
+ readonly internalType: "address";
216
+ }, {
217
+ readonly name: "token";
218
+ readonly type: "address";
219
+ readonly internalType: "address";
220
+ }, {
221
+ readonly name: "recipient";
222
+ readonly type: "address";
223
+ readonly internalType: "address";
224
+ }];
225
+ readonly outputs: readonly [];
226
+ readonly stateMutability: "nonpayable";
227
+ }, {
228
+ readonly type: "function";
229
+ readonly name: "transferOwnership";
230
+ readonly inputs: readonly [{
231
+ readonly name: "newOwner";
232
+ readonly type: "address";
233
+ readonly internalType: "address";
234
+ }];
235
+ readonly outputs: readonly [];
236
+ readonly stateMutability: "nonpayable";
237
+ }, {
238
+ readonly type: "function";
239
+ readonly name: "updateTokenCreator";
240
+ readonly inputs: readonly [{
241
+ readonly name: "token";
242
+ readonly type: "address";
243
+ readonly internalType: "address";
244
+ }, {
245
+ readonly name: "newCreator";
246
+ readonly type: "address";
247
+ readonly internalType: "address";
248
+ }];
249
+ readonly outputs: readonly [];
250
+ readonly stateMutability: "nonpayable";
251
+ }, {
252
+ readonly type: "event";
253
+ readonly name: "InitializeTokenCreator";
254
+ readonly inputs: readonly [{
255
+ readonly name: "token";
256
+ readonly type: "address";
257
+ readonly indexed: false;
258
+ readonly internalType: "address";
259
+ }, {
260
+ readonly name: "initializer";
261
+ readonly type: "address";
262
+ readonly indexed: false;
263
+ readonly internalType: "address";
264
+ }, {
265
+ readonly name: "creator";
266
+ readonly type: "address";
267
+ readonly indexed: false;
268
+ readonly internalType: "address";
269
+ }];
270
+ readonly anonymous: false;
271
+ }, {
272
+ readonly type: "event";
273
+ readonly name: "OwnershipTransferred";
274
+ readonly inputs: readonly [{
275
+ readonly name: "previousOwner";
276
+ readonly type: "address";
277
+ readonly indexed: true;
278
+ readonly internalType: "address";
279
+ }, {
280
+ readonly name: "newOwner";
281
+ readonly type: "address";
282
+ readonly indexed: true;
283
+ readonly internalType: "address";
284
+ }];
285
+ readonly anonymous: false;
286
+ }, {
287
+ readonly type: "event";
288
+ readonly name: "SetTeamSpender";
289
+ readonly inputs: readonly [{
290
+ readonly name: "previousTeamSpender";
291
+ readonly type: "address";
292
+ readonly indexed: true;
293
+ readonly internalType: "address";
294
+ }, {
295
+ readonly name: "newTeamSpender";
296
+ readonly type: "address";
297
+ readonly indexed: true;
298
+ readonly internalType: "address";
299
+ }];
300
+ readonly anonymous: false;
301
+ }, {
302
+ readonly type: "event";
303
+ readonly name: "SetTokenCreatorRoot";
304
+ readonly inputs: readonly [{
305
+ readonly name: "tokenCreatorRoot";
306
+ readonly type: "bytes32";
307
+ readonly indexed: false;
308
+ readonly internalType: "bytes32";
309
+ }];
310
+ readonly anonymous: false;
311
+ }, {
312
+ readonly type: "event";
313
+ readonly name: "Transfer";
314
+ readonly inputs: readonly [{
315
+ readonly name: "safe";
316
+ readonly type: "address";
317
+ readonly indexed: true;
318
+ readonly internalType: "address";
319
+ }, {
320
+ readonly name: "token";
321
+ readonly type: "address";
322
+ readonly indexed: true;
323
+ readonly internalType: "address";
324
+ }, {
325
+ readonly name: "amount";
326
+ readonly type: "uint256";
327
+ readonly indexed: false;
328
+ readonly internalType: "uint256";
329
+ }, {
330
+ readonly name: "spender";
331
+ readonly type: "address";
332
+ readonly indexed: false;
333
+ readonly internalType: "address";
334
+ }, {
335
+ readonly name: "recipient";
336
+ readonly type: "address";
337
+ readonly indexed: true;
338
+ readonly internalType: "address";
339
+ }];
340
+ readonly anonymous: false;
341
+ }, {
342
+ readonly type: "event";
343
+ readonly name: "UpdateTokenCreator";
344
+ readonly inputs: readonly [{
345
+ readonly name: "token";
346
+ readonly type: "address";
347
+ readonly indexed: false;
348
+ readonly internalType: "address";
349
+ }, {
350
+ readonly name: "previousCreator";
351
+ readonly type: "address";
352
+ readonly indexed: false;
353
+ readonly internalType: "address";
354
+ }, {
355
+ readonly name: "newCreator";
356
+ readonly type: "address";
357
+ readonly indexed: false;
358
+ readonly internalType: "address";
359
+ }];
360
+ readonly anonymous: false;
361
+ }, {
362
+ readonly type: "error";
363
+ readonly name: "InsufficientBalance";
364
+ readonly inputs: readonly [{
365
+ readonly name: "safe";
366
+ readonly type: "address";
367
+ readonly internalType: "address";
368
+ }, {
369
+ readonly name: "token";
370
+ readonly type: "address";
371
+ readonly internalType: "address";
372
+ }, {
373
+ readonly name: "balance";
374
+ readonly type: "uint256";
375
+ readonly internalType: "uint256";
376
+ }];
377
+ }, {
378
+ readonly type: "error";
379
+ readonly name: "InvalidProof";
380
+ readonly inputs: readonly [];
381
+ }, {
382
+ readonly type: "error";
383
+ readonly name: "NotAuthorizedToSpend";
384
+ readonly inputs: readonly [{
385
+ readonly name: "sender";
386
+ readonly type: "address";
387
+ readonly internalType: "address";
388
+ }, {
389
+ readonly name: "token";
390
+ readonly type: "address";
391
+ readonly internalType: "address";
392
+ }];
393
+ }, {
394
+ readonly type: "error";
395
+ readonly name: "OwnableInvalidOwner";
396
+ readonly inputs: readonly [{
397
+ readonly name: "owner";
398
+ readonly type: "address";
399
+ readonly internalType: "address";
400
+ }];
401
+ }, {
402
+ readonly type: "error";
403
+ readonly name: "OwnableUnauthorizedAccount";
404
+ readonly inputs: readonly [{
405
+ readonly name: "account";
406
+ readonly type: "address";
407
+ readonly internalType: "address";
408
+ }];
409
+ }, {
410
+ readonly type: "error";
411
+ readonly name: "TokenCreatorAlreadyInitialized";
412
+ readonly inputs: readonly [{
413
+ readonly name: "token";
414
+ readonly type: "address";
415
+ readonly internalType: "address";
416
+ }, {
417
+ readonly name: "delegate";
418
+ readonly type: "address";
419
+ readonly internalType: "address";
420
+ }];
421
+ }, {
422
+ readonly type: "error";
423
+ readonly name: "TokenCreatorRootAlreadySet";
424
+ readonly inputs: readonly [{
425
+ readonly name: "tokenCreatorRoot";
426
+ readonly type: "bytes32";
427
+ readonly internalType: "bytes32";
428
+ }];
429
+ }, {
430
+ readonly type: "error";
431
+ readonly name: "TokenCreatorRootNotSet";
432
+ readonly inputs: readonly [];
433
+ }, {
434
+ readonly type: "error";
435
+ readonly name: "Unauthorized";
436
+ readonly inputs: readonly [{
437
+ readonly name: "unauthorized";
438
+ readonly type: "address";
439
+ readonly internalType: "address";
440
+ }];
441
+ }];
442
+ functionName: "initializeTokenCreator";
443
+ args: readonly [`0x${string}`, `0x${string}`, `0x${string}`[]];
444
+ };
445
+ /**
446
+ * Simulate initializing token creator ownership.
447
+ *
448
+ * @param token The token address to initialize a creator for
449
+ * @param newCreator The address to set as the creator for this token
450
+ * @param proof The Merkle proof demonstrating msg.sender is authorized for this token
451
+ * @param account Optional account to simulate calling for
452
+ * @returns The simulated output
453
+ */
454
+ initializeTokenCreatorSimulate({ token, newCreator, proof, }: {
455
+ token: `0x${string}`;
456
+ newCreator: `0x${string}`;
457
+ proof: `0x${string}`[];
458
+ }, account?: Account): Promise<any>;
459
+ /**
460
+ * Initialize token creator ownership to enable fee claims.
461
+ *
462
+ * This must be called once per token by the original creator. The proof must be
463
+ * obtained from the Clanker team or frontend. During initialization, you can
464
+ * optionally set a different admin address to manage future claims.
465
+ *
466
+ * @param token The token address to initialize a creator for
467
+ * @param newCreator The address to set as the creator for this token (can be different from msg.sender)
468
+ * @param proof The Merkle proof demonstrating msg.sender is authorized for this token
469
+ * @returns Transaction hash or error
470
+ */
471
+ initializeTokenCreator({ token, newCreator, proof, }: {
472
+ token: `0x${string}`;
473
+ newCreator: `0x${string}`;
474
+ proof: `0x${string}`[];
475
+ }): Promise<{
476
+ txHash: `0x${string}`;
477
+ error: undefined;
478
+ } | {
479
+ txHash: undefined;
480
+ error: ClankerError;
481
+ }>;
482
+ /**
483
+ * Get an abi-typed transaction for updating the token creator admin address.
484
+ *
485
+ * This allows the current creator to change the address that can trigger claims.
486
+ * Only callable by the current creator address for the specified token.
487
+ *
488
+ * @param token The token address to update the creator for
489
+ * @param newCreator The new creator/admin address
490
+ * @returns Abi transaction config
491
+ */
492
+ getUpdateTokenCreatorTransaction({ token, newCreator, }: {
493
+ token: `0x${string}`;
494
+ newCreator: `0x${string}`;
495
+ }): {
496
+ address: "0xe6D6cd9C493Ebf28C4b75d95B251eCA684D6b0de";
497
+ abi: readonly [{
498
+ readonly type: "constructor";
499
+ readonly inputs: readonly [{
500
+ readonly name: "owner_";
501
+ readonly type: "address";
502
+ readonly internalType: "address";
503
+ }, {
504
+ readonly name: "teamSpender_";
505
+ readonly type: "address";
506
+ readonly internalType: "address";
507
+ }, {
508
+ readonly name: "teamGrantedTokens_";
509
+ readonly type: "address[]";
510
+ readonly internalType: "address[]";
511
+ }];
512
+ readonly stateMutability: "nonpayable";
513
+ }, {
514
+ readonly type: "function";
515
+ readonly name: "initializeTokenCreator";
516
+ readonly inputs: readonly [{
517
+ readonly name: "token";
518
+ readonly type: "address";
519
+ readonly internalType: "address";
520
+ }, {
521
+ readonly name: "newCreator";
522
+ readonly type: "address";
523
+ readonly internalType: "address";
524
+ }, {
525
+ readonly name: "proof";
526
+ readonly type: "bytes32[]";
527
+ readonly internalType: "bytes32[]";
528
+ }];
529
+ readonly outputs: readonly [];
530
+ readonly stateMutability: "nonpayable";
531
+ }, {
532
+ readonly type: "function";
533
+ readonly name: "owner";
534
+ readonly inputs: readonly [];
535
+ readonly outputs: readonly [{
536
+ readonly name: "";
537
+ readonly type: "address";
538
+ readonly internalType: "address";
539
+ }];
540
+ readonly stateMutability: "view";
541
+ }, {
542
+ readonly type: "function";
543
+ readonly name: "renounceOwnership";
544
+ readonly inputs: readonly [];
545
+ readonly outputs: readonly [];
546
+ readonly stateMutability: "nonpayable";
547
+ }, {
548
+ readonly type: "function";
549
+ readonly name: "setTeamSpender";
550
+ readonly inputs: readonly [{
551
+ readonly name: "teamSpender_";
552
+ readonly type: "address";
553
+ readonly internalType: "address";
554
+ }];
555
+ readonly outputs: readonly [];
556
+ readonly stateMutability: "nonpayable";
557
+ }, {
558
+ readonly type: "function";
559
+ readonly name: "setTokenCreatorRoot";
560
+ readonly inputs: readonly [{
561
+ readonly name: "tokenCreatorRoot_";
562
+ readonly type: "bytes32";
563
+ readonly internalType: "bytes32";
564
+ }];
565
+ readonly outputs: readonly [];
566
+ readonly stateMutability: "nonpayable";
567
+ }, {
568
+ readonly type: "function";
569
+ readonly name: "teamGrantedTokens";
570
+ readonly inputs: readonly [{
571
+ readonly name: "";
572
+ readonly type: "uint256";
573
+ readonly internalType: "uint256";
574
+ }];
575
+ readonly outputs: readonly [{
576
+ readonly name: "";
577
+ readonly type: "address";
578
+ readonly internalType: "address";
579
+ }];
580
+ readonly stateMutability: "view";
581
+ }, {
582
+ readonly type: "function";
583
+ readonly name: "teamGrantedTokensMap";
584
+ readonly inputs: readonly [{
585
+ readonly name: "token";
586
+ readonly type: "address";
587
+ readonly internalType: "address";
588
+ }];
589
+ readonly outputs: readonly [{
590
+ readonly name: "teamGranted";
591
+ readonly type: "bool";
592
+ readonly internalType: "bool";
593
+ }];
594
+ readonly stateMutability: "view";
595
+ }, {
596
+ readonly type: "function";
597
+ readonly name: "teamSpender";
598
+ readonly inputs: readonly [];
599
+ readonly outputs: readonly [{
600
+ readonly name: "";
601
+ readonly type: "address";
602
+ readonly internalType: "address";
603
+ }];
604
+ readonly stateMutability: "view";
605
+ }, {
606
+ readonly type: "function";
607
+ readonly name: "teamTransfer";
608
+ readonly inputs: readonly [{
609
+ readonly name: "safe";
610
+ readonly type: "address";
611
+ readonly internalType: "address";
612
+ }, {
613
+ readonly name: "token";
614
+ readonly type: "address";
615
+ readonly internalType: "address";
616
+ }, {
617
+ readonly name: "recipient";
618
+ readonly type: "address";
619
+ readonly internalType: "address";
620
+ }, {
621
+ readonly name: "amount";
622
+ readonly type: "uint256";
623
+ readonly internalType: "uint256";
624
+ }];
625
+ readonly outputs: readonly [];
626
+ readonly stateMutability: "nonpayable";
627
+ }, {
628
+ readonly type: "function";
629
+ readonly name: "teamTransferEth";
630
+ readonly inputs: readonly [{
631
+ readonly name: "safe";
632
+ readonly type: "address";
633
+ readonly internalType: "address";
634
+ }];
635
+ readonly outputs: readonly [];
636
+ readonly stateMutability: "nonpayable";
637
+ }, {
638
+ readonly type: "function";
639
+ readonly name: "tokenCreator";
640
+ readonly inputs: readonly [{
641
+ readonly name: "token";
642
+ readonly type: "address";
643
+ readonly internalType: "address";
644
+ }];
645
+ readonly outputs: readonly [{
646
+ readonly name: "creator";
647
+ readonly type: "address";
648
+ readonly internalType: "address";
649
+ }];
650
+ readonly stateMutability: "view";
651
+ }, {
652
+ readonly type: "function";
653
+ readonly name: "tokenCreatorRoot";
654
+ readonly inputs: readonly [];
655
+ readonly outputs: readonly [{
656
+ readonly name: "";
657
+ readonly type: "bytes32";
658
+ readonly internalType: "bytes32";
659
+ }];
660
+ readonly stateMutability: "view";
661
+ }, {
662
+ readonly type: "function";
663
+ readonly name: "tokenCreatorTransfer";
664
+ readonly inputs: readonly [{
665
+ readonly name: "safe";
666
+ readonly type: "address";
667
+ readonly internalType: "address";
668
+ }, {
669
+ readonly name: "token";
670
+ readonly type: "address";
671
+ readonly internalType: "address";
672
+ }, {
673
+ readonly name: "recipient";
674
+ readonly type: "address";
675
+ readonly internalType: "address";
676
+ }];
677
+ readonly outputs: readonly [];
678
+ readonly stateMutability: "nonpayable";
679
+ }, {
680
+ readonly type: "function";
681
+ readonly name: "transferOwnership";
682
+ readonly inputs: readonly [{
683
+ readonly name: "newOwner";
684
+ readonly type: "address";
685
+ readonly internalType: "address";
686
+ }];
687
+ readonly outputs: readonly [];
688
+ readonly stateMutability: "nonpayable";
689
+ }, {
690
+ readonly type: "function";
691
+ readonly name: "updateTokenCreator";
692
+ readonly inputs: readonly [{
693
+ readonly name: "token";
694
+ readonly type: "address";
695
+ readonly internalType: "address";
696
+ }, {
697
+ readonly name: "newCreator";
698
+ readonly type: "address";
699
+ readonly internalType: "address";
700
+ }];
701
+ readonly outputs: readonly [];
702
+ readonly stateMutability: "nonpayable";
703
+ }, {
704
+ readonly type: "event";
705
+ readonly name: "InitializeTokenCreator";
706
+ readonly inputs: readonly [{
707
+ readonly name: "token";
708
+ readonly type: "address";
709
+ readonly indexed: false;
710
+ readonly internalType: "address";
711
+ }, {
712
+ readonly name: "initializer";
713
+ readonly type: "address";
714
+ readonly indexed: false;
715
+ readonly internalType: "address";
716
+ }, {
717
+ readonly name: "creator";
718
+ readonly type: "address";
719
+ readonly indexed: false;
720
+ readonly internalType: "address";
721
+ }];
722
+ readonly anonymous: false;
723
+ }, {
724
+ readonly type: "event";
725
+ readonly name: "OwnershipTransferred";
726
+ readonly inputs: readonly [{
727
+ readonly name: "previousOwner";
728
+ readonly type: "address";
729
+ readonly indexed: true;
730
+ readonly internalType: "address";
731
+ }, {
732
+ readonly name: "newOwner";
733
+ readonly type: "address";
734
+ readonly indexed: true;
735
+ readonly internalType: "address";
736
+ }];
737
+ readonly anonymous: false;
738
+ }, {
739
+ readonly type: "event";
740
+ readonly name: "SetTeamSpender";
741
+ readonly inputs: readonly [{
742
+ readonly name: "previousTeamSpender";
743
+ readonly type: "address";
744
+ readonly indexed: true;
745
+ readonly internalType: "address";
746
+ }, {
747
+ readonly name: "newTeamSpender";
748
+ readonly type: "address";
749
+ readonly indexed: true;
750
+ readonly internalType: "address";
751
+ }];
752
+ readonly anonymous: false;
753
+ }, {
754
+ readonly type: "event";
755
+ readonly name: "SetTokenCreatorRoot";
756
+ readonly inputs: readonly [{
757
+ readonly name: "tokenCreatorRoot";
758
+ readonly type: "bytes32";
759
+ readonly indexed: false;
760
+ readonly internalType: "bytes32";
761
+ }];
762
+ readonly anonymous: false;
763
+ }, {
764
+ readonly type: "event";
765
+ readonly name: "Transfer";
766
+ readonly inputs: readonly [{
767
+ readonly name: "safe";
768
+ readonly type: "address";
769
+ readonly indexed: true;
770
+ readonly internalType: "address";
771
+ }, {
772
+ readonly name: "token";
773
+ readonly type: "address";
774
+ readonly indexed: true;
775
+ readonly internalType: "address";
776
+ }, {
777
+ readonly name: "amount";
778
+ readonly type: "uint256";
779
+ readonly indexed: false;
780
+ readonly internalType: "uint256";
781
+ }, {
782
+ readonly name: "spender";
783
+ readonly type: "address";
784
+ readonly indexed: false;
785
+ readonly internalType: "address";
786
+ }, {
787
+ readonly name: "recipient";
788
+ readonly type: "address";
789
+ readonly indexed: true;
790
+ readonly internalType: "address";
791
+ }];
792
+ readonly anonymous: false;
793
+ }, {
794
+ readonly type: "event";
795
+ readonly name: "UpdateTokenCreator";
796
+ readonly inputs: readonly [{
797
+ readonly name: "token";
798
+ readonly type: "address";
799
+ readonly indexed: false;
800
+ readonly internalType: "address";
801
+ }, {
802
+ readonly name: "previousCreator";
803
+ readonly type: "address";
804
+ readonly indexed: false;
805
+ readonly internalType: "address";
806
+ }, {
807
+ readonly name: "newCreator";
808
+ readonly type: "address";
809
+ readonly indexed: false;
810
+ readonly internalType: "address";
811
+ }];
812
+ readonly anonymous: false;
813
+ }, {
814
+ readonly type: "error";
815
+ readonly name: "InsufficientBalance";
816
+ readonly inputs: readonly [{
817
+ readonly name: "safe";
818
+ readonly type: "address";
819
+ readonly internalType: "address";
820
+ }, {
821
+ readonly name: "token";
822
+ readonly type: "address";
823
+ readonly internalType: "address";
824
+ }, {
825
+ readonly name: "balance";
826
+ readonly type: "uint256";
827
+ readonly internalType: "uint256";
828
+ }];
829
+ }, {
830
+ readonly type: "error";
831
+ readonly name: "InvalidProof";
832
+ readonly inputs: readonly [];
833
+ }, {
834
+ readonly type: "error";
835
+ readonly name: "NotAuthorizedToSpend";
836
+ readonly inputs: readonly [{
837
+ readonly name: "sender";
838
+ readonly type: "address";
839
+ readonly internalType: "address";
840
+ }, {
841
+ readonly name: "token";
842
+ readonly type: "address";
843
+ readonly internalType: "address";
844
+ }];
845
+ }, {
846
+ readonly type: "error";
847
+ readonly name: "OwnableInvalidOwner";
848
+ readonly inputs: readonly [{
849
+ readonly name: "owner";
850
+ readonly type: "address";
851
+ readonly internalType: "address";
852
+ }];
853
+ }, {
854
+ readonly type: "error";
855
+ readonly name: "OwnableUnauthorizedAccount";
856
+ readonly inputs: readonly [{
857
+ readonly name: "account";
858
+ readonly type: "address";
859
+ readonly internalType: "address";
860
+ }];
861
+ }, {
862
+ readonly type: "error";
863
+ readonly name: "TokenCreatorAlreadyInitialized";
864
+ readonly inputs: readonly [{
865
+ readonly name: "token";
866
+ readonly type: "address";
867
+ readonly internalType: "address";
868
+ }, {
869
+ readonly name: "delegate";
870
+ readonly type: "address";
871
+ readonly internalType: "address";
872
+ }];
873
+ }, {
874
+ readonly type: "error";
875
+ readonly name: "TokenCreatorRootAlreadySet";
876
+ readonly inputs: readonly [{
877
+ readonly name: "tokenCreatorRoot";
878
+ readonly type: "bytes32";
879
+ readonly internalType: "bytes32";
880
+ }];
881
+ }, {
882
+ readonly type: "error";
883
+ readonly name: "TokenCreatorRootNotSet";
884
+ readonly inputs: readonly [];
885
+ }, {
886
+ readonly type: "error";
887
+ readonly name: "Unauthorized";
888
+ readonly inputs: readonly [{
889
+ readonly name: "unauthorized";
890
+ readonly type: "address";
891
+ readonly internalType: "address";
892
+ }];
893
+ }];
894
+ functionName: "updateTokenCreator";
895
+ args: readonly [`0x${string}`, `0x${string}`];
896
+ };
897
+ /**
898
+ * Simulate updating the token creator admin address.
899
+ *
900
+ * @param token The token address to update the creator for
901
+ * @param newCreator The new creator/admin address
902
+ * @param account Optional account to simulate calling for
903
+ * @returns The simulated output
904
+ */
905
+ updateTokenCreatorSimulate({ token, newCreator, }: {
906
+ token: `0x${string}`;
907
+ newCreator: `0x${string}`;
908
+ }, account?: Account): Promise<any>;
909
+ /**
910
+ * Update the token creator admin address.
911
+ *
912
+ * This allows you to change which address can trigger fee claims for your token.
913
+ * Only callable by the current creator address.
914
+ *
915
+ * @param token The token address to update the creator for
916
+ * @param newCreator The new creator/admin address
917
+ * @returns Transaction hash or error
918
+ */
919
+ updateTokenCreator({ token, newCreator, }: {
920
+ token: `0x${string}`;
921
+ newCreator: `0x${string}`;
922
+ }): Promise<{
923
+ txHash: `0x${string}`;
924
+ error: undefined;
925
+ } | {
926
+ txHash: undefined;
927
+ error: ClankerError;
928
+ }>;
929
+ /**
930
+ * Get an abi-typed transaction for claiming token creator fees.
931
+ *
932
+ * This allows the authorized creator to transfer all accumulated fees from the
933
+ * Safe wallet to any recipient address. Only callable by the authorized creator
934
+ * for the specified token.
935
+ *
936
+ * @param safe The Safe wallet address holding the fees
937
+ * @param token The ERC20 token address to transfer
938
+ * @param recipient The address to receive the fees
939
+ * @returns Abi transaction config
940
+ */
941
+ getTokenCreatorTransferTransaction({ safe, token, recipient, }: {
942
+ safe: `0x${string}`;
943
+ token: `0x${string}`;
944
+ recipient: `0x${string}`;
945
+ }): {
946
+ address: "0xe6D6cd9C493Ebf28C4b75d95B251eCA684D6b0de";
947
+ abi: readonly [{
948
+ readonly type: "constructor";
949
+ readonly inputs: readonly [{
950
+ readonly name: "owner_";
951
+ readonly type: "address";
952
+ readonly internalType: "address";
953
+ }, {
954
+ readonly name: "teamSpender_";
955
+ readonly type: "address";
956
+ readonly internalType: "address";
957
+ }, {
958
+ readonly name: "teamGrantedTokens_";
959
+ readonly type: "address[]";
960
+ readonly internalType: "address[]";
961
+ }];
962
+ readonly stateMutability: "nonpayable";
963
+ }, {
964
+ readonly type: "function";
965
+ readonly name: "initializeTokenCreator";
966
+ readonly inputs: readonly [{
967
+ readonly name: "token";
968
+ readonly type: "address";
969
+ readonly internalType: "address";
970
+ }, {
971
+ readonly name: "newCreator";
972
+ readonly type: "address";
973
+ readonly internalType: "address";
974
+ }, {
975
+ readonly name: "proof";
976
+ readonly type: "bytes32[]";
977
+ readonly internalType: "bytes32[]";
978
+ }];
979
+ readonly outputs: readonly [];
980
+ readonly stateMutability: "nonpayable";
981
+ }, {
982
+ readonly type: "function";
983
+ readonly name: "owner";
984
+ readonly inputs: readonly [];
985
+ readonly outputs: readonly [{
986
+ readonly name: "";
987
+ readonly type: "address";
988
+ readonly internalType: "address";
989
+ }];
990
+ readonly stateMutability: "view";
991
+ }, {
992
+ readonly type: "function";
993
+ readonly name: "renounceOwnership";
994
+ readonly inputs: readonly [];
995
+ readonly outputs: readonly [];
996
+ readonly stateMutability: "nonpayable";
997
+ }, {
998
+ readonly type: "function";
999
+ readonly name: "setTeamSpender";
1000
+ readonly inputs: readonly [{
1001
+ readonly name: "teamSpender_";
1002
+ readonly type: "address";
1003
+ readonly internalType: "address";
1004
+ }];
1005
+ readonly outputs: readonly [];
1006
+ readonly stateMutability: "nonpayable";
1007
+ }, {
1008
+ readonly type: "function";
1009
+ readonly name: "setTokenCreatorRoot";
1010
+ readonly inputs: readonly [{
1011
+ readonly name: "tokenCreatorRoot_";
1012
+ readonly type: "bytes32";
1013
+ readonly internalType: "bytes32";
1014
+ }];
1015
+ readonly outputs: readonly [];
1016
+ readonly stateMutability: "nonpayable";
1017
+ }, {
1018
+ readonly type: "function";
1019
+ readonly name: "teamGrantedTokens";
1020
+ readonly inputs: readonly [{
1021
+ readonly name: "";
1022
+ readonly type: "uint256";
1023
+ readonly internalType: "uint256";
1024
+ }];
1025
+ readonly outputs: readonly [{
1026
+ readonly name: "";
1027
+ readonly type: "address";
1028
+ readonly internalType: "address";
1029
+ }];
1030
+ readonly stateMutability: "view";
1031
+ }, {
1032
+ readonly type: "function";
1033
+ readonly name: "teamGrantedTokensMap";
1034
+ readonly inputs: readonly [{
1035
+ readonly name: "token";
1036
+ readonly type: "address";
1037
+ readonly internalType: "address";
1038
+ }];
1039
+ readonly outputs: readonly [{
1040
+ readonly name: "teamGranted";
1041
+ readonly type: "bool";
1042
+ readonly internalType: "bool";
1043
+ }];
1044
+ readonly stateMutability: "view";
1045
+ }, {
1046
+ readonly type: "function";
1047
+ readonly name: "teamSpender";
1048
+ readonly inputs: readonly [];
1049
+ readonly outputs: readonly [{
1050
+ readonly name: "";
1051
+ readonly type: "address";
1052
+ readonly internalType: "address";
1053
+ }];
1054
+ readonly stateMutability: "view";
1055
+ }, {
1056
+ readonly type: "function";
1057
+ readonly name: "teamTransfer";
1058
+ readonly inputs: readonly [{
1059
+ readonly name: "safe";
1060
+ readonly type: "address";
1061
+ readonly internalType: "address";
1062
+ }, {
1063
+ readonly name: "token";
1064
+ readonly type: "address";
1065
+ readonly internalType: "address";
1066
+ }, {
1067
+ readonly name: "recipient";
1068
+ readonly type: "address";
1069
+ readonly internalType: "address";
1070
+ }, {
1071
+ readonly name: "amount";
1072
+ readonly type: "uint256";
1073
+ readonly internalType: "uint256";
1074
+ }];
1075
+ readonly outputs: readonly [];
1076
+ readonly stateMutability: "nonpayable";
1077
+ }, {
1078
+ readonly type: "function";
1079
+ readonly name: "teamTransferEth";
1080
+ readonly inputs: readonly [{
1081
+ readonly name: "safe";
1082
+ readonly type: "address";
1083
+ readonly internalType: "address";
1084
+ }];
1085
+ readonly outputs: readonly [];
1086
+ readonly stateMutability: "nonpayable";
1087
+ }, {
1088
+ readonly type: "function";
1089
+ readonly name: "tokenCreator";
1090
+ readonly inputs: readonly [{
1091
+ readonly name: "token";
1092
+ readonly type: "address";
1093
+ readonly internalType: "address";
1094
+ }];
1095
+ readonly outputs: readonly [{
1096
+ readonly name: "creator";
1097
+ readonly type: "address";
1098
+ readonly internalType: "address";
1099
+ }];
1100
+ readonly stateMutability: "view";
1101
+ }, {
1102
+ readonly type: "function";
1103
+ readonly name: "tokenCreatorRoot";
1104
+ readonly inputs: readonly [];
1105
+ readonly outputs: readonly [{
1106
+ readonly name: "";
1107
+ readonly type: "bytes32";
1108
+ readonly internalType: "bytes32";
1109
+ }];
1110
+ readonly stateMutability: "view";
1111
+ }, {
1112
+ readonly type: "function";
1113
+ readonly name: "tokenCreatorTransfer";
1114
+ readonly inputs: readonly [{
1115
+ readonly name: "safe";
1116
+ readonly type: "address";
1117
+ readonly internalType: "address";
1118
+ }, {
1119
+ readonly name: "token";
1120
+ readonly type: "address";
1121
+ readonly internalType: "address";
1122
+ }, {
1123
+ readonly name: "recipient";
1124
+ readonly type: "address";
1125
+ readonly internalType: "address";
1126
+ }];
1127
+ readonly outputs: readonly [];
1128
+ readonly stateMutability: "nonpayable";
1129
+ }, {
1130
+ readonly type: "function";
1131
+ readonly name: "transferOwnership";
1132
+ readonly inputs: readonly [{
1133
+ readonly name: "newOwner";
1134
+ readonly type: "address";
1135
+ readonly internalType: "address";
1136
+ }];
1137
+ readonly outputs: readonly [];
1138
+ readonly stateMutability: "nonpayable";
1139
+ }, {
1140
+ readonly type: "function";
1141
+ readonly name: "updateTokenCreator";
1142
+ readonly inputs: readonly [{
1143
+ readonly name: "token";
1144
+ readonly type: "address";
1145
+ readonly internalType: "address";
1146
+ }, {
1147
+ readonly name: "newCreator";
1148
+ readonly type: "address";
1149
+ readonly internalType: "address";
1150
+ }];
1151
+ readonly outputs: readonly [];
1152
+ readonly stateMutability: "nonpayable";
1153
+ }, {
1154
+ readonly type: "event";
1155
+ readonly name: "InitializeTokenCreator";
1156
+ readonly inputs: readonly [{
1157
+ readonly name: "token";
1158
+ readonly type: "address";
1159
+ readonly indexed: false;
1160
+ readonly internalType: "address";
1161
+ }, {
1162
+ readonly name: "initializer";
1163
+ readonly type: "address";
1164
+ readonly indexed: false;
1165
+ readonly internalType: "address";
1166
+ }, {
1167
+ readonly name: "creator";
1168
+ readonly type: "address";
1169
+ readonly indexed: false;
1170
+ readonly internalType: "address";
1171
+ }];
1172
+ readonly anonymous: false;
1173
+ }, {
1174
+ readonly type: "event";
1175
+ readonly name: "OwnershipTransferred";
1176
+ readonly inputs: readonly [{
1177
+ readonly name: "previousOwner";
1178
+ readonly type: "address";
1179
+ readonly indexed: true;
1180
+ readonly internalType: "address";
1181
+ }, {
1182
+ readonly name: "newOwner";
1183
+ readonly type: "address";
1184
+ readonly indexed: true;
1185
+ readonly internalType: "address";
1186
+ }];
1187
+ readonly anonymous: false;
1188
+ }, {
1189
+ readonly type: "event";
1190
+ readonly name: "SetTeamSpender";
1191
+ readonly inputs: readonly [{
1192
+ readonly name: "previousTeamSpender";
1193
+ readonly type: "address";
1194
+ readonly indexed: true;
1195
+ readonly internalType: "address";
1196
+ }, {
1197
+ readonly name: "newTeamSpender";
1198
+ readonly type: "address";
1199
+ readonly indexed: true;
1200
+ readonly internalType: "address";
1201
+ }];
1202
+ readonly anonymous: false;
1203
+ }, {
1204
+ readonly type: "event";
1205
+ readonly name: "SetTokenCreatorRoot";
1206
+ readonly inputs: readonly [{
1207
+ readonly name: "tokenCreatorRoot";
1208
+ readonly type: "bytes32";
1209
+ readonly indexed: false;
1210
+ readonly internalType: "bytes32";
1211
+ }];
1212
+ readonly anonymous: false;
1213
+ }, {
1214
+ readonly type: "event";
1215
+ readonly name: "Transfer";
1216
+ readonly inputs: readonly [{
1217
+ readonly name: "safe";
1218
+ readonly type: "address";
1219
+ readonly indexed: true;
1220
+ readonly internalType: "address";
1221
+ }, {
1222
+ readonly name: "token";
1223
+ readonly type: "address";
1224
+ readonly indexed: true;
1225
+ readonly internalType: "address";
1226
+ }, {
1227
+ readonly name: "amount";
1228
+ readonly type: "uint256";
1229
+ readonly indexed: false;
1230
+ readonly internalType: "uint256";
1231
+ }, {
1232
+ readonly name: "spender";
1233
+ readonly type: "address";
1234
+ readonly indexed: false;
1235
+ readonly internalType: "address";
1236
+ }, {
1237
+ readonly name: "recipient";
1238
+ readonly type: "address";
1239
+ readonly indexed: true;
1240
+ readonly internalType: "address";
1241
+ }];
1242
+ readonly anonymous: false;
1243
+ }, {
1244
+ readonly type: "event";
1245
+ readonly name: "UpdateTokenCreator";
1246
+ readonly inputs: readonly [{
1247
+ readonly name: "token";
1248
+ readonly type: "address";
1249
+ readonly indexed: false;
1250
+ readonly internalType: "address";
1251
+ }, {
1252
+ readonly name: "previousCreator";
1253
+ readonly type: "address";
1254
+ readonly indexed: false;
1255
+ readonly internalType: "address";
1256
+ }, {
1257
+ readonly name: "newCreator";
1258
+ readonly type: "address";
1259
+ readonly indexed: false;
1260
+ readonly internalType: "address";
1261
+ }];
1262
+ readonly anonymous: false;
1263
+ }, {
1264
+ readonly type: "error";
1265
+ readonly name: "InsufficientBalance";
1266
+ readonly inputs: readonly [{
1267
+ readonly name: "safe";
1268
+ readonly type: "address";
1269
+ readonly internalType: "address";
1270
+ }, {
1271
+ readonly name: "token";
1272
+ readonly type: "address";
1273
+ readonly internalType: "address";
1274
+ }, {
1275
+ readonly name: "balance";
1276
+ readonly type: "uint256";
1277
+ readonly internalType: "uint256";
1278
+ }];
1279
+ }, {
1280
+ readonly type: "error";
1281
+ readonly name: "InvalidProof";
1282
+ readonly inputs: readonly [];
1283
+ }, {
1284
+ readonly type: "error";
1285
+ readonly name: "NotAuthorizedToSpend";
1286
+ readonly inputs: readonly [{
1287
+ readonly name: "sender";
1288
+ readonly type: "address";
1289
+ readonly internalType: "address";
1290
+ }, {
1291
+ readonly name: "token";
1292
+ readonly type: "address";
1293
+ readonly internalType: "address";
1294
+ }];
1295
+ }, {
1296
+ readonly type: "error";
1297
+ readonly name: "OwnableInvalidOwner";
1298
+ readonly inputs: readonly [{
1299
+ readonly name: "owner";
1300
+ readonly type: "address";
1301
+ readonly internalType: "address";
1302
+ }];
1303
+ }, {
1304
+ readonly type: "error";
1305
+ readonly name: "OwnableUnauthorizedAccount";
1306
+ readonly inputs: readonly [{
1307
+ readonly name: "account";
1308
+ readonly type: "address";
1309
+ readonly internalType: "address";
1310
+ }];
1311
+ }, {
1312
+ readonly type: "error";
1313
+ readonly name: "TokenCreatorAlreadyInitialized";
1314
+ readonly inputs: readonly [{
1315
+ readonly name: "token";
1316
+ readonly type: "address";
1317
+ readonly internalType: "address";
1318
+ }, {
1319
+ readonly name: "delegate";
1320
+ readonly type: "address";
1321
+ readonly internalType: "address";
1322
+ }];
1323
+ }, {
1324
+ readonly type: "error";
1325
+ readonly name: "TokenCreatorRootAlreadySet";
1326
+ readonly inputs: readonly [{
1327
+ readonly name: "tokenCreatorRoot";
1328
+ readonly type: "bytes32";
1329
+ readonly internalType: "bytes32";
1330
+ }];
1331
+ }, {
1332
+ readonly type: "error";
1333
+ readonly name: "TokenCreatorRootNotSet";
1334
+ readonly inputs: readonly [];
1335
+ }, {
1336
+ readonly type: "error";
1337
+ readonly name: "Unauthorized";
1338
+ readonly inputs: readonly [{
1339
+ readonly name: "unauthorized";
1340
+ readonly type: "address";
1341
+ readonly internalType: "address";
1342
+ }];
1343
+ }];
1344
+ functionName: "tokenCreatorTransfer";
1345
+ args: readonly [`0x${string}`, `0x${string}`, `0x${string}`];
1346
+ };
1347
+ /**
1348
+ * Simulate claiming token creator fees.
1349
+ *
1350
+ * @param safe The Safe wallet address holding the fees
1351
+ * @param token The ERC20 token address to transfer
1352
+ * @param recipient The address to receive the fees
1353
+ * @param account Optional account to simulate calling for
1354
+ * @returns The simulated output
1355
+ */
1356
+ tokenCreatorTransferSimulate({ safe, token, recipient, }: {
1357
+ safe: `0x${string}`;
1358
+ token: `0x${string}`;
1359
+ recipient: `0x${string}`;
1360
+ }, account?: Account): Promise<any>;
1361
+ /**
1362
+ * Claim token creator fees by transferring them from the Safe to a recipient.
1363
+ *
1364
+ * This transfers all accumulated fees for your token to the specified recipient.
1365
+ * Only callable by the authorized creator address for the token.
1366
+ *
1367
+ * Note: Not all Clanker tokens can be sent to the zero address. If you get an error,
1368
+ * consider sending to 0x000000000000000000000000000000000000dEaD instead.
1369
+ *
1370
+ * @param safe The Safe wallet address holding the fees
1371
+ * @param token The ERC20 token address to transfer
1372
+ * @param recipient The address to receive the fees
1373
+ * @returns Transaction hash or error
1374
+ */
1375
+ tokenCreatorTransfer({ safe, token, recipient, }: {
1376
+ safe: `0x${string}`;
1377
+ token: `0x${string}`;
1378
+ recipient: `0x${string}`;
1379
+ }): Promise<{
1380
+ txHash: `0x${string}`;
1381
+ error: undefined;
1382
+ } | {
1383
+ txHash: undefined;
1384
+ error: ClankerError;
1385
+ }>;
1386
+ /**
1387
+ * Get the stored creator address for a token.
1388
+ *
1389
+ * Returns the address that is authorized to claim fees for this token.
1390
+ * Returns zero address if the token creator has not been initialized yet.
1391
+ *
1392
+ * @param token The token address to check
1393
+ * @returns The creator address for the token
1394
+ */
1395
+ getTokenCreator({ token }: {
1396
+ token: `0x${string}`;
1397
+ }): Promise<`0x${string}`>;
1398
+ /**
1399
+ * Get the current Merkle root used for verifying token creator proofs.
1400
+ *
1401
+ * This is used internally by the contract to verify initialization proofs.
1402
+ *
1403
+ * @returns The current token creator Merkle root
1404
+ */
1405
+ getTokenCreatorRoot(): Promise<`0x${string}`>;
1406
+ }
1407
+ /**
1408
+ * Interface for token creator entries in the CSV data
1409
+ */
1410
+ interface TokenCreatorEntry {
1411
+ tokenAddress: `0x${string}`;
1412
+ currentCreator: `0x${string}`;
1413
+ }
1414
+ /**
1415
+ * Result of merkle proof generation
1416
+ */
1417
+ interface MerkleProofResult {
1418
+ tokenAddress: `0x${string}`;
1419
+ currentCreator: `0x${string}`;
1420
+ proof: `0x${string}`[];
1421
+ leafHash: `0x${string}`;
1422
+ root: `0x${string}`;
1423
+ index: number;
1424
+ }
1425
+ /**
1426
+ * Generate a leaf hash for a token-creator pair.
1427
+ * This matches the Solidity implementation: keccak256(abi.encodePacked(tokenAddress, currentCreator))
1428
+ *
1429
+ * @param tokenAddress The token address
1430
+ * @param currentCreator The creator address
1431
+ * @returns The leaf hash
1432
+ */
1433
+ declare function generateLeafHash(tokenAddress: `0x${string}`, currentCreator: `0x${string}`): `0x${string}`;
1434
+ /**
1435
+ * Build a merkle tree from token-creator entries and get a proof for a specific token.
1436
+ *
1437
+ * @param entries Array of token-creator pairs
1438
+ * @param targetToken The token address to generate a proof for
1439
+ * @returns Merkle proof result or null if token not found
1440
+ */
1441
+ declare function getTokenCreatorMerkleProof(entries: TokenCreatorEntry[], targetToken: `0x${string}`): MerkleProofResult | null;
1442
+ /**
1443
+ * Parse CSV content into token-creator entries.
1444
+ *
1445
+ * @param csvContent CSV string with columns: tokenAddress,currentCreator
1446
+ * @returns Array of token-creator entries
1447
+ */
1448
+ declare function parseTokenCreatorCSV(csvContent: string): TokenCreatorEntry[];
1449
+ /**
1450
+ * Get the expected merkle root for the current dataset.
1451
+ * This is the root that should be set in the contract.
1452
+ */
1453
+ declare const EXPECTED_MERKLE_ROOT: "0xa7dcc91a2136ef1b3c708dbab901cbeb075f6df5cf5987494fedc340c57f7025";
1454
+ /**
1455
+ * Get a transaction config for initializing token creator ownership.
1456
+ *
1457
+ * @param token The token address to initialize a creator for
1458
+ * @param newCreator The address to set as the creator for this token
1459
+ * @param proof The Merkle proof demonstrating authorization
1460
+ * @returns Transaction config
1461
+ */
1462
+ declare function getInitializeTokenCreatorTransaction({ token, newCreator, proof, }: {
1463
+ token: `0x${string}`;
1464
+ newCreator: `0x${string}`;
1465
+ proof: `0x${string}`[];
1466
+ }): {
1467
+ address: "0xe6D6cd9C493Ebf28C4b75d95B251eCA684D6b0de";
1468
+ abi: readonly [{
1469
+ readonly type: "constructor";
1470
+ readonly inputs: readonly [{
1471
+ readonly name: "owner_";
1472
+ readonly type: "address";
1473
+ readonly internalType: "address";
1474
+ }, {
1475
+ readonly name: "teamSpender_";
1476
+ readonly type: "address";
1477
+ readonly internalType: "address";
1478
+ }, {
1479
+ readonly name: "teamGrantedTokens_";
1480
+ readonly type: "address[]";
1481
+ readonly internalType: "address[]";
1482
+ }];
1483
+ readonly stateMutability: "nonpayable";
1484
+ }, {
1485
+ readonly type: "function";
1486
+ readonly name: "initializeTokenCreator";
1487
+ readonly inputs: readonly [{
1488
+ readonly name: "token";
1489
+ readonly type: "address";
1490
+ readonly internalType: "address";
1491
+ }, {
1492
+ readonly name: "newCreator";
1493
+ readonly type: "address";
1494
+ readonly internalType: "address";
1495
+ }, {
1496
+ readonly name: "proof";
1497
+ readonly type: "bytes32[]";
1498
+ readonly internalType: "bytes32[]";
1499
+ }];
1500
+ readonly outputs: readonly [];
1501
+ readonly stateMutability: "nonpayable";
1502
+ }, {
1503
+ readonly type: "function";
1504
+ readonly name: "owner";
1505
+ readonly inputs: readonly [];
1506
+ readonly outputs: readonly [{
1507
+ readonly name: "";
1508
+ readonly type: "address";
1509
+ readonly internalType: "address";
1510
+ }];
1511
+ readonly stateMutability: "view";
1512
+ }, {
1513
+ readonly type: "function";
1514
+ readonly name: "renounceOwnership";
1515
+ readonly inputs: readonly [];
1516
+ readonly outputs: readonly [];
1517
+ readonly stateMutability: "nonpayable";
1518
+ }, {
1519
+ readonly type: "function";
1520
+ readonly name: "setTeamSpender";
1521
+ readonly inputs: readonly [{
1522
+ readonly name: "teamSpender_";
1523
+ readonly type: "address";
1524
+ readonly internalType: "address";
1525
+ }];
1526
+ readonly outputs: readonly [];
1527
+ readonly stateMutability: "nonpayable";
1528
+ }, {
1529
+ readonly type: "function";
1530
+ readonly name: "setTokenCreatorRoot";
1531
+ readonly inputs: readonly [{
1532
+ readonly name: "tokenCreatorRoot_";
1533
+ readonly type: "bytes32";
1534
+ readonly internalType: "bytes32";
1535
+ }];
1536
+ readonly outputs: readonly [];
1537
+ readonly stateMutability: "nonpayable";
1538
+ }, {
1539
+ readonly type: "function";
1540
+ readonly name: "teamGrantedTokens";
1541
+ readonly inputs: readonly [{
1542
+ readonly name: "";
1543
+ readonly type: "uint256";
1544
+ readonly internalType: "uint256";
1545
+ }];
1546
+ readonly outputs: readonly [{
1547
+ readonly name: "";
1548
+ readonly type: "address";
1549
+ readonly internalType: "address";
1550
+ }];
1551
+ readonly stateMutability: "view";
1552
+ }, {
1553
+ readonly type: "function";
1554
+ readonly name: "teamGrantedTokensMap";
1555
+ readonly inputs: readonly [{
1556
+ readonly name: "token";
1557
+ readonly type: "address";
1558
+ readonly internalType: "address";
1559
+ }];
1560
+ readonly outputs: readonly [{
1561
+ readonly name: "teamGranted";
1562
+ readonly type: "bool";
1563
+ readonly internalType: "bool";
1564
+ }];
1565
+ readonly stateMutability: "view";
1566
+ }, {
1567
+ readonly type: "function";
1568
+ readonly name: "teamSpender";
1569
+ readonly inputs: readonly [];
1570
+ readonly outputs: readonly [{
1571
+ readonly name: "";
1572
+ readonly type: "address";
1573
+ readonly internalType: "address";
1574
+ }];
1575
+ readonly stateMutability: "view";
1576
+ }, {
1577
+ readonly type: "function";
1578
+ readonly name: "teamTransfer";
1579
+ readonly inputs: readonly [{
1580
+ readonly name: "safe";
1581
+ readonly type: "address";
1582
+ readonly internalType: "address";
1583
+ }, {
1584
+ readonly name: "token";
1585
+ readonly type: "address";
1586
+ readonly internalType: "address";
1587
+ }, {
1588
+ readonly name: "recipient";
1589
+ readonly type: "address";
1590
+ readonly internalType: "address";
1591
+ }, {
1592
+ readonly name: "amount";
1593
+ readonly type: "uint256";
1594
+ readonly internalType: "uint256";
1595
+ }];
1596
+ readonly outputs: readonly [];
1597
+ readonly stateMutability: "nonpayable";
1598
+ }, {
1599
+ readonly type: "function";
1600
+ readonly name: "teamTransferEth";
1601
+ readonly inputs: readonly [{
1602
+ readonly name: "safe";
1603
+ readonly type: "address";
1604
+ readonly internalType: "address";
1605
+ }];
1606
+ readonly outputs: readonly [];
1607
+ readonly stateMutability: "nonpayable";
1608
+ }, {
1609
+ readonly type: "function";
1610
+ readonly name: "tokenCreator";
1611
+ readonly inputs: readonly [{
1612
+ readonly name: "token";
1613
+ readonly type: "address";
1614
+ readonly internalType: "address";
1615
+ }];
1616
+ readonly outputs: readonly [{
1617
+ readonly name: "creator";
1618
+ readonly type: "address";
1619
+ readonly internalType: "address";
1620
+ }];
1621
+ readonly stateMutability: "view";
1622
+ }, {
1623
+ readonly type: "function";
1624
+ readonly name: "tokenCreatorRoot";
1625
+ readonly inputs: readonly [];
1626
+ readonly outputs: readonly [{
1627
+ readonly name: "";
1628
+ readonly type: "bytes32";
1629
+ readonly internalType: "bytes32";
1630
+ }];
1631
+ readonly stateMutability: "view";
1632
+ }, {
1633
+ readonly type: "function";
1634
+ readonly name: "tokenCreatorTransfer";
1635
+ readonly inputs: readonly [{
1636
+ readonly name: "safe";
1637
+ readonly type: "address";
1638
+ readonly internalType: "address";
1639
+ }, {
1640
+ readonly name: "token";
1641
+ readonly type: "address";
1642
+ readonly internalType: "address";
1643
+ }, {
1644
+ readonly name: "recipient";
1645
+ readonly type: "address";
1646
+ readonly internalType: "address";
1647
+ }];
1648
+ readonly outputs: readonly [];
1649
+ readonly stateMutability: "nonpayable";
1650
+ }, {
1651
+ readonly type: "function";
1652
+ readonly name: "transferOwnership";
1653
+ readonly inputs: readonly [{
1654
+ readonly name: "newOwner";
1655
+ readonly type: "address";
1656
+ readonly internalType: "address";
1657
+ }];
1658
+ readonly outputs: readonly [];
1659
+ readonly stateMutability: "nonpayable";
1660
+ }, {
1661
+ readonly type: "function";
1662
+ readonly name: "updateTokenCreator";
1663
+ readonly inputs: readonly [{
1664
+ readonly name: "token";
1665
+ readonly type: "address";
1666
+ readonly internalType: "address";
1667
+ }, {
1668
+ readonly name: "newCreator";
1669
+ readonly type: "address";
1670
+ readonly internalType: "address";
1671
+ }];
1672
+ readonly outputs: readonly [];
1673
+ readonly stateMutability: "nonpayable";
1674
+ }, {
1675
+ readonly type: "event";
1676
+ readonly name: "InitializeTokenCreator";
1677
+ readonly inputs: readonly [{
1678
+ readonly name: "token";
1679
+ readonly type: "address";
1680
+ readonly indexed: false;
1681
+ readonly internalType: "address";
1682
+ }, {
1683
+ readonly name: "initializer";
1684
+ readonly type: "address";
1685
+ readonly indexed: false;
1686
+ readonly internalType: "address";
1687
+ }, {
1688
+ readonly name: "creator";
1689
+ readonly type: "address";
1690
+ readonly indexed: false;
1691
+ readonly internalType: "address";
1692
+ }];
1693
+ readonly anonymous: false;
1694
+ }, {
1695
+ readonly type: "event";
1696
+ readonly name: "OwnershipTransferred";
1697
+ readonly inputs: readonly [{
1698
+ readonly name: "previousOwner";
1699
+ readonly type: "address";
1700
+ readonly indexed: true;
1701
+ readonly internalType: "address";
1702
+ }, {
1703
+ readonly name: "newOwner";
1704
+ readonly type: "address";
1705
+ readonly indexed: true;
1706
+ readonly internalType: "address";
1707
+ }];
1708
+ readonly anonymous: false;
1709
+ }, {
1710
+ readonly type: "event";
1711
+ readonly name: "SetTeamSpender";
1712
+ readonly inputs: readonly [{
1713
+ readonly name: "previousTeamSpender";
1714
+ readonly type: "address";
1715
+ readonly indexed: true;
1716
+ readonly internalType: "address";
1717
+ }, {
1718
+ readonly name: "newTeamSpender";
1719
+ readonly type: "address";
1720
+ readonly indexed: true;
1721
+ readonly internalType: "address";
1722
+ }];
1723
+ readonly anonymous: false;
1724
+ }, {
1725
+ readonly type: "event";
1726
+ readonly name: "SetTokenCreatorRoot";
1727
+ readonly inputs: readonly [{
1728
+ readonly name: "tokenCreatorRoot";
1729
+ readonly type: "bytes32";
1730
+ readonly indexed: false;
1731
+ readonly internalType: "bytes32";
1732
+ }];
1733
+ readonly anonymous: false;
1734
+ }, {
1735
+ readonly type: "event";
1736
+ readonly name: "Transfer";
1737
+ readonly inputs: readonly [{
1738
+ readonly name: "safe";
1739
+ readonly type: "address";
1740
+ readonly indexed: true;
1741
+ readonly internalType: "address";
1742
+ }, {
1743
+ readonly name: "token";
1744
+ readonly type: "address";
1745
+ readonly indexed: true;
1746
+ readonly internalType: "address";
1747
+ }, {
1748
+ readonly name: "amount";
1749
+ readonly type: "uint256";
1750
+ readonly indexed: false;
1751
+ readonly internalType: "uint256";
1752
+ }, {
1753
+ readonly name: "spender";
1754
+ readonly type: "address";
1755
+ readonly indexed: false;
1756
+ readonly internalType: "address";
1757
+ }, {
1758
+ readonly name: "recipient";
1759
+ readonly type: "address";
1760
+ readonly indexed: true;
1761
+ readonly internalType: "address";
1762
+ }];
1763
+ readonly anonymous: false;
1764
+ }, {
1765
+ readonly type: "event";
1766
+ readonly name: "UpdateTokenCreator";
1767
+ readonly inputs: readonly [{
1768
+ readonly name: "token";
1769
+ readonly type: "address";
1770
+ readonly indexed: false;
1771
+ readonly internalType: "address";
1772
+ }, {
1773
+ readonly name: "previousCreator";
1774
+ readonly type: "address";
1775
+ readonly indexed: false;
1776
+ readonly internalType: "address";
1777
+ }, {
1778
+ readonly name: "newCreator";
1779
+ readonly type: "address";
1780
+ readonly indexed: false;
1781
+ readonly internalType: "address";
1782
+ }];
1783
+ readonly anonymous: false;
1784
+ }, {
1785
+ readonly type: "error";
1786
+ readonly name: "InsufficientBalance";
1787
+ readonly inputs: readonly [{
1788
+ readonly name: "safe";
1789
+ readonly type: "address";
1790
+ readonly internalType: "address";
1791
+ }, {
1792
+ readonly name: "token";
1793
+ readonly type: "address";
1794
+ readonly internalType: "address";
1795
+ }, {
1796
+ readonly name: "balance";
1797
+ readonly type: "uint256";
1798
+ readonly internalType: "uint256";
1799
+ }];
1800
+ }, {
1801
+ readonly type: "error";
1802
+ readonly name: "InvalidProof";
1803
+ readonly inputs: readonly [];
1804
+ }, {
1805
+ readonly type: "error";
1806
+ readonly name: "NotAuthorizedToSpend";
1807
+ readonly inputs: readonly [{
1808
+ readonly name: "sender";
1809
+ readonly type: "address";
1810
+ readonly internalType: "address";
1811
+ }, {
1812
+ readonly name: "token";
1813
+ readonly type: "address";
1814
+ readonly internalType: "address";
1815
+ }];
1816
+ }, {
1817
+ readonly type: "error";
1818
+ readonly name: "OwnableInvalidOwner";
1819
+ readonly inputs: readonly [{
1820
+ readonly name: "owner";
1821
+ readonly type: "address";
1822
+ readonly internalType: "address";
1823
+ }];
1824
+ }, {
1825
+ readonly type: "error";
1826
+ readonly name: "OwnableUnauthorizedAccount";
1827
+ readonly inputs: readonly [{
1828
+ readonly name: "account";
1829
+ readonly type: "address";
1830
+ readonly internalType: "address";
1831
+ }];
1832
+ }, {
1833
+ readonly type: "error";
1834
+ readonly name: "TokenCreatorAlreadyInitialized";
1835
+ readonly inputs: readonly [{
1836
+ readonly name: "token";
1837
+ readonly type: "address";
1838
+ readonly internalType: "address";
1839
+ }, {
1840
+ readonly name: "delegate";
1841
+ readonly type: "address";
1842
+ readonly internalType: "address";
1843
+ }];
1844
+ }, {
1845
+ readonly type: "error";
1846
+ readonly name: "TokenCreatorRootAlreadySet";
1847
+ readonly inputs: readonly [{
1848
+ readonly name: "tokenCreatorRoot";
1849
+ readonly type: "bytes32";
1850
+ readonly internalType: "bytes32";
1851
+ }];
1852
+ }, {
1853
+ readonly type: "error";
1854
+ readonly name: "TokenCreatorRootNotSet";
1855
+ readonly inputs: readonly [];
1856
+ }, {
1857
+ readonly type: "error";
1858
+ readonly name: "Unauthorized";
1859
+ readonly inputs: readonly [{
1860
+ readonly name: "unauthorized";
1861
+ readonly type: "address";
1862
+ readonly internalType: "address";
1863
+ }];
1864
+ }];
1865
+ functionName: "initializeTokenCreator";
1866
+ args: readonly [`0x${string}`, `0x${string}`, `0x${string}`[]];
1867
+ };
1868
+ /**
1869
+ * Get a transaction config for updating the token creator admin address.
1870
+ *
1871
+ * @param token The token address to update the creator for
1872
+ * @param newCreator The new creator/admin address
1873
+ * @returns Transaction config
1874
+ */
1875
+ declare function getUpdateTokenCreatorTransaction({ token, newCreator, }: {
1876
+ token: `0x${string}`;
1877
+ newCreator: `0x${string}`;
1878
+ }): {
1879
+ address: "0xe6D6cd9C493Ebf28C4b75d95B251eCA684D6b0de";
1880
+ abi: readonly [{
1881
+ readonly type: "constructor";
1882
+ readonly inputs: readonly [{
1883
+ readonly name: "owner_";
1884
+ readonly type: "address";
1885
+ readonly internalType: "address";
1886
+ }, {
1887
+ readonly name: "teamSpender_";
1888
+ readonly type: "address";
1889
+ readonly internalType: "address";
1890
+ }, {
1891
+ readonly name: "teamGrantedTokens_";
1892
+ readonly type: "address[]";
1893
+ readonly internalType: "address[]";
1894
+ }];
1895
+ readonly stateMutability: "nonpayable";
1896
+ }, {
1897
+ readonly type: "function";
1898
+ readonly name: "initializeTokenCreator";
1899
+ readonly inputs: readonly [{
1900
+ readonly name: "token";
1901
+ readonly type: "address";
1902
+ readonly internalType: "address";
1903
+ }, {
1904
+ readonly name: "newCreator";
1905
+ readonly type: "address";
1906
+ readonly internalType: "address";
1907
+ }, {
1908
+ readonly name: "proof";
1909
+ readonly type: "bytes32[]";
1910
+ readonly internalType: "bytes32[]";
1911
+ }];
1912
+ readonly outputs: readonly [];
1913
+ readonly stateMutability: "nonpayable";
1914
+ }, {
1915
+ readonly type: "function";
1916
+ readonly name: "owner";
1917
+ readonly inputs: readonly [];
1918
+ readonly outputs: readonly [{
1919
+ readonly name: "";
1920
+ readonly type: "address";
1921
+ readonly internalType: "address";
1922
+ }];
1923
+ readonly stateMutability: "view";
1924
+ }, {
1925
+ readonly type: "function";
1926
+ readonly name: "renounceOwnership";
1927
+ readonly inputs: readonly [];
1928
+ readonly outputs: readonly [];
1929
+ readonly stateMutability: "nonpayable";
1930
+ }, {
1931
+ readonly type: "function";
1932
+ readonly name: "setTeamSpender";
1933
+ readonly inputs: readonly [{
1934
+ readonly name: "teamSpender_";
1935
+ readonly type: "address";
1936
+ readonly internalType: "address";
1937
+ }];
1938
+ readonly outputs: readonly [];
1939
+ readonly stateMutability: "nonpayable";
1940
+ }, {
1941
+ readonly type: "function";
1942
+ readonly name: "setTokenCreatorRoot";
1943
+ readonly inputs: readonly [{
1944
+ readonly name: "tokenCreatorRoot_";
1945
+ readonly type: "bytes32";
1946
+ readonly internalType: "bytes32";
1947
+ }];
1948
+ readonly outputs: readonly [];
1949
+ readonly stateMutability: "nonpayable";
1950
+ }, {
1951
+ readonly type: "function";
1952
+ readonly name: "teamGrantedTokens";
1953
+ readonly inputs: readonly [{
1954
+ readonly name: "";
1955
+ readonly type: "uint256";
1956
+ readonly internalType: "uint256";
1957
+ }];
1958
+ readonly outputs: readonly [{
1959
+ readonly name: "";
1960
+ readonly type: "address";
1961
+ readonly internalType: "address";
1962
+ }];
1963
+ readonly stateMutability: "view";
1964
+ }, {
1965
+ readonly type: "function";
1966
+ readonly name: "teamGrantedTokensMap";
1967
+ readonly inputs: readonly [{
1968
+ readonly name: "token";
1969
+ readonly type: "address";
1970
+ readonly internalType: "address";
1971
+ }];
1972
+ readonly outputs: readonly [{
1973
+ readonly name: "teamGranted";
1974
+ readonly type: "bool";
1975
+ readonly internalType: "bool";
1976
+ }];
1977
+ readonly stateMutability: "view";
1978
+ }, {
1979
+ readonly type: "function";
1980
+ readonly name: "teamSpender";
1981
+ readonly inputs: readonly [];
1982
+ readonly outputs: readonly [{
1983
+ readonly name: "";
1984
+ readonly type: "address";
1985
+ readonly internalType: "address";
1986
+ }];
1987
+ readonly stateMutability: "view";
1988
+ }, {
1989
+ readonly type: "function";
1990
+ readonly name: "teamTransfer";
1991
+ readonly inputs: readonly [{
1992
+ readonly name: "safe";
1993
+ readonly type: "address";
1994
+ readonly internalType: "address";
1995
+ }, {
1996
+ readonly name: "token";
1997
+ readonly type: "address";
1998
+ readonly internalType: "address";
1999
+ }, {
2000
+ readonly name: "recipient";
2001
+ readonly type: "address";
2002
+ readonly internalType: "address";
2003
+ }, {
2004
+ readonly name: "amount";
2005
+ readonly type: "uint256";
2006
+ readonly internalType: "uint256";
2007
+ }];
2008
+ readonly outputs: readonly [];
2009
+ readonly stateMutability: "nonpayable";
2010
+ }, {
2011
+ readonly type: "function";
2012
+ readonly name: "teamTransferEth";
2013
+ readonly inputs: readonly [{
2014
+ readonly name: "safe";
2015
+ readonly type: "address";
2016
+ readonly internalType: "address";
2017
+ }];
2018
+ readonly outputs: readonly [];
2019
+ readonly stateMutability: "nonpayable";
2020
+ }, {
2021
+ readonly type: "function";
2022
+ readonly name: "tokenCreator";
2023
+ readonly inputs: readonly [{
2024
+ readonly name: "token";
2025
+ readonly type: "address";
2026
+ readonly internalType: "address";
2027
+ }];
2028
+ readonly outputs: readonly [{
2029
+ readonly name: "creator";
2030
+ readonly type: "address";
2031
+ readonly internalType: "address";
2032
+ }];
2033
+ readonly stateMutability: "view";
2034
+ }, {
2035
+ readonly type: "function";
2036
+ readonly name: "tokenCreatorRoot";
2037
+ readonly inputs: readonly [];
2038
+ readonly outputs: readonly [{
2039
+ readonly name: "";
2040
+ readonly type: "bytes32";
2041
+ readonly internalType: "bytes32";
2042
+ }];
2043
+ readonly stateMutability: "view";
2044
+ }, {
2045
+ readonly type: "function";
2046
+ readonly name: "tokenCreatorTransfer";
2047
+ readonly inputs: readonly [{
2048
+ readonly name: "safe";
2049
+ readonly type: "address";
2050
+ readonly internalType: "address";
2051
+ }, {
2052
+ readonly name: "token";
2053
+ readonly type: "address";
2054
+ readonly internalType: "address";
2055
+ }, {
2056
+ readonly name: "recipient";
2057
+ readonly type: "address";
2058
+ readonly internalType: "address";
2059
+ }];
2060
+ readonly outputs: readonly [];
2061
+ readonly stateMutability: "nonpayable";
2062
+ }, {
2063
+ readonly type: "function";
2064
+ readonly name: "transferOwnership";
2065
+ readonly inputs: readonly [{
2066
+ readonly name: "newOwner";
2067
+ readonly type: "address";
2068
+ readonly internalType: "address";
2069
+ }];
2070
+ readonly outputs: readonly [];
2071
+ readonly stateMutability: "nonpayable";
2072
+ }, {
2073
+ readonly type: "function";
2074
+ readonly name: "updateTokenCreator";
2075
+ readonly inputs: readonly [{
2076
+ readonly name: "token";
2077
+ readonly type: "address";
2078
+ readonly internalType: "address";
2079
+ }, {
2080
+ readonly name: "newCreator";
2081
+ readonly type: "address";
2082
+ readonly internalType: "address";
2083
+ }];
2084
+ readonly outputs: readonly [];
2085
+ readonly stateMutability: "nonpayable";
2086
+ }, {
2087
+ readonly type: "event";
2088
+ readonly name: "InitializeTokenCreator";
2089
+ readonly inputs: readonly [{
2090
+ readonly name: "token";
2091
+ readonly type: "address";
2092
+ readonly indexed: false;
2093
+ readonly internalType: "address";
2094
+ }, {
2095
+ readonly name: "initializer";
2096
+ readonly type: "address";
2097
+ readonly indexed: false;
2098
+ readonly internalType: "address";
2099
+ }, {
2100
+ readonly name: "creator";
2101
+ readonly type: "address";
2102
+ readonly indexed: false;
2103
+ readonly internalType: "address";
2104
+ }];
2105
+ readonly anonymous: false;
2106
+ }, {
2107
+ readonly type: "event";
2108
+ readonly name: "OwnershipTransferred";
2109
+ readonly inputs: readonly [{
2110
+ readonly name: "previousOwner";
2111
+ readonly type: "address";
2112
+ readonly indexed: true;
2113
+ readonly internalType: "address";
2114
+ }, {
2115
+ readonly name: "newOwner";
2116
+ readonly type: "address";
2117
+ readonly indexed: true;
2118
+ readonly internalType: "address";
2119
+ }];
2120
+ readonly anonymous: false;
2121
+ }, {
2122
+ readonly type: "event";
2123
+ readonly name: "SetTeamSpender";
2124
+ readonly inputs: readonly [{
2125
+ readonly name: "previousTeamSpender";
2126
+ readonly type: "address";
2127
+ readonly indexed: true;
2128
+ readonly internalType: "address";
2129
+ }, {
2130
+ readonly name: "newTeamSpender";
2131
+ readonly type: "address";
2132
+ readonly indexed: true;
2133
+ readonly internalType: "address";
2134
+ }];
2135
+ readonly anonymous: false;
2136
+ }, {
2137
+ readonly type: "event";
2138
+ readonly name: "SetTokenCreatorRoot";
2139
+ readonly inputs: readonly [{
2140
+ readonly name: "tokenCreatorRoot";
2141
+ readonly type: "bytes32";
2142
+ readonly indexed: false;
2143
+ readonly internalType: "bytes32";
2144
+ }];
2145
+ readonly anonymous: false;
2146
+ }, {
2147
+ readonly type: "event";
2148
+ readonly name: "Transfer";
2149
+ readonly inputs: readonly [{
2150
+ readonly name: "safe";
2151
+ readonly type: "address";
2152
+ readonly indexed: true;
2153
+ readonly internalType: "address";
2154
+ }, {
2155
+ readonly name: "token";
2156
+ readonly type: "address";
2157
+ readonly indexed: true;
2158
+ readonly internalType: "address";
2159
+ }, {
2160
+ readonly name: "amount";
2161
+ readonly type: "uint256";
2162
+ readonly indexed: false;
2163
+ readonly internalType: "uint256";
2164
+ }, {
2165
+ readonly name: "spender";
2166
+ readonly type: "address";
2167
+ readonly indexed: false;
2168
+ readonly internalType: "address";
2169
+ }, {
2170
+ readonly name: "recipient";
2171
+ readonly type: "address";
2172
+ readonly indexed: true;
2173
+ readonly internalType: "address";
2174
+ }];
2175
+ readonly anonymous: false;
2176
+ }, {
2177
+ readonly type: "event";
2178
+ readonly name: "UpdateTokenCreator";
2179
+ readonly inputs: readonly [{
2180
+ readonly name: "token";
2181
+ readonly type: "address";
2182
+ readonly indexed: false;
2183
+ readonly internalType: "address";
2184
+ }, {
2185
+ readonly name: "previousCreator";
2186
+ readonly type: "address";
2187
+ readonly indexed: false;
2188
+ readonly internalType: "address";
2189
+ }, {
2190
+ readonly name: "newCreator";
2191
+ readonly type: "address";
2192
+ readonly indexed: false;
2193
+ readonly internalType: "address";
2194
+ }];
2195
+ readonly anonymous: false;
2196
+ }, {
2197
+ readonly type: "error";
2198
+ readonly name: "InsufficientBalance";
2199
+ readonly inputs: readonly [{
2200
+ readonly name: "safe";
2201
+ readonly type: "address";
2202
+ readonly internalType: "address";
2203
+ }, {
2204
+ readonly name: "token";
2205
+ readonly type: "address";
2206
+ readonly internalType: "address";
2207
+ }, {
2208
+ readonly name: "balance";
2209
+ readonly type: "uint256";
2210
+ readonly internalType: "uint256";
2211
+ }];
2212
+ }, {
2213
+ readonly type: "error";
2214
+ readonly name: "InvalidProof";
2215
+ readonly inputs: readonly [];
2216
+ }, {
2217
+ readonly type: "error";
2218
+ readonly name: "NotAuthorizedToSpend";
2219
+ readonly inputs: readonly [{
2220
+ readonly name: "sender";
2221
+ readonly type: "address";
2222
+ readonly internalType: "address";
2223
+ }, {
2224
+ readonly name: "token";
2225
+ readonly type: "address";
2226
+ readonly internalType: "address";
2227
+ }];
2228
+ }, {
2229
+ readonly type: "error";
2230
+ readonly name: "OwnableInvalidOwner";
2231
+ readonly inputs: readonly [{
2232
+ readonly name: "owner";
2233
+ readonly type: "address";
2234
+ readonly internalType: "address";
2235
+ }];
2236
+ }, {
2237
+ readonly type: "error";
2238
+ readonly name: "OwnableUnauthorizedAccount";
2239
+ readonly inputs: readonly [{
2240
+ readonly name: "account";
2241
+ readonly type: "address";
2242
+ readonly internalType: "address";
2243
+ }];
2244
+ }, {
2245
+ readonly type: "error";
2246
+ readonly name: "TokenCreatorAlreadyInitialized";
2247
+ readonly inputs: readonly [{
2248
+ readonly name: "token";
2249
+ readonly type: "address";
2250
+ readonly internalType: "address";
2251
+ }, {
2252
+ readonly name: "delegate";
2253
+ readonly type: "address";
2254
+ readonly internalType: "address";
2255
+ }];
2256
+ }, {
2257
+ readonly type: "error";
2258
+ readonly name: "TokenCreatorRootAlreadySet";
2259
+ readonly inputs: readonly [{
2260
+ readonly name: "tokenCreatorRoot";
2261
+ readonly type: "bytes32";
2262
+ readonly internalType: "bytes32";
2263
+ }];
2264
+ }, {
2265
+ readonly type: "error";
2266
+ readonly name: "TokenCreatorRootNotSet";
2267
+ readonly inputs: readonly [];
2268
+ }, {
2269
+ readonly type: "error";
2270
+ readonly name: "Unauthorized";
2271
+ readonly inputs: readonly [{
2272
+ readonly name: "unauthorized";
2273
+ readonly type: "address";
2274
+ readonly internalType: "address";
2275
+ }];
2276
+ }];
2277
+ functionName: "updateTokenCreator";
2278
+ args: readonly [`0x${string}`, `0x${string}`];
2279
+ };
2280
+ /**
2281
+ * Get a transaction config for claiming token creator fees.
2282
+ *
2283
+ * @param safe The Safe wallet address holding the fees
2284
+ * @param token The ERC20 token address to transfer
2285
+ * @param recipient The address to receive the fees
2286
+ * @returns Transaction config
2287
+ */
2288
+ declare function getTokenCreatorTransferTransaction({ safe, token, recipient, }: {
2289
+ safe: `0x${string}`;
2290
+ token: `0x${string}`;
2291
+ recipient: `0x${string}`;
2292
+ }): {
2293
+ address: "0xe6D6cd9C493Ebf28C4b75d95B251eCA684D6b0de";
2294
+ abi: readonly [{
2295
+ readonly type: "constructor";
2296
+ readonly inputs: readonly [{
2297
+ readonly name: "owner_";
2298
+ readonly type: "address";
2299
+ readonly internalType: "address";
2300
+ }, {
2301
+ readonly name: "teamSpender_";
2302
+ readonly type: "address";
2303
+ readonly internalType: "address";
2304
+ }, {
2305
+ readonly name: "teamGrantedTokens_";
2306
+ readonly type: "address[]";
2307
+ readonly internalType: "address[]";
2308
+ }];
2309
+ readonly stateMutability: "nonpayable";
2310
+ }, {
2311
+ readonly type: "function";
2312
+ readonly name: "initializeTokenCreator";
2313
+ readonly inputs: readonly [{
2314
+ readonly name: "token";
2315
+ readonly type: "address";
2316
+ readonly internalType: "address";
2317
+ }, {
2318
+ readonly name: "newCreator";
2319
+ readonly type: "address";
2320
+ readonly internalType: "address";
2321
+ }, {
2322
+ readonly name: "proof";
2323
+ readonly type: "bytes32[]";
2324
+ readonly internalType: "bytes32[]";
2325
+ }];
2326
+ readonly outputs: readonly [];
2327
+ readonly stateMutability: "nonpayable";
2328
+ }, {
2329
+ readonly type: "function";
2330
+ readonly name: "owner";
2331
+ readonly inputs: readonly [];
2332
+ readonly outputs: readonly [{
2333
+ readonly name: "";
2334
+ readonly type: "address";
2335
+ readonly internalType: "address";
2336
+ }];
2337
+ readonly stateMutability: "view";
2338
+ }, {
2339
+ readonly type: "function";
2340
+ readonly name: "renounceOwnership";
2341
+ readonly inputs: readonly [];
2342
+ readonly outputs: readonly [];
2343
+ readonly stateMutability: "nonpayable";
2344
+ }, {
2345
+ readonly type: "function";
2346
+ readonly name: "setTeamSpender";
2347
+ readonly inputs: readonly [{
2348
+ readonly name: "teamSpender_";
2349
+ readonly type: "address";
2350
+ readonly internalType: "address";
2351
+ }];
2352
+ readonly outputs: readonly [];
2353
+ readonly stateMutability: "nonpayable";
2354
+ }, {
2355
+ readonly type: "function";
2356
+ readonly name: "setTokenCreatorRoot";
2357
+ readonly inputs: readonly [{
2358
+ readonly name: "tokenCreatorRoot_";
2359
+ readonly type: "bytes32";
2360
+ readonly internalType: "bytes32";
2361
+ }];
2362
+ readonly outputs: readonly [];
2363
+ readonly stateMutability: "nonpayable";
2364
+ }, {
2365
+ readonly type: "function";
2366
+ readonly name: "teamGrantedTokens";
2367
+ readonly inputs: readonly [{
2368
+ readonly name: "";
2369
+ readonly type: "uint256";
2370
+ readonly internalType: "uint256";
2371
+ }];
2372
+ readonly outputs: readonly [{
2373
+ readonly name: "";
2374
+ readonly type: "address";
2375
+ readonly internalType: "address";
2376
+ }];
2377
+ readonly stateMutability: "view";
2378
+ }, {
2379
+ readonly type: "function";
2380
+ readonly name: "teamGrantedTokensMap";
2381
+ readonly inputs: readonly [{
2382
+ readonly name: "token";
2383
+ readonly type: "address";
2384
+ readonly internalType: "address";
2385
+ }];
2386
+ readonly outputs: readonly [{
2387
+ readonly name: "teamGranted";
2388
+ readonly type: "bool";
2389
+ readonly internalType: "bool";
2390
+ }];
2391
+ readonly stateMutability: "view";
2392
+ }, {
2393
+ readonly type: "function";
2394
+ readonly name: "teamSpender";
2395
+ readonly inputs: readonly [];
2396
+ readonly outputs: readonly [{
2397
+ readonly name: "";
2398
+ readonly type: "address";
2399
+ readonly internalType: "address";
2400
+ }];
2401
+ readonly stateMutability: "view";
2402
+ }, {
2403
+ readonly type: "function";
2404
+ readonly name: "teamTransfer";
2405
+ readonly inputs: readonly [{
2406
+ readonly name: "safe";
2407
+ readonly type: "address";
2408
+ readonly internalType: "address";
2409
+ }, {
2410
+ readonly name: "token";
2411
+ readonly type: "address";
2412
+ readonly internalType: "address";
2413
+ }, {
2414
+ readonly name: "recipient";
2415
+ readonly type: "address";
2416
+ readonly internalType: "address";
2417
+ }, {
2418
+ readonly name: "amount";
2419
+ readonly type: "uint256";
2420
+ readonly internalType: "uint256";
2421
+ }];
2422
+ readonly outputs: readonly [];
2423
+ readonly stateMutability: "nonpayable";
2424
+ }, {
2425
+ readonly type: "function";
2426
+ readonly name: "teamTransferEth";
2427
+ readonly inputs: readonly [{
2428
+ readonly name: "safe";
2429
+ readonly type: "address";
2430
+ readonly internalType: "address";
2431
+ }];
2432
+ readonly outputs: readonly [];
2433
+ readonly stateMutability: "nonpayable";
2434
+ }, {
2435
+ readonly type: "function";
2436
+ readonly name: "tokenCreator";
2437
+ readonly inputs: readonly [{
2438
+ readonly name: "token";
2439
+ readonly type: "address";
2440
+ readonly internalType: "address";
2441
+ }];
2442
+ readonly outputs: readonly [{
2443
+ readonly name: "creator";
2444
+ readonly type: "address";
2445
+ readonly internalType: "address";
2446
+ }];
2447
+ readonly stateMutability: "view";
2448
+ }, {
2449
+ readonly type: "function";
2450
+ readonly name: "tokenCreatorRoot";
2451
+ readonly inputs: readonly [];
2452
+ readonly outputs: readonly [{
2453
+ readonly name: "";
2454
+ readonly type: "bytes32";
2455
+ readonly internalType: "bytes32";
2456
+ }];
2457
+ readonly stateMutability: "view";
2458
+ }, {
2459
+ readonly type: "function";
2460
+ readonly name: "tokenCreatorTransfer";
2461
+ readonly inputs: readonly [{
2462
+ readonly name: "safe";
2463
+ readonly type: "address";
2464
+ readonly internalType: "address";
2465
+ }, {
2466
+ readonly name: "token";
2467
+ readonly type: "address";
2468
+ readonly internalType: "address";
2469
+ }, {
2470
+ readonly name: "recipient";
2471
+ readonly type: "address";
2472
+ readonly internalType: "address";
2473
+ }];
2474
+ readonly outputs: readonly [];
2475
+ readonly stateMutability: "nonpayable";
2476
+ }, {
2477
+ readonly type: "function";
2478
+ readonly name: "transferOwnership";
2479
+ readonly inputs: readonly [{
2480
+ readonly name: "newOwner";
2481
+ readonly type: "address";
2482
+ readonly internalType: "address";
2483
+ }];
2484
+ readonly outputs: readonly [];
2485
+ readonly stateMutability: "nonpayable";
2486
+ }, {
2487
+ readonly type: "function";
2488
+ readonly name: "updateTokenCreator";
2489
+ readonly inputs: readonly [{
2490
+ readonly name: "token";
2491
+ readonly type: "address";
2492
+ readonly internalType: "address";
2493
+ }, {
2494
+ readonly name: "newCreator";
2495
+ readonly type: "address";
2496
+ readonly internalType: "address";
2497
+ }];
2498
+ readonly outputs: readonly [];
2499
+ readonly stateMutability: "nonpayable";
2500
+ }, {
2501
+ readonly type: "event";
2502
+ readonly name: "InitializeTokenCreator";
2503
+ readonly inputs: readonly [{
2504
+ readonly name: "token";
2505
+ readonly type: "address";
2506
+ readonly indexed: false;
2507
+ readonly internalType: "address";
2508
+ }, {
2509
+ readonly name: "initializer";
2510
+ readonly type: "address";
2511
+ readonly indexed: false;
2512
+ readonly internalType: "address";
2513
+ }, {
2514
+ readonly name: "creator";
2515
+ readonly type: "address";
2516
+ readonly indexed: false;
2517
+ readonly internalType: "address";
2518
+ }];
2519
+ readonly anonymous: false;
2520
+ }, {
2521
+ readonly type: "event";
2522
+ readonly name: "OwnershipTransferred";
2523
+ readonly inputs: readonly [{
2524
+ readonly name: "previousOwner";
2525
+ readonly type: "address";
2526
+ readonly indexed: true;
2527
+ readonly internalType: "address";
2528
+ }, {
2529
+ readonly name: "newOwner";
2530
+ readonly type: "address";
2531
+ readonly indexed: true;
2532
+ readonly internalType: "address";
2533
+ }];
2534
+ readonly anonymous: false;
2535
+ }, {
2536
+ readonly type: "event";
2537
+ readonly name: "SetTeamSpender";
2538
+ readonly inputs: readonly [{
2539
+ readonly name: "previousTeamSpender";
2540
+ readonly type: "address";
2541
+ readonly indexed: true;
2542
+ readonly internalType: "address";
2543
+ }, {
2544
+ readonly name: "newTeamSpender";
2545
+ readonly type: "address";
2546
+ readonly indexed: true;
2547
+ readonly internalType: "address";
2548
+ }];
2549
+ readonly anonymous: false;
2550
+ }, {
2551
+ readonly type: "event";
2552
+ readonly name: "SetTokenCreatorRoot";
2553
+ readonly inputs: readonly [{
2554
+ readonly name: "tokenCreatorRoot";
2555
+ readonly type: "bytes32";
2556
+ readonly indexed: false;
2557
+ readonly internalType: "bytes32";
2558
+ }];
2559
+ readonly anonymous: false;
2560
+ }, {
2561
+ readonly type: "event";
2562
+ readonly name: "Transfer";
2563
+ readonly inputs: readonly [{
2564
+ readonly name: "safe";
2565
+ readonly type: "address";
2566
+ readonly indexed: true;
2567
+ readonly internalType: "address";
2568
+ }, {
2569
+ readonly name: "token";
2570
+ readonly type: "address";
2571
+ readonly indexed: true;
2572
+ readonly internalType: "address";
2573
+ }, {
2574
+ readonly name: "amount";
2575
+ readonly type: "uint256";
2576
+ readonly indexed: false;
2577
+ readonly internalType: "uint256";
2578
+ }, {
2579
+ readonly name: "spender";
2580
+ readonly type: "address";
2581
+ readonly indexed: false;
2582
+ readonly internalType: "address";
2583
+ }, {
2584
+ readonly name: "recipient";
2585
+ readonly type: "address";
2586
+ readonly indexed: true;
2587
+ readonly internalType: "address";
2588
+ }];
2589
+ readonly anonymous: false;
2590
+ }, {
2591
+ readonly type: "event";
2592
+ readonly name: "UpdateTokenCreator";
2593
+ readonly inputs: readonly [{
2594
+ readonly name: "token";
2595
+ readonly type: "address";
2596
+ readonly indexed: false;
2597
+ readonly internalType: "address";
2598
+ }, {
2599
+ readonly name: "previousCreator";
2600
+ readonly type: "address";
2601
+ readonly indexed: false;
2602
+ readonly internalType: "address";
2603
+ }, {
2604
+ readonly name: "newCreator";
2605
+ readonly type: "address";
2606
+ readonly indexed: false;
2607
+ readonly internalType: "address";
2608
+ }];
2609
+ readonly anonymous: false;
2610
+ }, {
2611
+ readonly type: "error";
2612
+ readonly name: "InsufficientBalance";
2613
+ readonly inputs: readonly [{
2614
+ readonly name: "safe";
2615
+ readonly type: "address";
2616
+ readonly internalType: "address";
2617
+ }, {
2618
+ readonly name: "token";
2619
+ readonly type: "address";
2620
+ readonly internalType: "address";
2621
+ }, {
2622
+ readonly name: "balance";
2623
+ readonly type: "uint256";
2624
+ readonly internalType: "uint256";
2625
+ }];
2626
+ }, {
2627
+ readonly type: "error";
2628
+ readonly name: "InvalidProof";
2629
+ readonly inputs: readonly [];
2630
+ }, {
2631
+ readonly type: "error";
2632
+ readonly name: "NotAuthorizedToSpend";
2633
+ readonly inputs: readonly [{
2634
+ readonly name: "sender";
2635
+ readonly type: "address";
2636
+ readonly internalType: "address";
2637
+ }, {
2638
+ readonly name: "token";
2639
+ readonly type: "address";
2640
+ readonly internalType: "address";
2641
+ }];
2642
+ }, {
2643
+ readonly type: "error";
2644
+ readonly name: "OwnableInvalidOwner";
2645
+ readonly inputs: readonly [{
2646
+ readonly name: "owner";
2647
+ readonly type: "address";
2648
+ readonly internalType: "address";
2649
+ }];
2650
+ }, {
2651
+ readonly type: "error";
2652
+ readonly name: "OwnableUnauthorizedAccount";
2653
+ readonly inputs: readonly [{
2654
+ readonly name: "account";
2655
+ readonly type: "address";
2656
+ readonly internalType: "address";
2657
+ }];
2658
+ }, {
2659
+ readonly type: "error";
2660
+ readonly name: "TokenCreatorAlreadyInitialized";
2661
+ readonly inputs: readonly [{
2662
+ readonly name: "token";
2663
+ readonly type: "address";
2664
+ readonly internalType: "address";
2665
+ }, {
2666
+ readonly name: "delegate";
2667
+ readonly type: "address";
2668
+ readonly internalType: "address";
2669
+ }];
2670
+ }, {
2671
+ readonly type: "error";
2672
+ readonly name: "TokenCreatorRootAlreadySet";
2673
+ readonly inputs: readonly [{
2674
+ readonly name: "tokenCreatorRoot";
2675
+ readonly type: "bytes32";
2676
+ readonly internalType: "bytes32";
2677
+ }];
2678
+ }, {
2679
+ readonly type: "error";
2680
+ readonly name: "TokenCreatorRootNotSet";
2681
+ readonly inputs: readonly [];
2682
+ }, {
2683
+ readonly type: "error";
2684
+ readonly name: "Unauthorized";
2685
+ readonly inputs: readonly [{
2686
+ readonly name: "unauthorized";
2687
+ readonly type: "address";
2688
+ readonly internalType: "address";
2689
+ }];
2690
+ }];
2691
+ functionName: "tokenCreatorTransfer";
2692
+ args: readonly [`0x${string}`, `0x${string}`, `0x${string}`];
2693
+ };
2694
+
2695
+ export { EXPECTED_MERKLE_ROOT, LEGACY_FEE_CLAIMS_ADDRESS, LegacyFeeClaims, type MerkleProofResult, type TokenCreatorEntry, generateLeafHash, getInitializeTokenCreatorTransaction, getTokenCreatorMerkleProof, getTokenCreatorTransferTransaction, getUpdateTokenCreatorTransaction, parseTokenCreatorCSV };