levr-sdk 0.2.1 → 0.3.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.
Files changed (131) hide show
  1. package/dist/esm/abis/ClankerAirdropV2.js +289 -0
  2. package/dist/esm/abis/ClankerVault.js +215 -0
  3. package/dist/esm/abis/LevrFactory_v1.js +23 -0
  4. package/dist/esm/abis/LevrFeeSplitterFactory_v1.js +197 -0
  5. package/dist/esm/abis/LevrFeeSplitter_v1.js +544 -0
  6. package/dist/esm/abis/LevrGovernor_v1.js +10 -0
  7. package/dist/esm/abis/index.js +4 -0
  8. package/dist/esm/airdrop.js +160 -0
  9. package/dist/esm/airdrop.js.map +1 -0
  10. package/dist/esm/build-calldatas-v4.js +3 -1
  11. package/dist/esm/build-calldatas-v4.js.map +1 -1
  12. package/dist/esm/build-clanker-v4.js +75 -25
  13. package/dist/esm/build-clanker-v4.js.map +1 -1
  14. package/dist/esm/client/hook/index.js +10 -0
  15. package/dist/esm/client/hook/index.js.map +1 -1
  16. package/dist/esm/client/hook/use-airdrop.js +8 -4
  17. package/dist/esm/client/hook/use-airdrop.js.map +1 -1
  18. package/dist/esm/client/hook/use-configure-splits.js +43 -0
  19. package/dist/esm/client/hook/use-configure-splits.js.map +1 -0
  20. package/dist/esm/client/hook/use-deploy.js +3 -3
  21. package/dist/esm/client/hook/use-deploy.js.map +1 -1
  22. package/dist/esm/client/hook/use-factory.js +33 -0
  23. package/dist/esm/client/hook/use-factory.js.map +1 -0
  24. package/dist/esm/client/hook/use-fee-receivers.js +4 -12
  25. package/dist/esm/client/hook/use-fee-receivers.js.map +1 -1
  26. package/dist/esm/client/hook/use-governance.js +18 -3
  27. package/dist/esm/client/hook/use-governance.js.map +1 -1
  28. package/dist/esm/client/hook/use-project.js +7 -3
  29. package/dist/esm/client/hook/use-project.js.map +1 -1
  30. package/dist/esm/client/hook/use-proposal.js +11 -5
  31. package/dist/esm/client/hook/use-proposal.js.map +1 -1
  32. package/dist/esm/client/hook/use-stake.js +1 -1
  33. package/dist/esm/client/hook/use-stake.js.map +1 -1
  34. package/dist/esm/client/hook/use-vault.js +67 -0
  35. package/dist/esm/client/hook/use-vault.js.map +1 -0
  36. package/dist/esm/client/levr-provider.js +18 -2
  37. package/dist/esm/client/levr-provider.js.map +1 -1
  38. package/dist/esm/client/query-keys.js +13 -1
  39. package/dist/esm/client/query-keys.js.map +1 -1
  40. package/dist/esm/constants.js +83 -6
  41. package/dist/esm/constants.js.map +1 -1
  42. package/dist/esm/deploy-v4.js +56 -3
  43. package/dist/esm/deploy-v4.js.map +1 -1
  44. package/dist/esm/factory.js +94 -0
  45. package/dist/esm/factory.js.map +1 -0
  46. package/dist/esm/fee-receivers.js +315 -4
  47. package/dist/esm/fee-receivers.js.map +1 -1
  48. package/dist/esm/fee-splitter.js +68 -0
  49. package/dist/esm/fee-splitter.js.map +1 -0
  50. package/dist/esm/governance.js +86 -9
  51. package/dist/esm/governance.js.map +1 -1
  52. package/dist/esm/index.js +5 -1
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/ipfs-merkle-tree.js +130 -0
  55. package/dist/esm/ipfs-merkle-tree.js.map +1 -0
  56. package/dist/esm/project.js +114 -26
  57. package/dist/esm/project.js.map +1 -1
  58. package/dist/esm/schema/levr.schema.js +94 -33
  59. package/dist/esm/schema/levr.schema.js.map +1 -1
  60. package/dist/esm/stake.js +157 -19
  61. package/dist/esm/stake.js.map +1 -1
  62. package/dist/esm/vault.js +136 -0
  63. package/dist/esm/vault.js.map +1 -0
  64. package/dist/types/abis/ClankerAirdropV2.d.ts +573 -0
  65. package/dist/types/abis/ClankerVault.d.ts +407 -0
  66. package/dist/types/abis/LevrFactory_v1.d.ts +18 -0
  67. package/dist/types/abis/LevrFeeSplitterFactory_v1.d.ts +149 -0
  68. package/dist/types/abis/LevrFeeSplitter_v1.d.ts +422 -0
  69. package/dist/types/abis/LevrGovernor_v1.d.ts +8 -0
  70. package/dist/types/abis/index.d.ts +4 -0
  71. package/dist/types/airdrop.d.ts +18 -0
  72. package/dist/types/airdrop.d.ts.map +1 -0
  73. package/dist/types/build-calldatas-v4.d.ts +3 -0
  74. package/dist/types/build-calldatas-v4.d.ts.map +1 -1
  75. package/dist/types/build-clanker-v4.d.ts +6 -1
  76. package/dist/types/build-clanker-v4.d.ts.map +1 -1
  77. package/dist/types/client/hook/index.d.ts +10 -0
  78. package/dist/types/client/hook/index.d.ts.map +1 -1
  79. package/dist/types/client/hook/use-airdrop.d.ts +3 -1
  80. package/dist/types/client/hook/use-airdrop.d.ts.map +1 -1
  81. package/dist/types/client/hook/use-configure-splits.d.ts +17 -0
  82. package/dist/types/client/hook/use-configure-splits.d.ts.map +1 -0
  83. package/dist/types/client/hook/use-deploy.d.ts +21 -14
  84. package/dist/types/client/hook/use-deploy.d.ts.map +1 -1
  85. package/dist/types/client/hook/use-factory.d.ts +34 -0
  86. package/dist/types/client/hook/use-factory.d.ts.map +1 -0
  87. package/dist/types/client/hook/use-fee-receivers.d.ts +1 -6
  88. package/dist/types/client/hook/use-fee-receivers.d.ts.map +1 -1
  89. package/dist/types/client/hook/use-governance.d.ts +18 -2
  90. package/dist/types/client/hook/use-governance.d.ts.map +1 -1
  91. package/dist/types/client/hook/use-project.d.ts +169 -1
  92. package/dist/types/client/hook/use-project.d.ts.map +1 -1
  93. package/dist/types/client/hook/use-proposal.d.ts +3 -2
  94. package/dist/types/client/hook/use-proposal.d.ts.map +1 -1
  95. package/dist/types/client/hook/use-vault.d.ts +13 -0
  96. package/dist/types/client/hook/use-vault.d.ts.map +1 -0
  97. package/dist/types/client/levr-provider.d.ts +15 -1
  98. package/dist/types/client/levr-provider.d.ts.map +1 -1
  99. package/dist/types/client/query-keys.d.ts +13 -1
  100. package/dist/types/client/query-keys.d.ts.map +1 -1
  101. package/dist/types/constants.d.ts +59 -1
  102. package/dist/types/constants.d.ts.map +1 -1
  103. package/dist/types/deploy-v4.d.ts +3 -1
  104. package/dist/types/deploy-v4.d.ts.map +1 -1
  105. package/dist/types/factory.d.ts +21 -0
  106. package/dist/types/factory.d.ts.map +1 -0
  107. package/dist/types/fee-receivers.d.ts +1836 -1
  108. package/dist/types/fee-receivers.d.ts.map +1 -1
  109. package/dist/types/fee-splitter.d.ts +23 -0
  110. package/dist/types/fee-splitter.d.ts.map +1 -0
  111. package/dist/types/governance.d.ts +18 -2
  112. package/dist/types/governance.d.ts.map +1 -1
  113. package/dist/types/index.d.ts +5 -1
  114. package/dist/types/index.d.ts.map +1 -1
  115. package/dist/types/ipfs-merkle-tree.d.ts +72 -0
  116. package/dist/types/ipfs-merkle-tree.d.ts.map +1 -0
  117. package/dist/types/project.d.ts +10 -2
  118. package/dist/types/project.d.ts.map +1 -1
  119. package/dist/types/proposal.d.ts +16 -0
  120. package/dist/types/proposal.d.ts.map +1 -1
  121. package/dist/types/schema/levr.schema.d.ts +16 -4
  122. package/dist/types/schema/levr.schema.d.ts.map +1 -1
  123. package/dist/types/stake.d.ts +33 -2
  124. package/dist/types/stake.d.ts.map +1 -1
  125. package/dist/types/vault.d.ts +70 -0
  126. package/dist/types/vault.d.ts.map +1 -0
  127. package/package.json +1 -1
  128. package/dist/esm/treasury.js +0 -84
  129. package/dist/esm/treasury.js.map +0 -1
  130. package/dist/types/treasury.d.ts +0 -10
  131. package/dist/types/treasury.d.ts.map +0 -1
@@ -4,14 +4,21 @@ export type FeeReceiversParams = {
4
4
  clankerToken: `0x${string}`;
5
5
  userAddress?: `0x${string}`;
6
6
  };
7
+ export declare enum FeePreference {
8
+ Both = 0,
9
+ Paired = 1,// WETH only
10
+ Clanker = 2
11
+ }
7
12
  export type FeeReceiverAdmin = {
8
13
  areYouAnAdmin: boolean;
9
14
  admin: `0x${string}`;
10
15
  recipient: `0x${string}`;
11
16
  percentage: number;
17
+ feePreference?: FeePreference;
12
18
  };
13
19
  export type UpdateFeeReceiverParams = {
14
20
  walletClient: PopWalletClient;
21
+ publicClient: PopPublicClient;
15
22
  clankerToken: `0x${string}`;
16
23
  chainId: number;
17
24
  rewardIndex: bigint | number;
@@ -553,11 +560,13 @@ export declare function getTokenRewards(publicClient: PopPublicClient, clankerTo
553
560
  /**
554
561
  * Parse fee receivers from tokenRewards result
555
562
  * Shared utility to avoid logic duplication
563
+ * Note: feePreference is optional and should be added via a separate call to feePreferences()
556
564
  */
557
565
  export declare function parseFeeReceivers(tokenRewardsResult: {
558
566
  rewardAdmins?: readonly `0x${string}`[];
559
567
  rewardRecipients?: readonly `0x${string}`[];
560
568
  rewardBps?: readonly number[];
569
+ feePreferences?: readonly number[];
561
570
  }, userAddress?: `0x${string}`): FeeReceiverAdmin[];
562
571
  /**
563
572
  * Get fee receivers for a clanker token
@@ -565,6 +574,1832 @@ export declare function parseFeeReceivers(tokenRewardsResult: {
565
574
  export declare function feeReceivers({ publicClient, clankerToken, userAddress, }: FeeReceiversParams): Promise<FeeReceiverAdmin[] | undefined>;
566
575
  /**
567
576
  * Update fee receiver for a clanker token
577
+ * Waits for transaction confirmation before returning
578
+ */
579
+ export declare function updateFeeReceiver({ walletClient, publicClient, clankerToken, chainId, rewardIndex, newRecipient, }: UpdateFeeReceiverParams): Promise<import("viem").TransactionReceipt>;
580
+ /**
581
+ * UI-friendly split config with percentage (0-100)
582
+ */
583
+ export type SplitConfigUI = {
584
+ receiver: `0x${string}`;
585
+ percentage: number;
586
+ };
587
+ /**
588
+ * Configure fee splitter splits (step 1)
589
+ */
590
+ export type ConfigureSplitsParams = {
591
+ walletClient: PopWalletClient;
592
+ publicClient: PopPublicClient;
593
+ clankerToken: `0x${string}`;
594
+ chainId: number;
595
+ splits: readonly SplitConfigUI[];
596
+ };
597
+ export declare function configureSplits({ walletClient, publicClient, clankerToken, chainId, splits, }: ConfigureSplitsParams): Promise<import("viem").TransactionReceipt>;
598
+ /**
599
+ * Smart two-step flow: configure splits and update recipient only if needed
600
+ * Checks if splits have changed to avoid unnecessary transactions
601
+ * Checks if splitter is already the active recipient to avoid unnecessary transactions
602
+ * Returns receipts for steps performed, or null receipts if no action needed
603
+ */
604
+ export type ConfigureSplitsAndUpdateRecipientParams = {
605
+ walletClient: PopWalletClient;
606
+ publicClient: PopPublicClient;
607
+ clankerToken: `0x${string}`;
608
+ chainId: number;
609
+ splits: readonly SplitConfigUI[];
610
+ rewardIndex: bigint | number;
611
+ };
612
+ export type ConfigureSplitsResult = {
613
+ configureSplitsReceipt?: {
614
+ transactionHash: `0x${string}`;
615
+ status: 'success' | 'reverted';
616
+ };
617
+ updateRecipientReceipt?: {
618
+ transactionHash: `0x${string}`;
619
+ status: 'success' | 'reverted';
620
+ };
621
+ recipientWasAlreadyActive: boolean;
622
+ splitsWereUnchanged: boolean;
623
+ };
624
+ export declare function configureSplitsAndUpdateRecipient(params: ConfigureSplitsAndUpdateRecipientParams): Promise<ConfigureSplitsResult>;
625
+ /**
626
+ * Update reward recipient to fee splitter (step 2)
627
+ * Note: Must be called after configureSplits succeeds
628
+ */
629
+ export type UpdateRecipientToSplitterParams = {
630
+ walletClient: PopWalletClient;
631
+ publicClient: PopPublicClient;
632
+ clankerToken: `0x${string}`;
633
+ chainId: number;
634
+ rewardIndex: bigint | number;
635
+ };
636
+ export declare function updateRecipientToSplitter({ walletClient, publicClient, clankerToken, chainId, rewardIndex, }: UpdateRecipientToSplitterParams): Promise<import("viem").TransactionReceipt>;
637
+ /**
638
+ * Check which tokens a specific address is set up to receive as a fee receiver
639
+ * Returns array of tokens (clanker token address and/or WETH address) that this recipient can receive
640
+ * Uses feePreference to determine which tokens: Both (0), Paired/WETH only (1), or Clanker only (2)
641
+ */
642
+ export declare function getReceivableTokens(feeReceivers: FeeReceiverAdmin[] | undefined, recipientAddress: `0x${string}`, clankerToken: `0x${string}`, wethAddress?: `0x${string}`): `0x${string}`[];
643
+ /**
644
+ * Split configuration for fee splitter
645
+ */
646
+ export type SplitConfig = {
647
+ receiver: `0x${string}`;
648
+ bps: number;
649
+ };
650
+ /**
651
+ * Static fee splitter data (splits configuration)
652
+ * Fetched in getStaticProject() via multicall
653
+ */
654
+ export type FeeSplitterStatic = {
655
+ address: `0x${string}`;
656
+ isConfigured: boolean;
657
+ isActive: boolean;
658
+ splits: SplitConfig[];
659
+ totalBps: number;
660
+ };
661
+ /**
662
+ * Dynamic fee splitter data (pending fees)
663
+ * Fetched in getProject() via multicall
664
+ */
665
+ export type FeeSplitterDynamic = {
666
+ pendingFees: {
667
+ token: bigint;
668
+ weth: bigint | null;
669
+ };
670
+ };
671
+ /**
672
+ * Get static fee splitter contracts for multicall
673
+ * Returns contracts for: isSplitsConfigured(), getSplits(), getTotalBps()
674
+ */
675
+ export declare function getFeeSplitterStaticContracts(clankerToken: `0x${string}`, feeSplitterAddress: `0x${string}`): ({
676
+ address: `0x${string}`;
677
+ abi: readonly [{
678
+ readonly type: "constructor";
679
+ readonly inputs: readonly [{
680
+ readonly name: "clankerToken_";
681
+ readonly type: "address";
682
+ readonly internalType: "address";
683
+ }, {
684
+ readonly name: "factory_";
685
+ readonly type: "address";
686
+ readonly internalType: "address";
687
+ }, {
688
+ readonly name: "trustedForwarder_";
689
+ readonly type: "address";
690
+ readonly internalType: "address";
691
+ }];
692
+ readonly stateMutability: "nonpayable";
693
+ }, {
694
+ readonly type: "function";
695
+ readonly name: "clankerToken";
696
+ readonly inputs: readonly [];
697
+ readonly outputs: readonly [{
698
+ readonly name: "";
699
+ readonly type: "address";
700
+ readonly internalType: "address";
701
+ }];
702
+ readonly stateMutability: "view";
703
+ }, {
704
+ readonly type: "function";
705
+ readonly name: "configureSplits";
706
+ readonly inputs: readonly [{
707
+ readonly name: "splits";
708
+ readonly type: "tuple[]";
709
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
710
+ readonly components: readonly [{
711
+ readonly name: "receiver";
712
+ readonly type: "address";
713
+ readonly internalType: "address";
714
+ }, {
715
+ readonly name: "bps";
716
+ readonly type: "uint16";
717
+ readonly internalType: "uint16";
718
+ }];
719
+ }];
720
+ readonly outputs: readonly [];
721
+ readonly stateMutability: "nonpayable";
722
+ }, {
723
+ readonly type: "function";
724
+ readonly name: "distribute";
725
+ readonly inputs: readonly [{
726
+ readonly name: "rewardToken";
727
+ readonly type: "address";
728
+ readonly internalType: "address";
729
+ }];
730
+ readonly outputs: readonly [];
731
+ readonly stateMutability: "nonpayable";
732
+ }, {
733
+ readonly type: "function";
734
+ readonly name: "distributeBatch";
735
+ readonly inputs: readonly [{
736
+ readonly name: "rewardTokens";
737
+ readonly type: "address[]";
738
+ readonly internalType: "address[]";
739
+ }];
740
+ readonly outputs: readonly [];
741
+ readonly stateMutability: "nonpayable";
742
+ }, {
743
+ readonly type: "function";
744
+ readonly name: "factory";
745
+ readonly inputs: readonly [];
746
+ readonly outputs: readonly [{
747
+ readonly name: "";
748
+ readonly type: "address";
749
+ readonly internalType: "address";
750
+ }];
751
+ readonly stateMutability: "view";
752
+ }, {
753
+ readonly type: "function";
754
+ readonly name: "getDistributionState";
755
+ readonly inputs: readonly [{
756
+ readonly name: "rewardToken";
757
+ readonly type: "address";
758
+ readonly internalType: "address";
759
+ }];
760
+ readonly outputs: readonly [{
761
+ readonly name: "state";
762
+ readonly type: "tuple";
763
+ readonly internalType: "struct ILevrFeeSplitter_v1.DistributionState";
764
+ readonly components: readonly [{
765
+ readonly name: "totalDistributed";
766
+ readonly type: "uint256";
767
+ readonly internalType: "uint256";
768
+ }, {
769
+ readonly name: "lastDistribution";
770
+ readonly type: "uint256";
771
+ readonly internalType: "uint256";
772
+ }];
773
+ }];
774
+ readonly stateMutability: "view";
775
+ }, {
776
+ readonly type: "function";
777
+ readonly name: "getSplits";
778
+ readonly inputs: readonly [];
779
+ readonly outputs: readonly [{
780
+ readonly name: "splits";
781
+ readonly type: "tuple[]";
782
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
783
+ readonly components: readonly [{
784
+ readonly name: "receiver";
785
+ readonly type: "address";
786
+ readonly internalType: "address";
787
+ }, {
788
+ readonly name: "bps";
789
+ readonly type: "uint16";
790
+ readonly internalType: "uint16";
791
+ }];
792
+ }];
793
+ readonly stateMutability: "view";
794
+ }, {
795
+ readonly type: "function";
796
+ readonly name: "getStakingAddress";
797
+ readonly inputs: readonly [];
798
+ readonly outputs: readonly [{
799
+ readonly name: "staking";
800
+ readonly type: "address";
801
+ readonly internalType: "address";
802
+ }];
803
+ readonly stateMutability: "view";
804
+ }, {
805
+ readonly type: "function";
806
+ readonly name: "getTotalBps";
807
+ readonly inputs: readonly [];
808
+ readonly outputs: readonly [{
809
+ readonly name: "totalBps";
810
+ readonly type: "uint256";
811
+ readonly internalType: "uint256";
812
+ }];
813
+ readonly stateMutability: "view";
814
+ }, {
815
+ readonly type: "function";
816
+ readonly name: "isSplitsConfigured";
817
+ readonly inputs: readonly [];
818
+ readonly outputs: readonly [{
819
+ readonly name: "configured";
820
+ readonly type: "bool";
821
+ readonly internalType: "bool";
822
+ }];
823
+ readonly stateMutability: "view";
824
+ }, {
825
+ readonly type: "function";
826
+ readonly name: "isTrustedForwarder";
827
+ readonly inputs: readonly [{
828
+ readonly name: "forwarder";
829
+ readonly type: "address";
830
+ readonly internalType: "address";
831
+ }];
832
+ readonly outputs: readonly [{
833
+ readonly name: "";
834
+ readonly type: "bool";
835
+ readonly internalType: "bool";
836
+ }];
837
+ readonly stateMutability: "view";
838
+ }, {
839
+ readonly type: "function";
840
+ readonly name: "pendingFees";
841
+ readonly inputs: readonly [{
842
+ readonly name: "rewardToken";
843
+ readonly type: "address";
844
+ readonly internalType: "address";
845
+ }];
846
+ readonly outputs: readonly [{
847
+ readonly name: "pending";
848
+ readonly type: "uint256";
849
+ readonly internalType: "uint256";
850
+ }];
851
+ readonly stateMutability: "view";
852
+ }, {
853
+ readonly type: "function";
854
+ readonly name: "pendingFeesInclBalance";
855
+ readonly inputs: readonly [{
856
+ readonly name: "rewardToken";
857
+ readonly type: "address";
858
+ readonly internalType: "address";
859
+ }];
860
+ readonly outputs: readonly [{
861
+ readonly name: "pending";
862
+ readonly type: "uint256";
863
+ readonly internalType: "uint256";
864
+ }];
865
+ readonly stateMutability: "view";
866
+ }, {
867
+ readonly type: "function";
868
+ readonly name: "recoverDust";
869
+ readonly inputs: readonly [{
870
+ readonly name: "token";
871
+ readonly type: "address";
872
+ readonly internalType: "address";
873
+ }, {
874
+ readonly name: "to";
875
+ readonly type: "address";
876
+ readonly internalType: "address";
877
+ }];
878
+ readonly outputs: readonly [];
879
+ readonly stateMutability: "nonpayable";
880
+ }, {
881
+ readonly type: "function";
882
+ readonly name: "trustedForwarder";
883
+ readonly inputs: readonly [];
884
+ readonly outputs: readonly [{
885
+ readonly name: "";
886
+ readonly type: "address";
887
+ readonly internalType: "address";
888
+ }];
889
+ readonly stateMutability: "view";
890
+ }, {
891
+ readonly type: "event";
892
+ readonly name: "AutoAccrualFailed";
893
+ readonly inputs: readonly [{
894
+ readonly name: "clankerToken";
895
+ readonly type: "address";
896
+ readonly indexed: true;
897
+ readonly internalType: "address";
898
+ }, {
899
+ readonly name: "token";
900
+ readonly type: "address";
901
+ readonly indexed: true;
902
+ readonly internalType: "address";
903
+ }];
904
+ readonly anonymous: false;
905
+ }, {
906
+ readonly type: "event";
907
+ readonly name: "AutoAccrualSuccess";
908
+ readonly inputs: readonly [{
909
+ readonly name: "clankerToken";
910
+ readonly type: "address";
911
+ readonly indexed: true;
912
+ readonly internalType: "address";
913
+ }, {
914
+ readonly name: "token";
915
+ readonly type: "address";
916
+ readonly indexed: true;
917
+ readonly internalType: "address";
918
+ }];
919
+ readonly anonymous: false;
920
+ }, {
921
+ readonly type: "event";
922
+ readonly name: "Distributed";
923
+ readonly inputs: readonly [{
924
+ readonly name: "clankerToken";
925
+ readonly type: "address";
926
+ readonly indexed: true;
927
+ readonly internalType: "address";
928
+ }, {
929
+ readonly name: "token";
930
+ readonly type: "address";
931
+ readonly indexed: true;
932
+ readonly internalType: "address";
933
+ }, {
934
+ readonly name: "totalAmount";
935
+ readonly type: "uint256";
936
+ readonly indexed: false;
937
+ readonly internalType: "uint256";
938
+ }];
939
+ readonly anonymous: false;
940
+ }, {
941
+ readonly type: "event";
942
+ readonly name: "DustRecovered";
943
+ readonly inputs: readonly [{
944
+ readonly name: "token";
945
+ readonly type: "address";
946
+ readonly indexed: true;
947
+ readonly internalType: "address";
948
+ }, {
949
+ readonly name: "to";
950
+ readonly type: "address";
951
+ readonly indexed: true;
952
+ readonly internalType: "address";
953
+ }, {
954
+ readonly name: "amount";
955
+ readonly type: "uint256";
956
+ readonly indexed: false;
957
+ readonly internalType: "uint256";
958
+ }];
959
+ readonly anonymous: false;
960
+ }, {
961
+ readonly type: "event";
962
+ readonly name: "FeeDistributed";
963
+ readonly inputs: readonly [{
964
+ readonly name: "clankerToken";
965
+ readonly type: "address";
966
+ readonly indexed: true;
967
+ readonly internalType: "address";
968
+ }, {
969
+ readonly name: "token";
970
+ readonly type: "address";
971
+ readonly indexed: true;
972
+ readonly internalType: "address";
973
+ }, {
974
+ readonly name: "receiver";
975
+ readonly type: "address";
976
+ readonly indexed: true;
977
+ readonly internalType: "address";
978
+ }, {
979
+ readonly name: "amount";
980
+ readonly type: "uint256";
981
+ readonly indexed: false;
982
+ readonly internalType: "uint256";
983
+ }];
984
+ readonly anonymous: false;
985
+ }, {
986
+ readonly type: "event";
987
+ readonly name: "SplitsConfigured";
988
+ readonly inputs: readonly [{
989
+ readonly name: "clankerToken";
990
+ readonly type: "address";
991
+ readonly indexed: true;
992
+ readonly internalType: "address";
993
+ }, {
994
+ readonly name: "splits";
995
+ readonly type: "tuple[]";
996
+ readonly indexed: false;
997
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
998
+ readonly components: readonly [{
999
+ readonly name: "receiver";
1000
+ readonly type: "address";
1001
+ readonly internalType: "address";
1002
+ }, {
1003
+ readonly name: "bps";
1004
+ readonly type: "uint16";
1005
+ readonly internalType: "uint16";
1006
+ }];
1007
+ }];
1008
+ readonly anonymous: false;
1009
+ }, {
1010
+ readonly type: "event";
1011
+ readonly name: "StakingDistribution";
1012
+ readonly inputs: readonly [{
1013
+ readonly name: "clankerToken";
1014
+ readonly type: "address";
1015
+ readonly indexed: true;
1016
+ readonly internalType: "address";
1017
+ }, {
1018
+ readonly name: "token";
1019
+ readonly type: "address";
1020
+ readonly indexed: true;
1021
+ readonly internalType: "address";
1022
+ }, {
1023
+ readonly name: "amount";
1024
+ readonly type: "uint256";
1025
+ readonly indexed: false;
1026
+ readonly internalType: "uint256";
1027
+ }];
1028
+ readonly anonymous: false;
1029
+ }, {
1030
+ readonly type: "error";
1031
+ readonly name: "ClankerMetadataNotFound";
1032
+ readonly inputs: readonly [];
1033
+ }, {
1034
+ readonly type: "error";
1035
+ readonly name: "DuplicateReceiver";
1036
+ readonly inputs: readonly [];
1037
+ }, {
1038
+ readonly type: "error";
1039
+ readonly name: "DuplicateStakingReceiver";
1040
+ readonly inputs: readonly [];
1041
+ }, {
1042
+ readonly type: "error";
1043
+ readonly name: "InvalidSplits";
1044
+ readonly inputs: readonly [];
1045
+ }, {
1046
+ readonly type: "error";
1047
+ readonly name: "InvalidTotalBps";
1048
+ readonly inputs: readonly [];
1049
+ }, {
1050
+ readonly type: "error";
1051
+ readonly name: "LpLockerNotConfigured";
1052
+ readonly inputs: readonly [];
1053
+ }, {
1054
+ readonly type: "error";
1055
+ readonly name: "NoPendingFees";
1056
+ readonly inputs: readonly [];
1057
+ }, {
1058
+ readonly type: "error";
1059
+ readonly name: "NoReceivers";
1060
+ readonly inputs: readonly [];
1061
+ }, {
1062
+ readonly type: "error";
1063
+ readonly name: "OnlyTokenAdmin";
1064
+ readonly inputs: readonly [];
1065
+ }, {
1066
+ readonly type: "error";
1067
+ readonly name: "ProjectNotRegistered";
1068
+ readonly inputs: readonly [];
1069
+ }, {
1070
+ readonly type: "error";
1071
+ readonly name: "ReentrancyGuardReentrantCall";
1072
+ readonly inputs: readonly [];
1073
+ }, {
1074
+ readonly type: "error";
1075
+ readonly name: "SafeERC20FailedOperation";
1076
+ readonly inputs: readonly [{
1077
+ readonly name: "token";
1078
+ readonly type: "address";
1079
+ readonly internalType: "address";
1080
+ }];
1081
+ }, {
1082
+ readonly type: "error";
1083
+ readonly name: "SplitsNotConfigured";
1084
+ readonly inputs: readonly [];
1085
+ }, {
1086
+ readonly type: "error";
1087
+ readonly name: "TooManyReceivers";
1088
+ readonly inputs: readonly [];
1089
+ }, {
1090
+ readonly type: "error";
1091
+ readonly name: "ZeroAddress";
1092
+ readonly inputs: readonly [];
1093
+ }, {
1094
+ readonly type: "error";
1095
+ readonly name: "ZeroBps";
1096
+ readonly inputs: readonly [];
1097
+ }];
1098
+ functionName: "isSplitsConfigured";
1099
+ } | {
1100
+ address: `0x${string}`;
1101
+ abi: readonly [{
1102
+ readonly type: "constructor";
1103
+ readonly inputs: readonly [{
1104
+ readonly name: "clankerToken_";
1105
+ readonly type: "address";
1106
+ readonly internalType: "address";
1107
+ }, {
1108
+ readonly name: "factory_";
1109
+ readonly type: "address";
1110
+ readonly internalType: "address";
1111
+ }, {
1112
+ readonly name: "trustedForwarder_";
1113
+ readonly type: "address";
1114
+ readonly internalType: "address";
1115
+ }];
1116
+ readonly stateMutability: "nonpayable";
1117
+ }, {
1118
+ readonly type: "function";
1119
+ readonly name: "clankerToken";
1120
+ readonly inputs: readonly [];
1121
+ readonly outputs: readonly [{
1122
+ readonly name: "";
1123
+ readonly type: "address";
1124
+ readonly internalType: "address";
1125
+ }];
1126
+ readonly stateMutability: "view";
1127
+ }, {
1128
+ readonly type: "function";
1129
+ readonly name: "configureSplits";
1130
+ readonly inputs: readonly [{
1131
+ readonly name: "splits";
1132
+ readonly type: "tuple[]";
1133
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
1134
+ readonly components: readonly [{
1135
+ readonly name: "receiver";
1136
+ readonly type: "address";
1137
+ readonly internalType: "address";
1138
+ }, {
1139
+ readonly name: "bps";
1140
+ readonly type: "uint16";
1141
+ readonly internalType: "uint16";
1142
+ }];
1143
+ }];
1144
+ readonly outputs: readonly [];
1145
+ readonly stateMutability: "nonpayable";
1146
+ }, {
1147
+ readonly type: "function";
1148
+ readonly name: "distribute";
1149
+ readonly inputs: readonly [{
1150
+ readonly name: "rewardToken";
1151
+ readonly type: "address";
1152
+ readonly internalType: "address";
1153
+ }];
1154
+ readonly outputs: readonly [];
1155
+ readonly stateMutability: "nonpayable";
1156
+ }, {
1157
+ readonly type: "function";
1158
+ readonly name: "distributeBatch";
1159
+ readonly inputs: readonly [{
1160
+ readonly name: "rewardTokens";
1161
+ readonly type: "address[]";
1162
+ readonly internalType: "address[]";
1163
+ }];
1164
+ readonly outputs: readonly [];
1165
+ readonly stateMutability: "nonpayable";
1166
+ }, {
1167
+ readonly type: "function";
1168
+ readonly name: "factory";
1169
+ readonly inputs: readonly [];
1170
+ readonly outputs: readonly [{
1171
+ readonly name: "";
1172
+ readonly type: "address";
1173
+ readonly internalType: "address";
1174
+ }];
1175
+ readonly stateMutability: "view";
1176
+ }, {
1177
+ readonly type: "function";
1178
+ readonly name: "getDistributionState";
1179
+ readonly inputs: readonly [{
1180
+ readonly name: "rewardToken";
1181
+ readonly type: "address";
1182
+ readonly internalType: "address";
1183
+ }];
1184
+ readonly outputs: readonly [{
1185
+ readonly name: "state";
1186
+ readonly type: "tuple";
1187
+ readonly internalType: "struct ILevrFeeSplitter_v1.DistributionState";
1188
+ readonly components: readonly [{
1189
+ readonly name: "totalDistributed";
1190
+ readonly type: "uint256";
1191
+ readonly internalType: "uint256";
1192
+ }, {
1193
+ readonly name: "lastDistribution";
1194
+ readonly type: "uint256";
1195
+ readonly internalType: "uint256";
1196
+ }];
1197
+ }];
1198
+ readonly stateMutability: "view";
1199
+ }, {
1200
+ readonly type: "function";
1201
+ readonly name: "getSplits";
1202
+ readonly inputs: readonly [];
1203
+ readonly outputs: readonly [{
1204
+ readonly name: "splits";
1205
+ readonly type: "tuple[]";
1206
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
1207
+ readonly components: readonly [{
1208
+ readonly name: "receiver";
1209
+ readonly type: "address";
1210
+ readonly internalType: "address";
1211
+ }, {
1212
+ readonly name: "bps";
1213
+ readonly type: "uint16";
1214
+ readonly internalType: "uint16";
1215
+ }];
1216
+ }];
1217
+ readonly stateMutability: "view";
1218
+ }, {
1219
+ readonly type: "function";
1220
+ readonly name: "getStakingAddress";
1221
+ readonly inputs: readonly [];
1222
+ readonly outputs: readonly [{
1223
+ readonly name: "staking";
1224
+ readonly type: "address";
1225
+ readonly internalType: "address";
1226
+ }];
1227
+ readonly stateMutability: "view";
1228
+ }, {
1229
+ readonly type: "function";
1230
+ readonly name: "getTotalBps";
1231
+ readonly inputs: readonly [];
1232
+ readonly outputs: readonly [{
1233
+ readonly name: "totalBps";
1234
+ readonly type: "uint256";
1235
+ readonly internalType: "uint256";
1236
+ }];
1237
+ readonly stateMutability: "view";
1238
+ }, {
1239
+ readonly type: "function";
1240
+ readonly name: "isSplitsConfigured";
1241
+ readonly inputs: readonly [];
1242
+ readonly outputs: readonly [{
1243
+ readonly name: "configured";
1244
+ readonly type: "bool";
1245
+ readonly internalType: "bool";
1246
+ }];
1247
+ readonly stateMutability: "view";
1248
+ }, {
1249
+ readonly type: "function";
1250
+ readonly name: "isTrustedForwarder";
1251
+ readonly inputs: readonly [{
1252
+ readonly name: "forwarder";
1253
+ readonly type: "address";
1254
+ readonly internalType: "address";
1255
+ }];
1256
+ readonly outputs: readonly [{
1257
+ readonly name: "";
1258
+ readonly type: "bool";
1259
+ readonly internalType: "bool";
1260
+ }];
1261
+ readonly stateMutability: "view";
1262
+ }, {
1263
+ readonly type: "function";
1264
+ readonly name: "pendingFees";
1265
+ readonly inputs: readonly [{
1266
+ readonly name: "rewardToken";
1267
+ readonly type: "address";
1268
+ readonly internalType: "address";
1269
+ }];
1270
+ readonly outputs: readonly [{
1271
+ readonly name: "pending";
1272
+ readonly type: "uint256";
1273
+ readonly internalType: "uint256";
1274
+ }];
1275
+ readonly stateMutability: "view";
1276
+ }, {
1277
+ readonly type: "function";
1278
+ readonly name: "pendingFeesInclBalance";
1279
+ readonly inputs: readonly [{
1280
+ readonly name: "rewardToken";
1281
+ readonly type: "address";
1282
+ readonly internalType: "address";
1283
+ }];
1284
+ readonly outputs: readonly [{
1285
+ readonly name: "pending";
1286
+ readonly type: "uint256";
1287
+ readonly internalType: "uint256";
1288
+ }];
1289
+ readonly stateMutability: "view";
1290
+ }, {
1291
+ readonly type: "function";
1292
+ readonly name: "recoverDust";
1293
+ readonly inputs: readonly [{
1294
+ readonly name: "token";
1295
+ readonly type: "address";
1296
+ readonly internalType: "address";
1297
+ }, {
1298
+ readonly name: "to";
1299
+ readonly type: "address";
1300
+ readonly internalType: "address";
1301
+ }];
1302
+ readonly outputs: readonly [];
1303
+ readonly stateMutability: "nonpayable";
1304
+ }, {
1305
+ readonly type: "function";
1306
+ readonly name: "trustedForwarder";
1307
+ readonly inputs: readonly [];
1308
+ readonly outputs: readonly [{
1309
+ readonly name: "";
1310
+ readonly type: "address";
1311
+ readonly internalType: "address";
1312
+ }];
1313
+ readonly stateMutability: "view";
1314
+ }, {
1315
+ readonly type: "event";
1316
+ readonly name: "AutoAccrualFailed";
1317
+ readonly inputs: readonly [{
1318
+ readonly name: "clankerToken";
1319
+ readonly type: "address";
1320
+ readonly indexed: true;
1321
+ readonly internalType: "address";
1322
+ }, {
1323
+ readonly name: "token";
1324
+ readonly type: "address";
1325
+ readonly indexed: true;
1326
+ readonly internalType: "address";
1327
+ }];
1328
+ readonly anonymous: false;
1329
+ }, {
1330
+ readonly type: "event";
1331
+ readonly name: "AutoAccrualSuccess";
1332
+ readonly inputs: readonly [{
1333
+ readonly name: "clankerToken";
1334
+ readonly type: "address";
1335
+ readonly indexed: true;
1336
+ readonly internalType: "address";
1337
+ }, {
1338
+ readonly name: "token";
1339
+ readonly type: "address";
1340
+ readonly indexed: true;
1341
+ readonly internalType: "address";
1342
+ }];
1343
+ readonly anonymous: false;
1344
+ }, {
1345
+ readonly type: "event";
1346
+ readonly name: "Distributed";
1347
+ readonly inputs: readonly [{
1348
+ readonly name: "clankerToken";
1349
+ readonly type: "address";
1350
+ readonly indexed: true;
1351
+ readonly internalType: "address";
1352
+ }, {
1353
+ readonly name: "token";
1354
+ readonly type: "address";
1355
+ readonly indexed: true;
1356
+ readonly internalType: "address";
1357
+ }, {
1358
+ readonly name: "totalAmount";
1359
+ readonly type: "uint256";
1360
+ readonly indexed: false;
1361
+ readonly internalType: "uint256";
1362
+ }];
1363
+ readonly anonymous: false;
1364
+ }, {
1365
+ readonly type: "event";
1366
+ readonly name: "DustRecovered";
1367
+ readonly inputs: readonly [{
1368
+ readonly name: "token";
1369
+ readonly type: "address";
1370
+ readonly indexed: true;
1371
+ readonly internalType: "address";
1372
+ }, {
1373
+ readonly name: "to";
1374
+ readonly type: "address";
1375
+ readonly indexed: true;
1376
+ readonly internalType: "address";
1377
+ }, {
1378
+ readonly name: "amount";
1379
+ readonly type: "uint256";
1380
+ readonly indexed: false;
1381
+ readonly internalType: "uint256";
1382
+ }];
1383
+ readonly anonymous: false;
1384
+ }, {
1385
+ readonly type: "event";
1386
+ readonly name: "FeeDistributed";
1387
+ readonly inputs: readonly [{
1388
+ readonly name: "clankerToken";
1389
+ readonly type: "address";
1390
+ readonly indexed: true;
1391
+ readonly internalType: "address";
1392
+ }, {
1393
+ readonly name: "token";
1394
+ readonly type: "address";
1395
+ readonly indexed: true;
1396
+ readonly internalType: "address";
1397
+ }, {
1398
+ readonly name: "receiver";
1399
+ readonly type: "address";
1400
+ readonly indexed: true;
1401
+ readonly internalType: "address";
1402
+ }, {
1403
+ readonly name: "amount";
1404
+ readonly type: "uint256";
1405
+ readonly indexed: false;
1406
+ readonly internalType: "uint256";
1407
+ }];
1408
+ readonly anonymous: false;
1409
+ }, {
1410
+ readonly type: "event";
1411
+ readonly name: "SplitsConfigured";
1412
+ readonly inputs: readonly [{
1413
+ readonly name: "clankerToken";
1414
+ readonly type: "address";
1415
+ readonly indexed: true;
1416
+ readonly internalType: "address";
1417
+ }, {
1418
+ readonly name: "splits";
1419
+ readonly type: "tuple[]";
1420
+ readonly indexed: false;
1421
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
1422
+ readonly components: readonly [{
1423
+ readonly name: "receiver";
1424
+ readonly type: "address";
1425
+ readonly internalType: "address";
1426
+ }, {
1427
+ readonly name: "bps";
1428
+ readonly type: "uint16";
1429
+ readonly internalType: "uint16";
1430
+ }];
1431
+ }];
1432
+ readonly anonymous: false;
1433
+ }, {
1434
+ readonly type: "event";
1435
+ readonly name: "StakingDistribution";
1436
+ readonly inputs: readonly [{
1437
+ readonly name: "clankerToken";
1438
+ readonly type: "address";
1439
+ readonly indexed: true;
1440
+ readonly internalType: "address";
1441
+ }, {
1442
+ readonly name: "token";
1443
+ readonly type: "address";
1444
+ readonly indexed: true;
1445
+ readonly internalType: "address";
1446
+ }, {
1447
+ readonly name: "amount";
1448
+ readonly type: "uint256";
1449
+ readonly indexed: false;
1450
+ readonly internalType: "uint256";
1451
+ }];
1452
+ readonly anonymous: false;
1453
+ }, {
1454
+ readonly type: "error";
1455
+ readonly name: "ClankerMetadataNotFound";
1456
+ readonly inputs: readonly [];
1457
+ }, {
1458
+ readonly type: "error";
1459
+ readonly name: "DuplicateReceiver";
1460
+ readonly inputs: readonly [];
1461
+ }, {
1462
+ readonly type: "error";
1463
+ readonly name: "DuplicateStakingReceiver";
1464
+ readonly inputs: readonly [];
1465
+ }, {
1466
+ readonly type: "error";
1467
+ readonly name: "InvalidSplits";
1468
+ readonly inputs: readonly [];
1469
+ }, {
1470
+ readonly type: "error";
1471
+ readonly name: "InvalidTotalBps";
1472
+ readonly inputs: readonly [];
1473
+ }, {
1474
+ readonly type: "error";
1475
+ readonly name: "LpLockerNotConfigured";
1476
+ readonly inputs: readonly [];
1477
+ }, {
1478
+ readonly type: "error";
1479
+ readonly name: "NoPendingFees";
1480
+ readonly inputs: readonly [];
1481
+ }, {
1482
+ readonly type: "error";
1483
+ readonly name: "NoReceivers";
1484
+ readonly inputs: readonly [];
1485
+ }, {
1486
+ readonly type: "error";
1487
+ readonly name: "OnlyTokenAdmin";
1488
+ readonly inputs: readonly [];
1489
+ }, {
1490
+ readonly type: "error";
1491
+ readonly name: "ProjectNotRegistered";
1492
+ readonly inputs: readonly [];
1493
+ }, {
1494
+ readonly type: "error";
1495
+ readonly name: "ReentrancyGuardReentrantCall";
1496
+ readonly inputs: readonly [];
1497
+ }, {
1498
+ readonly type: "error";
1499
+ readonly name: "SafeERC20FailedOperation";
1500
+ readonly inputs: readonly [{
1501
+ readonly name: "token";
1502
+ readonly type: "address";
1503
+ readonly internalType: "address";
1504
+ }];
1505
+ }, {
1506
+ readonly type: "error";
1507
+ readonly name: "SplitsNotConfigured";
1508
+ readonly inputs: readonly [];
1509
+ }, {
1510
+ readonly type: "error";
1511
+ readonly name: "TooManyReceivers";
1512
+ readonly inputs: readonly [];
1513
+ }, {
1514
+ readonly type: "error";
1515
+ readonly name: "ZeroAddress";
1516
+ readonly inputs: readonly [];
1517
+ }, {
1518
+ readonly type: "error";
1519
+ readonly name: "ZeroBps";
1520
+ readonly inputs: readonly [];
1521
+ }];
1522
+ functionName: "getSplits";
1523
+ } | {
1524
+ address: `0x${string}`;
1525
+ abi: readonly [{
1526
+ readonly type: "constructor";
1527
+ readonly inputs: readonly [{
1528
+ readonly name: "clankerToken_";
1529
+ readonly type: "address";
1530
+ readonly internalType: "address";
1531
+ }, {
1532
+ readonly name: "factory_";
1533
+ readonly type: "address";
1534
+ readonly internalType: "address";
1535
+ }, {
1536
+ readonly name: "trustedForwarder_";
1537
+ readonly type: "address";
1538
+ readonly internalType: "address";
1539
+ }];
1540
+ readonly stateMutability: "nonpayable";
1541
+ }, {
1542
+ readonly type: "function";
1543
+ readonly name: "clankerToken";
1544
+ readonly inputs: readonly [];
1545
+ readonly outputs: readonly [{
1546
+ readonly name: "";
1547
+ readonly type: "address";
1548
+ readonly internalType: "address";
1549
+ }];
1550
+ readonly stateMutability: "view";
1551
+ }, {
1552
+ readonly type: "function";
1553
+ readonly name: "configureSplits";
1554
+ readonly inputs: readonly [{
1555
+ readonly name: "splits";
1556
+ readonly type: "tuple[]";
1557
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
1558
+ readonly components: readonly [{
1559
+ readonly name: "receiver";
1560
+ readonly type: "address";
1561
+ readonly internalType: "address";
1562
+ }, {
1563
+ readonly name: "bps";
1564
+ readonly type: "uint16";
1565
+ readonly internalType: "uint16";
1566
+ }];
1567
+ }];
1568
+ readonly outputs: readonly [];
1569
+ readonly stateMutability: "nonpayable";
1570
+ }, {
1571
+ readonly type: "function";
1572
+ readonly name: "distribute";
1573
+ readonly inputs: readonly [{
1574
+ readonly name: "rewardToken";
1575
+ readonly type: "address";
1576
+ readonly internalType: "address";
1577
+ }];
1578
+ readonly outputs: readonly [];
1579
+ readonly stateMutability: "nonpayable";
1580
+ }, {
1581
+ readonly type: "function";
1582
+ readonly name: "distributeBatch";
1583
+ readonly inputs: readonly [{
1584
+ readonly name: "rewardTokens";
1585
+ readonly type: "address[]";
1586
+ readonly internalType: "address[]";
1587
+ }];
1588
+ readonly outputs: readonly [];
1589
+ readonly stateMutability: "nonpayable";
1590
+ }, {
1591
+ readonly type: "function";
1592
+ readonly name: "factory";
1593
+ readonly inputs: readonly [];
1594
+ readonly outputs: readonly [{
1595
+ readonly name: "";
1596
+ readonly type: "address";
1597
+ readonly internalType: "address";
1598
+ }];
1599
+ readonly stateMutability: "view";
1600
+ }, {
1601
+ readonly type: "function";
1602
+ readonly name: "getDistributionState";
1603
+ readonly inputs: readonly [{
1604
+ readonly name: "rewardToken";
1605
+ readonly type: "address";
1606
+ readonly internalType: "address";
1607
+ }];
1608
+ readonly outputs: readonly [{
1609
+ readonly name: "state";
1610
+ readonly type: "tuple";
1611
+ readonly internalType: "struct ILevrFeeSplitter_v1.DistributionState";
1612
+ readonly components: readonly [{
1613
+ readonly name: "totalDistributed";
1614
+ readonly type: "uint256";
1615
+ readonly internalType: "uint256";
1616
+ }, {
1617
+ readonly name: "lastDistribution";
1618
+ readonly type: "uint256";
1619
+ readonly internalType: "uint256";
1620
+ }];
1621
+ }];
1622
+ readonly stateMutability: "view";
1623
+ }, {
1624
+ readonly type: "function";
1625
+ readonly name: "getSplits";
1626
+ readonly inputs: readonly [];
1627
+ readonly outputs: readonly [{
1628
+ readonly name: "splits";
1629
+ readonly type: "tuple[]";
1630
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
1631
+ readonly components: readonly [{
1632
+ readonly name: "receiver";
1633
+ readonly type: "address";
1634
+ readonly internalType: "address";
1635
+ }, {
1636
+ readonly name: "bps";
1637
+ readonly type: "uint16";
1638
+ readonly internalType: "uint16";
1639
+ }];
1640
+ }];
1641
+ readonly stateMutability: "view";
1642
+ }, {
1643
+ readonly type: "function";
1644
+ readonly name: "getStakingAddress";
1645
+ readonly inputs: readonly [];
1646
+ readonly outputs: readonly [{
1647
+ readonly name: "staking";
1648
+ readonly type: "address";
1649
+ readonly internalType: "address";
1650
+ }];
1651
+ readonly stateMutability: "view";
1652
+ }, {
1653
+ readonly type: "function";
1654
+ readonly name: "getTotalBps";
1655
+ readonly inputs: readonly [];
1656
+ readonly outputs: readonly [{
1657
+ readonly name: "totalBps";
1658
+ readonly type: "uint256";
1659
+ readonly internalType: "uint256";
1660
+ }];
1661
+ readonly stateMutability: "view";
1662
+ }, {
1663
+ readonly type: "function";
1664
+ readonly name: "isSplitsConfigured";
1665
+ readonly inputs: readonly [];
1666
+ readonly outputs: readonly [{
1667
+ readonly name: "configured";
1668
+ readonly type: "bool";
1669
+ readonly internalType: "bool";
1670
+ }];
1671
+ readonly stateMutability: "view";
1672
+ }, {
1673
+ readonly type: "function";
1674
+ readonly name: "isTrustedForwarder";
1675
+ readonly inputs: readonly [{
1676
+ readonly name: "forwarder";
1677
+ readonly type: "address";
1678
+ readonly internalType: "address";
1679
+ }];
1680
+ readonly outputs: readonly [{
1681
+ readonly name: "";
1682
+ readonly type: "bool";
1683
+ readonly internalType: "bool";
1684
+ }];
1685
+ readonly stateMutability: "view";
1686
+ }, {
1687
+ readonly type: "function";
1688
+ readonly name: "pendingFees";
1689
+ readonly inputs: readonly [{
1690
+ readonly name: "rewardToken";
1691
+ readonly type: "address";
1692
+ readonly internalType: "address";
1693
+ }];
1694
+ readonly outputs: readonly [{
1695
+ readonly name: "pending";
1696
+ readonly type: "uint256";
1697
+ readonly internalType: "uint256";
1698
+ }];
1699
+ readonly stateMutability: "view";
1700
+ }, {
1701
+ readonly type: "function";
1702
+ readonly name: "pendingFeesInclBalance";
1703
+ readonly inputs: readonly [{
1704
+ readonly name: "rewardToken";
1705
+ readonly type: "address";
1706
+ readonly internalType: "address";
1707
+ }];
1708
+ readonly outputs: readonly [{
1709
+ readonly name: "pending";
1710
+ readonly type: "uint256";
1711
+ readonly internalType: "uint256";
1712
+ }];
1713
+ readonly stateMutability: "view";
1714
+ }, {
1715
+ readonly type: "function";
1716
+ readonly name: "recoverDust";
1717
+ readonly inputs: readonly [{
1718
+ readonly name: "token";
1719
+ readonly type: "address";
1720
+ readonly internalType: "address";
1721
+ }, {
1722
+ readonly name: "to";
1723
+ readonly type: "address";
1724
+ readonly internalType: "address";
1725
+ }];
1726
+ readonly outputs: readonly [];
1727
+ readonly stateMutability: "nonpayable";
1728
+ }, {
1729
+ readonly type: "function";
1730
+ readonly name: "trustedForwarder";
1731
+ readonly inputs: readonly [];
1732
+ readonly outputs: readonly [{
1733
+ readonly name: "";
1734
+ readonly type: "address";
1735
+ readonly internalType: "address";
1736
+ }];
1737
+ readonly stateMutability: "view";
1738
+ }, {
1739
+ readonly type: "event";
1740
+ readonly name: "AutoAccrualFailed";
1741
+ readonly inputs: readonly [{
1742
+ readonly name: "clankerToken";
1743
+ readonly type: "address";
1744
+ readonly indexed: true;
1745
+ readonly internalType: "address";
1746
+ }, {
1747
+ readonly name: "token";
1748
+ readonly type: "address";
1749
+ readonly indexed: true;
1750
+ readonly internalType: "address";
1751
+ }];
1752
+ readonly anonymous: false;
1753
+ }, {
1754
+ readonly type: "event";
1755
+ readonly name: "AutoAccrualSuccess";
1756
+ readonly inputs: readonly [{
1757
+ readonly name: "clankerToken";
1758
+ readonly type: "address";
1759
+ readonly indexed: true;
1760
+ readonly internalType: "address";
1761
+ }, {
1762
+ readonly name: "token";
1763
+ readonly type: "address";
1764
+ readonly indexed: true;
1765
+ readonly internalType: "address";
1766
+ }];
1767
+ readonly anonymous: false;
1768
+ }, {
1769
+ readonly type: "event";
1770
+ readonly name: "Distributed";
1771
+ readonly inputs: readonly [{
1772
+ readonly name: "clankerToken";
1773
+ readonly type: "address";
1774
+ readonly indexed: true;
1775
+ readonly internalType: "address";
1776
+ }, {
1777
+ readonly name: "token";
1778
+ readonly type: "address";
1779
+ readonly indexed: true;
1780
+ readonly internalType: "address";
1781
+ }, {
1782
+ readonly name: "totalAmount";
1783
+ readonly type: "uint256";
1784
+ readonly indexed: false;
1785
+ readonly internalType: "uint256";
1786
+ }];
1787
+ readonly anonymous: false;
1788
+ }, {
1789
+ readonly type: "event";
1790
+ readonly name: "DustRecovered";
1791
+ readonly inputs: readonly [{
1792
+ readonly name: "token";
1793
+ readonly type: "address";
1794
+ readonly indexed: true;
1795
+ readonly internalType: "address";
1796
+ }, {
1797
+ readonly name: "to";
1798
+ readonly type: "address";
1799
+ readonly indexed: true;
1800
+ readonly internalType: "address";
1801
+ }, {
1802
+ readonly name: "amount";
1803
+ readonly type: "uint256";
1804
+ readonly indexed: false;
1805
+ readonly internalType: "uint256";
1806
+ }];
1807
+ readonly anonymous: false;
1808
+ }, {
1809
+ readonly type: "event";
1810
+ readonly name: "FeeDistributed";
1811
+ readonly inputs: readonly [{
1812
+ readonly name: "clankerToken";
1813
+ readonly type: "address";
1814
+ readonly indexed: true;
1815
+ readonly internalType: "address";
1816
+ }, {
1817
+ readonly name: "token";
1818
+ readonly type: "address";
1819
+ readonly indexed: true;
1820
+ readonly internalType: "address";
1821
+ }, {
1822
+ readonly name: "receiver";
1823
+ readonly type: "address";
1824
+ readonly indexed: true;
1825
+ readonly internalType: "address";
1826
+ }, {
1827
+ readonly name: "amount";
1828
+ readonly type: "uint256";
1829
+ readonly indexed: false;
1830
+ readonly internalType: "uint256";
1831
+ }];
1832
+ readonly anonymous: false;
1833
+ }, {
1834
+ readonly type: "event";
1835
+ readonly name: "SplitsConfigured";
1836
+ readonly inputs: readonly [{
1837
+ readonly name: "clankerToken";
1838
+ readonly type: "address";
1839
+ readonly indexed: true;
1840
+ readonly internalType: "address";
1841
+ }, {
1842
+ readonly name: "splits";
1843
+ readonly type: "tuple[]";
1844
+ readonly indexed: false;
1845
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
1846
+ readonly components: readonly [{
1847
+ readonly name: "receiver";
1848
+ readonly type: "address";
1849
+ readonly internalType: "address";
1850
+ }, {
1851
+ readonly name: "bps";
1852
+ readonly type: "uint16";
1853
+ readonly internalType: "uint16";
1854
+ }];
1855
+ }];
1856
+ readonly anonymous: false;
1857
+ }, {
1858
+ readonly type: "event";
1859
+ readonly name: "StakingDistribution";
1860
+ readonly inputs: readonly [{
1861
+ readonly name: "clankerToken";
1862
+ readonly type: "address";
1863
+ readonly indexed: true;
1864
+ readonly internalType: "address";
1865
+ }, {
1866
+ readonly name: "token";
1867
+ readonly type: "address";
1868
+ readonly indexed: true;
1869
+ readonly internalType: "address";
1870
+ }, {
1871
+ readonly name: "amount";
1872
+ readonly type: "uint256";
1873
+ readonly indexed: false;
1874
+ readonly internalType: "uint256";
1875
+ }];
1876
+ readonly anonymous: false;
1877
+ }, {
1878
+ readonly type: "error";
1879
+ readonly name: "ClankerMetadataNotFound";
1880
+ readonly inputs: readonly [];
1881
+ }, {
1882
+ readonly type: "error";
1883
+ readonly name: "DuplicateReceiver";
1884
+ readonly inputs: readonly [];
1885
+ }, {
1886
+ readonly type: "error";
1887
+ readonly name: "DuplicateStakingReceiver";
1888
+ readonly inputs: readonly [];
1889
+ }, {
1890
+ readonly type: "error";
1891
+ readonly name: "InvalidSplits";
1892
+ readonly inputs: readonly [];
1893
+ }, {
1894
+ readonly type: "error";
1895
+ readonly name: "InvalidTotalBps";
1896
+ readonly inputs: readonly [];
1897
+ }, {
1898
+ readonly type: "error";
1899
+ readonly name: "LpLockerNotConfigured";
1900
+ readonly inputs: readonly [];
1901
+ }, {
1902
+ readonly type: "error";
1903
+ readonly name: "NoPendingFees";
1904
+ readonly inputs: readonly [];
1905
+ }, {
1906
+ readonly type: "error";
1907
+ readonly name: "NoReceivers";
1908
+ readonly inputs: readonly [];
1909
+ }, {
1910
+ readonly type: "error";
1911
+ readonly name: "OnlyTokenAdmin";
1912
+ readonly inputs: readonly [];
1913
+ }, {
1914
+ readonly type: "error";
1915
+ readonly name: "ProjectNotRegistered";
1916
+ readonly inputs: readonly [];
1917
+ }, {
1918
+ readonly type: "error";
1919
+ readonly name: "ReentrancyGuardReentrantCall";
1920
+ readonly inputs: readonly [];
1921
+ }, {
1922
+ readonly type: "error";
1923
+ readonly name: "SafeERC20FailedOperation";
1924
+ readonly inputs: readonly [{
1925
+ readonly name: "token";
1926
+ readonly type: "address";
1927
+ readonly internalType: "address";
1928
+ }];
1929
+ }, {
1930
+ readonly type: "error";
1931
+ readonly name: "SplitsNotConfigured";
1932
+ readonly inputs: readonly [];
1933
+ }, {
1934
+ readonly type: "error";
1935
+ readonly name: "TooManyReceivers";
1936
+ readonly inputs: readonly [];
1937
+ }, {
1938
+ readonly type: "error";
1939
+ readonly name: "ZeroAddress";
1940
+ readonly inputs: readonly [];
1941
+ }, {
1942
+ readonly type: "error";
1943
+ readonly name: "ZeroBps";
1944
+ readonly inputs: readonly [];
1945
+ }];
1946
+ functionName: "getTotalBps";
1947
+ })[];
1948
+ /**
1949
+ * Parse static fee splitter data from multicall results
1950
+ * Returns null if splits are not configured
1951
+ */
1952
+ export declare function parseFeeSplitterStatic(results: [
1953
+ {
1954
+ result: boolean;
1955
+ status: 'success' | 'failure';
1956
+ },
1957
+ {
1958
+ result: SplitConfig[];
1959
+ status: 'success' | 'failure';
1960
+ },
1961
+ {
1962
+ result: bigint;
1963
+ status: 'success' | 'failure';
1964
+ }
1965
+ ], currentFeeRecipient?: `0x${string}`, feeSplitterAddress?: `0x${string}`): FeeSplitterStatic | null;
1966
+ /**
1967
+ * Get dynamic fee splitter contracts for multicall
1968
+ * Returns contracts for: pendingFees() for each reward token
1969
+ * Note: Fee splitter internally queries ClankerFeeLocker
1970
+ */
1971
+ export declare function getFeeSplitterDynamicContracts(clankerToken: `0x${string}`, feeSplitterAddress: `0x${string}`, rewardTokens: `0x${string}`[]): {
1972
+ address: `0x${string}`;
1973
+ abi: readonly [{
1974
+ readonly type: "constructor";
1975
+ readonly inputs: readonly [{
1976
+ readonly name: "clankerToken_";
1977
+ readonly type: "address";
1978
+ readonly internalType: "address";
1979
+ }, {
1980
+ readonly name: "factory_";
1981
+ readonly type: "address";
1982
+ readonly internalType: "address";
1983
+ }, {
1984
+ readonly name: "trustedForwarder_";
1985
+ readonly type: "address";
1986
+ readonly internalType: "address";
1987
+ }];
1988
+ readonly stateMutability: "nonpayable";
1989
+ }, {
1990
+ readonly type: "function";
1991
+ readonly name: "clankerToken";
1992
+ readonly inputs: readonly [];
1993
+ readonly outputs: readonly [{
1994
+ readonly name: "";
1995
+ readonly type: "address";
1996
+ readonly internalType: "address";
1997
+ }];
1998
+ readonly stateMutability: "view";
1999
+ }, {
2000
+ readonly type: "function";
2001
+ readonly name: "configureSplits";
2002
+ readonly inputs: readonly [{
2003
+ readonly name: "splits";
2004
+ readonly type: "tuple[]";
2005
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
2006
+ readonly components: readonly [{
2007
+ readonly name: "receiver";
2008
+ readonly type: "address";
2009
+ readonly internalType: "address";
2010
+ }, {
2011
+ readonly name: "bps";
2012
+ readonly type: "uint16";
2013
+ readonly internalType: "uint16";
2014
+ }];
2015
+ }];
2016
+ readonly outputs: readonly [];
2017
+ readonly stateMutability: "nonpayable";
2018
+ }, {
2019
+ readonly type: "function";
2020
+ readonly name: "distribute";
2021
+ readonly inputs: readonly [{
2022
+ readonly name: "rewardToken";
2023
+ readonly type: "address";
2024
+ readonly internalType: "address";
2025
+ }];
2026
+ readonly outputs: readonly [];
2027
+ readonly stateMutability: "nonpayable";
2028
+ }, {
2029
+ readonly type: "function";
2030
+ readonly name: "distributeBatch";
2031
+ readonly inputs: readonly [{
2032
+ readonly name: "rewardTokens";
2033
+ readonly type: "address[]";
2034
+ readonly internalType: "address[]";
2035
+ }];
2036
+ readonly outputs: readonly [];
2037
+ readonly stateMutability: "nonpayable";
2038
+ }, {
2039
+ readonly type: "function";
2040
+ readonly name: "factory";
2041
+ readonly inputs: readonly [];
2042
+ readonly outputs: readonly [{
2043
+ readonly name: "";
2044
+ readonly type: "address";
2045
+ readonly internalType: "address";
2046
+ }];
2047
+ readonly stateMutability: "view";
2048
+ }, {
2049
+ readonly type: "function";
2050
+ readonly name: "getDistributionState";
2051
+ readonly inputs: readonly [{
2052
+ readonly name: "rewardToken";
2053
+ readonly type: "address";
2054
+ readonly internalType: "address";
2055
+ }];
2056
+ readonly outputs: readonly [{
2057
+ readonly name: "state";
2058
+ readonly type: "tuple";
2059
+ readonly internalType: "struct ILevrFeeSplitter_v1.DistributionState";
2060
+ readonly components: readonly [{
2061
+ readonly name: "totalDistributed";
2062
+ readonly type: "uint256";
2063
+ readonly internalType: "uint256";
2064
+ }, {
2065
+ readonly name: "lastDistribution";
2066
+ readonly type: "uint256";
2067
+ readonly internalType: "uint256";
2068
+ }];
2069
+ }];
2070
+ readonly stateMutability: "view";
2071
+ }, {
2072
+ readonly type: "function";
2073
+ readonly name: "getSplits";
2074
+ readonly inputs: readonly [];
2075
+ readonly outputs: readonly [{
2076
+ readonly name: "splits";
2077
+ readonly type: "tuple[]";
2078
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
2079
+ readonly components: readonly [{
2080
+ readonly name: "receiver";
2081
+ readonly type: "address";
2082
+ readonly internalType: "address";
2083
+ }, {
2084
+ readonly name: "bps";
2085
+ readonly type: "uint16";
2086
+ readonly internalType: "uint16";
2087
+ }];
2088
+ }];
2089
+ readonly stateMutability: "view";
2090
+ }, {
2091
+ readonly type: "function";
2092
+ readonly name: "getStakingAddress";
2093
+ readonly inputs: readonly [];
2094
+ readonly outputs: readonly [{
2095
+ readonly name: "staking";
2096
+ readonly type: "address";
2097
+ readonly internalType: "address";
2098
+ }];
2099
+ readonly stateMutability: "view";
2100
+ }, {
2101
+ readonly type: "function";
2102
+ readonly name: "getTotalBps";
2103
+ readonly inputs: readonly [];
2104
+ readonly outputs: readonly [{
2105
+ readonly name: "totalBps";
2106
+ readonly type: "uint256";
2107
+ readonly internalType: "uint256";
2108
+ }];
2109
+ readonly stateMutability: "view";
2110
+ }, {
2111
+ readonly type: "function";
2112
+ readonly name: "isSplitsConfigured";
2113
+ readonly inputs: readonly [];
2114
+ readonly outputs: readonly [{
2115
+ readonly name: "configured";
2116
+ readonly type: "bool";
2117
+ readonly internalType: "bool";
2118
+ }];
2119
+ readonly stateMutability: "view";
2120
+ }, {
2121
+ readonly type: "function";
2122
+ readonly name: "isTrustedForwarder";
2123
+ readonly inputs: readonly [{
2124
+ readonly name: "forwarder";
2125
+ readonly type: "address";
2126
+ readonly internalType: "address";
2127
+ }];
2128
+ readonly outputs: readonly [{
2129
+ readonly name: "";
2130
+ readonly type: "bool";
2131
+ readonly internalType: "bool";
2132
+ }];
2133
+ readonly stateMutability: "view";
2134
+ }, {
2135
+ readonly type: "function";
2136
+ readonly name: "pendingFees";
2137
+ readonly inputs: readonly [{
2138
+ readonly name: "rewardToken";
2139
+ readonly type: "address";
2140
+ readonly internalType: "address";
2141
+ }];
2142
+ readonly outputs: readonly [{
2143
+ readonly name: "pending";
2144
+ readonly type: "uint256";
2145
+ readonly internalType: "uint256";
2146
+ }];
2147
+ readonly stateMutability: "view";
2148
+ }, {
2149
+ readonly type: "function";
2150
+ readonly name: "pendingFeesInclBalance";
2151
+ readonly inputs: readonly [{
2152
+ readonly name: "rewardToken";
2153
+ readonly type: "address";
2154
+ readonly internalType: "address";
2155
+ }];
2156
+ readonly outputs: readonly [{
2157
+ readonly name: "pending";
2158
+ readonly type: "uint256";
2159
+ readonly internalType: "uint256";
2160
+ }];
2161
+ readonly stateMutability: "view";
2162
+ }, {
2163
+ readonly type: "function";
2164
+ readonly name: "recoverDust";
2165
+ readonly inputs: readonly [{
2166
+ readonly name: "token";
2167
+ readonly type: "address";
2168
+ readonly internalType: "address";
2169
+ }, {
2170
+ readonly name: "to";
2171
+ readonly type: "address";
2172
+ readonly internalType: "address";
2173
+ }];
2174
+ readonly outputs: readonly [];
2175
+ readonly stateMutability: "nonpayable";
2176
+ }, {
2177
+ readonly type: "function";
2178
+ readonly name: "trustedForwarder";
2179
+ readonly inputs: readonly [];
2180
+ readonly outputs: readonly [{
2181
+ readonly name: "";
2182
+ readonly type: "address";
2183
+ readonly internalType: "address";
2184
+ }];
2185
+ readonly stateMutability: "view";
2186
+ }, {
2187
+ readonly type: "event";
2188
+ readonly name: "AutoAccrualFailed";
2189
+ readonly inputs: readonly [{
2190
+ readonly name: "clankerToken";
2191
+ readonly type: "address";
2192
+ readonly indexed: true;
2193
+ readonly internalType: "address";
2194
+ }, {
2195
+ readonly name: "token";
2196
+ readonly type: "address";
2197
+ readonly indexed: true;
2198
+ readonly internalType: "address";
2199
+ }];
2200
+ readonly anonymous: false;
2201
+ }, {
2202
+ readonly type: "event";
2203
+ readonly name: "AutoAccrualSuccess";
2204
+ readonly inputs: readonly [{
2205
+ readonly name: "clankerToken";
2206
+ readonly type: "address";
2207
+ readonly indexed: true;
2208
+ readonly internalType: "address";
2209
+ }, {
2210
+ readonly name: "token";
2211
+ readonly type: "address";
2212
+ readonly indexed: true;
2213
+ readonly internalType: "address";
2214
+ }];
2215
+ readonly anonymous: false;
2216
+ }, {
2217
+ readonly type: "event";
2218
+ readonly name: "Distributed";
2219
+ readonly inputs: readonly [{
2220
+ readonly name: "clankerToken";
2221
+ readonly type: "address";
2222
+ readonly indexed: true;
2223
+ readonly internalType: "address";
2224
+ }, {
2225
+ readonly name: "token";
2226
+ readonly type: "address";
2227
+ readonly indexed: true;
2228
+ readonly internalType: "address";
2229
+ }, {
2230
+ readonly name: "totalAmount";
2231
+ readonly type: "uint256";
2232
+ readonly indexed: false;
2233
+ readonly internalType: "uint256";
2234
+ }];
2235
+ readonly anonymous: false;
2236
+ }, {
2237
+ readonly type: "event";
2238
+ readonly name: "DustRecovered";
2239
+ readonly inputs: readonly [{
2240
+ readonly name: "token";
2241
+ readonly type: "address";
2242
+ readonly indexed: true;
2243
+ readonly internalType: "address";
2244
+ }, {
2245
+ readonly name: "to";
2246
+ readonly type: "address";
2247
+ readonly indexed: true;
2248
+ readonly internalType: "address";
2249
+ }, {
2250
+ readonly name: "amount";
2251
+ readonly type: "uint256";
2252
+ readonly indexed: false;
2253
+ readonly internalType: "uint256";
2254
+ }];
2255
+ readonly anonymous: false;
2256
+ }, {
2257
+ readonly type: "event";
2258
+ readonly name: "FeeDistributed";
2259
+ readonly inputs: readonly [{
2260
+ readonly name: "clankerToken";
2261
+ readonly type: "address";
2262
+ readonly indexed: true;
2263
+ readonly internalType: "address";
2264
+ }, {
2265
+ readonly name: "token";
2266
+ readonly type: "address";
2267
+ readonly indexed: true;
2268
+ readonly internalType: "address";
2269
+ }, {
2270
+ readonly name: "receiver";
2271
+ readonly type: "address";
2272
+ readonly indexed: true;
2273
+ readonly internalType: "address";
2274
+ }, {
2275
+ readonly name: "amount";
2276
+ readonly type: "uint256";
2277
+ readonly indexed: false;
2278
+ readonly internalType: "uint256";
2279
+ }];
2280
+ readonly anonymous: false;
2281
+ }, {
2282
+ readonly type: "event";
2283
+ readonly name: "SplitsConfigured";
2284
+ readonly inputs: readonly [{
2285
+ readonly name: "clankerToken";
2286
+ readonly type: "address";
2287
+ readonly indexed: true;
2288
+ readonly internalType: "address";
2289
+ }, {
2290
+ readonly name: "splits";
2291
+ readonly type: "tuple[]";
2292
+ readonly indexed: false;
2293
+ readonly internalType: "struct ILevrFeeSplitter_v1.SplitConfig[]";
2294
+ readonly components: readonly [{
2295
+ readonly name: "receiver";
2296
+ readonly type: "address";
2297
+ readonly internalType: "address";
2298
+ }, {
2299
+ readonly name: "bps";
2300
+ readonly type: "uint16";
2301
+ readonly internalType: "uint16";
2302
+ }];
2303
+ }];
2304
+ readonly anonymous: false;
2305
+ }, {
2306
+ readonly type: "event";
2307
+ readonly name: "StakingDistribution";
2308
+ readonly inputs: readonly [{
2309
+ readonly name: "clankerToken";
2310
+ readonly type: "address";
2311
+ readonly indexed: true;
2312
+ readonly internalType: "address";
2313
+ }, {
2314
+ readonly name: "token";
2315
+ readonly type: "address";
2316
+ readonly indexed: true;
2317
+ readonly internalType: "address";
2318
+ }, {
2319
+ readonly name: "amount";
2320
+ readonly type: "uint256";
2321
+ readonly indexed: false;
2322
+ readonly internalType: "uint256";
2323
+ }];
2324
+ readonly anonymous: false;
2325
+ }, {
2326
+ readonly type: "error";
2327
+ readonly name: "ClankerMetadataNotFound";
2328
+ readonly inputs: readonly [];
2329
+ }, {
2330
+ readonly type: "error";
2331
+ readonly name: "DuplicateReceiver";
2332
+ readonly inputs: readonly [];
2333
+ }, {
2334
+ readonly type: "error";
2335
+ readonly name: "DuplicateStakingReceiver";
2336
+ readonly inputs: readonly [];
2337
+ }, {
2338
+ readonly type: "error";
2339
+ readonly name: "InvalidSplits";
2340
+ readonly inputs: readonly [];
2341
+ }, {
2342
+ readonly type: "error";
2343
+ readonly name: "InvalidTotalBps";
2344
+ readonly inputs: readonly [];
2345
+ }, {
2346
+ readonly type: "error";
2347
+ readonly name: "LpLockerNotConfigured";
2348
+ readonly inputs: readonly [];
2349
+ }, {
2350
+ readonly type: "error";
2351
+ readonly name: "NoPendingFees";
2352
+ readonly inputs: readonly [];
2353
+ }, {
2354
+ readonly type: "error";
2355
+ readonly name: "NoReceivers";
2356
+ readonly inputs: readonly [];
2357
+ }, {
2358
+ readonly type: "error";
2359
+ readonly name: "OnlyTokenAdmin";
2360
+ readonly inputs: readonly [];
2361
+ }, {
2362
+ readonly type: "error";
2363
+ readonly name: "ProjectNotRegistered";
2364
+ readonly inputs: readonly [];
2365
+ }, {
2366
+ readonly type: "error";
2367
+ readonly name: "ReentrancyGuardReentrantCall";
2368
+ readonly inputs: readonly [];
2369
+ }, {
2370
+ readonly type: "error";
2371
+ readonly name: "SafeERC20FailedOperation";
2372
+ readonly inputs: readonly [{
2373
+ readonly name: "token";
2374
+ readonly type: "address";
2375
+ readonly internalType: "address";
2376
+ }];
2377
+ }, {
2378
+ readonly type: "error";
2379
+ readonly name: "SplitsNotConfigured";
2380
+ readonly inputs: readonly [];
2381
+ }, {
2382
+ readonly type: "error";
2383
+ readonly name: "TooManyReceivers";
2384
+ readonly inputs: readonly [];
2385
+ }, {
2386
+ readonly type: "error";
2387
+ readonly name: "ZeroAddress";
2388
+ readonly inputs: readonly [];
2389
+ }, {
2390
+ readonly type: "error";
2391
+ readonly name: "ZeroBps";
2392
+ readonly inputs: readonly [];
2393
+ }];
2394
+ functionName: "pendingFees";
2395
+ args: `0x${string}`[];
2396
+ }[];
2397
+ /**
2398
+ * Parse dynamic fee splitter data from multicall results
2399
+ * Maps pending fees results to { token, weth } structure
568
2400
  */
569
- export declare function updateFeeReceiver({ walletClient, clankerToken, chainId, rewardIndex, newRecipient, }: UpdateFeeReceiverParams): Promise<`0x${string}`>;
2401
+ export declare function parseFeeSplitterDynamic(results: Array<{
2402
+ result: bigint;
2403
+ status: 'success' | 'failure';
2404
+ }>, wethAddress?: `0x${string}`): FeeSplitterDynamic;
570
2405
  //# sourceMappingURL=fee-receivers.d.ts.map