@suzaku-network/suzaku-cli 1.0.2

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 (194) hide show
  1. package/LICENSE +96 -0
  2. package/README.md +1080 -0
  3. package/bin/cli.js +3 -0
  4. package/defaults/.env.anvil +4 -0
  5. package/defaults/.env.dexalot +7 -0
  6. package/defaults/.env.fuji +4 -0
  7. package/defaults/.env.kiteai +2 -0
  8. package/defaults/.env.mainnet +4 -0
  9. package/defaults/.env.template +10 -0
  10. package/dist/abis/AccessControl.d.ts +176 -0
  11. package/dist/abis/AccessControl.js +230 -0
  12. package/dist/abis/AccessControl.js.map +1 -0
  13. package/dist/abis/BalancerValidatorManager.d.ts +1121 -0
  14. package/dist/abis/BalancerValidatorManager.js +1469 -0
  15. package/dist/abis/BalancerValidatorManager.js.map +1 -0
  16. package/dist/abis/DefaultCollateral.d.ts +620 -0
  17. package/dist/abis/DefaultCollateral.js +811 -0
  18. package/dist/abis/DefaultCollateral.js.map +1 -0
  19. package/dist/abis/ERC20.d.ts +635 -0
  20. package/dist/abis/ERC20.js +831 -0
  21. package/dist/abis/ERC20.js.map +1 -0
  22. package/dist/abis/IWarpMessenger.d.ts +104 -0
  23. package/dist/abis/IWarpMessenger.js +139 -0
  24. package/dist/abis/IWarpMessenger.js.map +1 -0
  25. package/dist/abis/KiteStakingManager.d.ts +1459 -0
  26. package/dist/abis/KiteStakingManager.js +1886 -0
  27. package/dist/abis/KiteStakingManager.js.map +1 -0
  28. package/dist/abis/L1Middleware.d.ts +1712 -0
  29. package/dist/abis/L1Middleware.js +2242 -0
  30. package/dist/abis/L1Middleware.js.map +1 -0
  31. package/dist/abis/L1Registry.d.ts +415 -0
  32. package/dist/abis/L1Registry.js +544 -0
  33. package/dist/abis/L1Registry.js.map +1 -0
  34. package/dist/abis/L1RestakeDelegator.d.ts +865 -0
  35. package/dist/abis/L1RestakeDelegator.js +1118 -0
  36. package/dist/abis/L1RestakeDelegator.js.map +1 -0
  37. package/dist/abis/OperatorL1OptInService.d.ts +288 -0
  38. package/dist/abis/OperatorL1OptInService.js +374 -0
  39. package/dist/abis/OperatorL1OptInService.js.map +1 -0
  40. package/dist/abis/OperatorRegistry.d.ts +125 -0
  41. package/dist/abis/OperatorRegistry.js +166 -0
  42. package/dist/abis/OperatorRegistry.js.map +1 -0
  43. package/dist/abis/OperatorVaultOptInService.d.ts +288 -0
  44. package/dist/abis/OperatorVaultOptInService.js +374 -0
  45. package/dist/abis/OperatorVaultOptInService.js.map +1 -0
  46. package/dist/abis/Ownable.d.ts +59 -0
  47. package/dist/abis/Ownable.js +79 -0
  48. package/dist/abis/Ownable.js.map +1 -0
  49. package/dist/abis/PoASecurityModule.d.ts +225 -0
  50. package/dist/abis/PoASecurityModule.js +299 -0
  51. package/dist/abis/PoASecurityModule.js.map +1 -0
  52. package/dist/abis/RewardsNativeToken.d.ts +1334 -0
  53. package/dist/abis/RewardsNativeToken.js +1749 -0
  54. package/dist/abis/RewardsNativeToken.js.map +1 -0
  55. package/dist/abis/StakingVault.d.ts +2913 -0
  56. package/dist/abis/StakingVault.js +3780 -0
  57. package/dist/abis/StakingVault.js.map +1 -0
  58. package/dist/abis/StakingVaultOperations.d.ts +980 -0
  59. package/dist/abis/StakingVaultOperations.js +1270 -0
  60. package/dist/abis/StakingVaultOperations.js.map +1 -0
  61. package/dist/abis/UptimeTracker.d.ts +300 -0
  62. package/dist/abis/UptimeTracker.js +397 -0
  63. package/dist/abis/UptimeTracker.js.map +1 -0
  64. package/dist/abis/ValidatorManager.d.ts +842 -0
  65. package/dist/abis/ValidatorManager.js +1101 -0
  66. package/dist/abis/ValidatorManager.js.map +1 -0
  67. package/dist/abis/VaultFactory.d.ts +288 -0
  68. package/dist/abis/VaultFactory.js +378 -0
  69. package/dist/abis/VaultFactory.js.map +1 -0
  70. package/dist/abis/VaultManager.d.ts +519 -0
  71. package/dist/abis/VaultManager.js +678 -0
  72. package/dist/abis/VaultManager.js.map +1 -0
  73. package/dist/abis/VaultTokenized.d.ts +1626 -0
  74. package/dist/abis/VaultTokenized.js +2114 -0
  75. package/dist/abis/VaultTokenized.js.map +1 -0
  76. package/dist/abis/abi-selectors.json +700 -0
  77. package/dist/abis/index.d.ts +18356 -0
  78. package/dist/abis/index.js +58 -0
  79. package/dist/abis/index.js.map +1 -0
  80. package/dist/accessControl.d.ts +15 -0
  81. package/dist/accessControl.js +36 -0
  82. package/dist/accessControl.js.map +1 -0
  83. package/dist/balancer.d.ts +25 -0
  84. package/dist/balancer.js +42 -0
  85. package/dist/balancer.js.map +1 -0
  86. package/dist/cli.d.mts +1 -0
  87. package/dist/cli.d.ts +2 -0
  88. package/dist/cli.js +3183 -0
  89. package/dist/cli.js.map +1 -0
  90. package/dist/cli.mjs +31343 -0
  91. package/dist/cli.mjs.map +1 -0
  92. package/dist/client.d.ts +34 -0
  93. package/dist/client.js +76 -0
  94. package/dist/client.js.map +1 -0
  95. package/dist/config.d.ts +10 -0
  96. package/dist/config.js +63 -0
  97. package/dist/config.js.map +1 -0
  98. package/dist/delegator.d.ts +4 -0
  99. package/dist/delegator.js +16 -0
  100. package/dist/delegator.js.map +1 -0
  101. package/dist/index.d.mts +19770 -0
  102. package/dist/index.d.ts +7 -0
  103. package/dist/index.js +24 -0
  104. package/dist/index.js.map +1 -0
  105. package/dist/index.mjs +27451 -0
  106. package/dist/index.mjs.map +1 -0
  107. package/dist/keyStore.d.ts +3 -0
  108. package/dist/keyStore.js +105 -0
  109. package/dist/keyStore.js.map +1 -0
  110. package/dist/kiteStaking.d.ts +91 -0
  111. package/dist/kiteStaking.js +731 -0
  112. package/dist/kiteStaking.js.map +1 -0
  113. package/dist/l1.d.ts +5 -0
  114. package/dist/l1.js +22 -0
  115. package/dist/l1.js.map +1 -0
  116. package/dist/lib/autoCompletion.d.ts +3 -0
  117. package/dist/lib/autoCompletion.js +55 -0
  118. package/dist/lib/autoCompletion.js.map +1 -0
  119. package/dist/lib/cChainUtils.d.ts +42 -0
  120. package/dist/lib/cChainUtils.js +271 -0
  121. package/dist/lib/cChainUtils.js.map +1 -0
  122. package/dist/lib/castUtils.d.ts +18 -0
  123. package/dist/lib/castUtils.js +81 -0
  124. package/dist/lib/castUtils.js.map +1 -0
  125. package/dist/lib/chainList.d.ts +5 -0
  126. package/dist/lib/chainList.js +86 -0
  127. package/dist/lib/chainList.js.map +1 -0
  128. package/dist/lib/cliParser.d.ts +27 -0
  129. package/dist/lib/cliParser.js +167 -0
  130. package/dist/lib/cliParser.js.map +1 -0
  131. package/dist/lib/commandUtils.d.ts +13 -0
  132. package/dist/lib/commandUtils.js +38 -0
  133. package/dist/lib/commandUtils.js.map +1 -0
  134. package/dist/lib/coreWalletUtils.d.ts +3 -0
  135. package/dist/lib/coreWalletUtils.js +74 -0
  136. package/dist/lib/coreWalletUtils.js.map +1 -0
  137. package/dist/lib/justification.d.ts +90 -0
  138. package/dist/lib/justification.js +577 -0
  139. package/dist/lib/justification.js.map +1 -0
  140. package/dist/lib/ledgerUtils.d.ts +4 -0
  141. package/dist/lib/ledgerUtils.js +258 -0
  142. package/dist/lib/ledgerUtils.js.map +1 -0
  143. package/dist/lib/logger.d.ts +46 -0
  144. package/dist/lib/logger.js +226 -0
  145. package/dist/lib/logger.js.map +1 -0
  146. package/dist/lib/pChainUtils.d.ts +128 -0
  147. package/dist/lib/pChainUtils.js +436 -0
  148. package/dist/lib/pChainUtils.js.map +1 -0
  149. package/dist/lib/pass.d.ts +81 -0
  150. package/dist/lib/pass.js +353 -0
  151. package/dist/lib/pass.js.map +1 -0
  152. package/dist/lib/safeUtils.d.ts +25 -0
  153. package/dist/lib/safeUtils.js +93 -0
  154. package/dist/lib/safeUtils.js.map +1 -0
  155. package/dist/lib/transferUtils.d.ts +643 -0
  156. package/dist/lib/transferUtils.js +141 -0
  157. package/dist/lib/transferUtils.js.map +1 -0
  158. package/dist/lib/utils.d.ts +28 -0
  159. package/dist/lib/utils.js +166 -0
  160. package/dist/lib/utils.js.map +1 -0
  161. package/dist/lib/viemUtils.d.ts +80 -0
  162. package/dist/lib/viemUtils.js +317 -0
  163. package/dist/lib/viemUtils.js.map +1 -0
  164. package/dist/lib/warpUtils.d.ts +76 -0
  165. package/dist/lib/warpUtils.js +448 -0
  166. package/dist/lib/warpUtils.js.map +1 -0
  167. package/dist/middleware.d.ts +75 -0
  168. package/dist/middleware.js +430 -0
  169. package/dist/middleware.js.map +1 -0
  170. package/dist/operator.d.ts +4 -0
  171. package/dist/operator.js +22 -0
  172. package/dist/operator.js.map +1 -0
  173. package/dist/operatorOptIn.d.ts +8 -0
  174. package/dist/operatorOptIn.js +39 -0
  175. package/dist/operatorOptIn.js.map +1 -0
  176. package/dist/rewards.d.ts +116 -0
  177. package/dist/rewards.js +244 -0
  178. package/dist/rewards.js.map +1 -0
  179. package/dist/securityModule.d.ts +8 -0
  180. package/dist/securityModule.js +305 -0
  181. package/dist/securityModule.js.map +1 -0
  182. package/dist/stakingVault.d.ts +184 -0
  183. package/dist/stakingVault.js +1224 -0
  184. package/dist/stakingVault.js.map +1 -0
  185. package/dist/uptime.d.ts +54 -0
  186. package/dist/uptime.js +246 -0
  187. package/dist/uptime.js.map +1 -0
  188. package/dist/vault.d.ts +16 -0
  189. package/dist/vault.js +131 -0
  190. package/dist/vault.js.map +1 -0
  191. package/dist/vaultManager.d.ts +8 -0
  192. package/dist/vaultManager.js +40 -0
  193. package/dist/vaultManager.js.map +1 -0
  194. package/package.json +62 -0
@@ -0,0 +1,116 @@
1
+ import { SafeSuzakuContract, SuzakuContract } from './lib/viemUtils';
2
+ import type { Hex, Account } from 'viem';
3
+ import { Config } from './config';
4
+ import { ExtendedPublicClient } from './client';
5
+ /**
6
+ * Distributes rewards for a specific epoch
7
+ */
8
+ export declare function distributeRewards(rewards: SafeSuzakuContract['RewardsNativeToken'], epoch: number, batchSize: number): Promise<`0x${string}`>;
9
+ export declare function getRewardsClaimsCount(rewards: SuzakuContract['RewardsNativeToken'], config: Config<ExtendedPublicClient>, role: 'Staker' | 'Operator' | 'Curator', account: Account): Promise<number>;
10
+ /**
11
+ * Claims rewards for a staker
12
+ */
13
+ export declare function claimRewards(rewards: SafeSuzakuContract['RewardsNativeToken'], recipient: Hex): Promise<`0x${string}`>;
14
+ /**
15
+ * Claims operator fees
16
+ */
17
+ export declare function claimOperatorFee(rewards: SafeSuzakuContract['RewardsNativeToken'], recipient: Hex): Promise<`0x${string}`>;
18
+ /**
19
+ * Claims curator fees
20
+ */
21
+ export declare function claimCuratorFee(rewards: SafeSuzakuContract['RewardsNativeToken'], recipient: Hex): Promise<`0x${string}`>;
22
+ /**
23
+ * Claims protocol fees
24
+ */
25
+ export declare function claimProtocolFee(rewards: SafeSuzakuContract['RewardsNativeToken'], recipient: Hex): Promise<`0x${string}`>;
26
+ /**
27
+ * Claims undistributed rewards
28
+ */
29
+ export declare function claimUndistributedRewards(rewards: SafeSuzakuContract['RewardsNativeToken'], epoch: number, recipient: Hex): Promise<`0x${string}`>;
30
+ /**
31
+ * Sets rewards amount for epochs
32
+ */
33
+ export declare function setRewardsAmountForEpochs(rewards: SafeSuzakuContract['RewardsNativeToken'], startEpoch: number, numberOfEpochs: number, rewardsAmount: bigint): Promise<`0x${string}`>;
34
+ /**
35
+ * Sets rewards share for collateral class
36
+ */
37
+ export declare function setRewardsBipsForCollateralClass(rewards: SafeSuzakuContract['RewardsNativeToken'], collateralClass: bigint, bips: number): Promise<`0x${string}`>;
38
+ /**
39
+ * Sets minimum required uptime
40
+ */
41
+ export declare function setMinRequiredUptime(rewards: SafeSuzakuContract['RewardsNativeToken'], minUptime: bigint): Promise<`0x${string}`>;
42
+ /**
43
+ * Sets protocol owner
44
+ */
45
+ export declare function setProtocolOwner(rewards: SafeSuzakuContract['RewardsNativeToken'], newOwner: Hex): Promise<`0x${string}`>;
46
+ /**
47
+ * Updates protocol fee
48
+ */
49
+ export declare function updateProtocolFee(rewards: SafeSuzakuContract['RewardsNativeToken'], newFee: number): Promise<`0x${string}`>;
50
+ /**
51
+ * Updates operator fee
52
+ */
53
+ export declare function updateOperatorFee(rewards: SafeSuzakuContract['RewardsNativeToken'], newFee: number): Promise<`0x${string}`>;
54
+ /**
55
+ * Updates curator fee
56
+ */
57
+ export declare function updateCuratorFee(rewards: SafeSuzakuContract['RewardsNativeToken'], newFee: number): Promise<`0x${string}`>;
58
+ /**
59
+ * Updates all fees at once to avoid order dependency issues
60
+ */
61
+ export declare function updateAllFees(rewards: SafeSuzakuContract['RewardsNativeToken'], newProtocolFee: number, newOperatorFee: number, newCuratorFee: number): Promise<`0x${string}`>;
62
+ /**
63
+ * Gets rewards amount for a specific token from epoch
64
+ */
65
+ export declare function getEpochRewards(rewards: SuzakuContract['RewardsNativeToken'], epoch: number): Promise<bigint>;
66
+ /**
67
+ * Gets operator shares for a specific epoch
68
+ */
69
+ export declare function getOperatorShares(rewards: SuzakuContract['RewardsNativeToken'], epoch: number, operator: Hex): Promise<bigint>;
70
+ /**
71
+ * Gets vault shares for a specific epoch
72
+ */
73
+ export declare function getVaultShares(rewards: SuzakuContract['RewardsNativeToken'], epoch: number, vault: Hex): Promise<bigint>;
74
+ /**
75
+ * Gets curator shares for a specific epoch
76
+ */
77
+ export declare function getCuratorShares(rewards: SuzakuContract['RewardsNativeToken'], epoch: number, curator: Hex): Promise<bigint>;
78
+ /**
79
+ * Gets protocol rewards for a token
80
+ */
81
+ export declare function getProtocolRewards(rewards: SuzakuContract['RewardsNativeToken']): Promise<bigint>;
82
+ /**
83
+ * Gets distribution batch status for an epoch
84
+ */
85
+ export declare function getDistributionBatch(rewards: SuzakuContract['RewardsNativeToken'], epoch: number): Promise<{
86
+ lastProcessedOperator: bigint;
87
+ isComplete: boolean;
88
+ }>;
89
+ /**
90
+ * Gets current fees configuration
91
+ */
92
+ export declare function getFeesConfiguration(rewards: SuzakuContract['RewardsNativeToken']): Promise<{
93
+ protocolFee: number;
94
+ operatorFee: number;
95
+ curatorFee: number;
96
+ }>;
97
+ /**
98
+ * Gets rewards bips for collateral class
99
+ */
100
+ export declare function getRewardsBipsForCollateralClass(rewards: SuzakuContract['RewardsNativeToken'], collateralClass: bigint): Promise<number>;
101
+ /**
102
+ * Gets min required uptime
103
+ */
104
+ export declare function getMinRequiredUptime(rewards: SuzakuContract['RewardsNativeToken']): Promise<bigint>;
105
+ /**
106
+ * Gets last claimed epoch for a staker
107
+ */
108
+ export declare function getLastEpochClaimedStaker(rewards: SuzakuContract['RewardsNativeToken'], staker: Hex): Promise<number>;
109
+ /**
110
+ * Gets last claimed epoch for an operator
111
+ */
112
+ export declare function getLastEpochClaimedOperator(rewards: SuzakuContract['RewardsNativeToken'], operator: Hex): Promise<number>;
113
+ /**
114
+ * Gets last claimed epoch for a curator
115
+ */
116
+ export declare function getLastEpochClaimedCurator(rewards: SuzakuContract['RewardsNativeToken'], curator: Hex): Promise<number>;
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.distributeRewards = distributeRewards;
4
+ exports.getRewardsClaimsCount = getRewardsClaimsCount;
5
+ exports.claimRewards = claimRewards;
6
+ exports.claimOperatorFee = claimOperatorFee;
7
+ exports.claimCuratorFee = claimCuratorFee;
8
+ exports.claimProtocolFee = claimProtocolFee;
9
+ exports.claimUndistributedRewards = claimUndistributedRewards;
10
+ exports.setRewardsAmountForEpochs = setRewardsAmountForEpochs;
11
+ exports.setRewardsBipsForCollateralClass = setRewardsBipsForCollateralClass;
12
+ exports.setMinRequiredUptime = setMinRequiredUptime;
13
+ exports.setProtocolOwner = setProtocolOwner;
14
+ exports.updateProtocolFee = updateProtocolFee;
15
+ exports.updateOperatorFee = updateOperatorFee;
16
+ exports.updateCuratorFee = updateCuratorFee;
17
+ exports.updateAllFees = updateAllFees;
18
+ exports.getEpochRewards = getEpochRewards;
19
+ exports.getOperatorShares = getOperatorShares;
20
+ exports.getVaultShares = getVaultShares;
21
+ exports.getCuratorShares = getCuratorShares;
22
+ exports.getProtocolRewards = getProtocolRewards;
23
+ exports.getDistributionBatch = getDistributionBatch;
24
+ exports.getFeesConfiguration = getFeesConfiguration;
25
+ exports.getRewardsBipsForCollateralClass = getRewardsBipsForCollateralClass;
26
+ exports.getMinRequiredUptime = getMinRequiredUptime;
27
+ exports.getLastEpochClaimedStaker = getLastEpochClaimedStaker;
28
+ exports.getLastEpochClaimedOperator = getLastEpochClaimedOperator;
29
+ exports.getLastEpochClaimedCurator = getLastEpochClaimedCurator;
30
+ const logger_1 = require("./lib/logger");
31
+ /**
32
+ * Distributes rewards for a specific epoch
33
+ */
34
+ async function distributeRewards(rewards, epoch, batchSize) {
35
+ const txHash = await rewards.safeWrite.distributeRewards([epoch, batchSize]);
36
+ return txHash;
37
+ }
38
+ async function getRewardsClaimsCount(rewards, config, role, account) {
39
+ const [lastEpoch, middlewareAddress, maxEpochPerClaim] = await Promise.all([
40
+ rewards.read[`lastEpochClaimed${role}`]([account.address]),
41
+ rewards.read.middleware(),
42
+ rewards.read.MAX_EPOCHS_PER_CLAIM()
43
+ ]);
44
+ const middleware = await config.contracts.L1Middleware(middlewareAddress);
45
+ const epoch = await middleware.read.getCurrentEpoch();
46
+ return Math.ceil((epoch - lastEpoch) / maxEpochPerClaim);
47
+ }
48
+ /**
49
+ * Claims rewards for a staker
50
+ */
51
+ async function claimRewards(rewards, recipient) {
52
+ const txHash = await rewards.safeWrite.claimRewards([recipient]);
53
+ return txHash;
54
+ }
55
+ /**
56
+ * Claims operator fees
57
+ */
58
+ async function claimOperatorFee(rewards, recipient) {
59
+ const txHash = await rewards.safeWrite.claimOperatorFee([recipient]);
60
+ return txHash;
61
+ }
62
+ /**
63
+ * Claims curator fees
64
+ */
65
+ async function claimCuratorFee(rewards, recipient) {
66
+ const txHash = await rewards.safeWrite.claimCuratorFee([recipient]);
67
+ return txHash;
68
+ }
69
+ /**
70
+ * Claims protocol fees
71
+ */
72
+ async function claimProtocolFee(rewards, recipient) {
73
+ const txHash = await rewards.safeWrite.claimProtocolFee([recipient]);
74
+ return txHash;
75
+ }
76
+ /**
77
+ * Claims undistributed rewards
78
+ */
79
+ async function claimUndistributedRewards(rewards, epoch, recipient) {
80
+ const txHash = await rewards.safeWrite.claimUndistributedRewards([epoch, recipient]);
81
+ return txHash;
82
+ }
83
+ /**
84
+ * Sets rewards amount for epochs
85
+ */
86
+ async function setRewardsAmountForEpochs(rewards, startEpoch, numberOfEpochs, rewardsAmount) {
87
+ const txHash = await rewards.safeWrite.setRewardsAmountForEpochs([startEpoch, numberOfEpochs, rewardsAmount]);
88
+ return txHash;
89
+ }
90
+ /**
91
+ * Sets rewards share for collateral class
92
+ */
93
+ async function setRewardsBipsForCollateralClass(rewards, collateralClass, bips) {
94
+ const txHash = await rewards.safeWrite.setRewardsBipsForCollateralClass([collateralClass, bips]);
95
+ return txHash;
96
+ }
97
+ /**
98
+ * Sets minimum required uptime
99
+ */
100
+ async function setMinRequiredUptime(rewards, minUptime) {
101
+ const txHash = await rewards.safeWrite.setMinRequiredUptime([minUptime]);
102
+ return txHash;
103
+ }
104
+ /**
105
+ * Sets protocol owner
106
+ */
107
+ async function setProtocolOwner(rewards, newOwner) {
108
+ const txHash = await rewards.safeWrite.setProtocolOwner([newOwner]);
109
+ return txHash;
110
+ }
111
+ /**
112
+ * Updates protocol fee
113
+ */
114
+ async function updateProtocolFee(rewards, newFee) {
115
+ const txHash = await rewards.safeWrite.updateProtocolFee([newFee]);
116
+ return txHash;
117
+ }
118
+ /**
119
+ * Updates operator fee
120
+ */
121
+ async function updateOperatorFee(rewards, newFee) {
122
+ const txHash = await rewards.safeWrite.updateOperatorFee([newFee]);
123
+ return txHash;
124
+ }
125
+ /**
126
+ * Updates curator fee
127
+ */
128
+ async function updateCuratorFee(rewards, newFee) {
129
+ const txHash = await rewards.safeWrite.updateCuratorFee([newFee]);
130
+ return txHash;
131
+ }
132
+ /**
133
+ * Updates all fees at once to avoid order dependency issues
134
+ */
135
+ async function updateAllFees(rewards, newProtocolFee, newOperatorFee, newCuratorFee) {
136
+ const txHash = await rewards.safeWrite.updateAllFees([newProtocolFee, newOperatorFee, newCuratorFee]);
137
+ return txHash;
138
+ }
139
+ /**
140
+ * Gets rewards amount for a specific token from epoch
141
+ */
142
+ async function getEpochRewards(rewards, epoch) {
143
+ const amount = await rewards.read.getEpochRewards([epoch]);
144
+ logger_1.logger.log(`Rewards amount at epoch ${epoch}: ${amount.toString()}`);
145
+ return amount;
146
+ }
147
+ /**
148
+ * Gets operator shares for a specific epoch
149
+ */
150
+ async function getOperatorShares(rewards, epoch, operator) {
151
+ const share = await rewards.read.operatorShares([epoch, operator]);
152
+ logger_1.logger.log(`Operator ${operator} shares for epoch ${epoch}: ${share.toString()}`);
153
+ return share;
154
+ }
155
+ /**
156
+ * Gets vault shares for a specific epoch
157
+ */
158
+ async function getVaultShares(rewards, epoch, vault) {
159
+ const share = await rewards.read.vaultShares([epoch, vault]);
160
+ logger_1.logger.log(`Vault ${vault} shares for epoch ${epoch}: ${share.toString()}`);
161
+ return share;
162
+ }
163
+ /**
164
+ * Gets curator shares for a specific epoch
165
+ */
166
+ async function getCuratorShares(rewards, epoch, curator) {
167
+ const share = await rewards.read.curatorShares([epoch, curator]);
168
+ logger_1.logger.log(`Curator ${curator} shares for epoch ${epoch}: ${share.toString()}`);
169
+ return share;
170
+ }
171
+ /**
172
+ * Gets protocol rewards for a token
173
+ */
174
+ async function getProtocolRewards(rewards) {
175
+ const rewardsAmount = await rewards.read.protocolRewards();
176
+ logger_1.logger.log(`Protocol rewards: ${rewardsAmount.toString()}`);
177
+ return rewardsAmount;
178
+ }
179
+ /**
180
+ * Gets distribution batch status for an epoch
181
+ */
182
+ async function getDistributionBatch(rewards, epoch) {
183
+ const result = await rewards.read.distributionBatches([epoch]);
184
+ logger_1.logger.log(`Distribution batch for epoch ${epoch}:`);
185
+ const lastProcessedOperator = result[0];
186
+ const isComplete = result[1];
187
+ logger_1.logger.log(` Last processed operator: ${lastProcessedOperator.toString()}`);
188
+ logger_1.logger.log(` Is complete: ${isComplete}`);
189
+ return { lastProcessedOperator, isComplete };
190
+ }
191
+ /**
192
+ * Gets current fees configuration
193
+ */
194
+ async function getFeesConfiguration(rewards) {
195
+ const protocolFee = await rewards.read.protocolFee();
196
+ const operatorFee = await rewards.read.operatorFee();
197
+ const curatorFee = await rewards.read.curatorFee();
198
+ logger_1.logger.log("Fees configuration:");
199
+ logger_1.logger.log(` Protocol fee: ${protocolFee}`);
200
+ logger_1.logger.log(` Operator fee: ${operatorFee}`);
201
+ logger_1.logger.log(` Curator fee: ${curatorFee}`);
202
+ return { protocolFee, operatorFee, curatorFee };
203
+ }
204
+ /**
205
+ * Gets rewards bips for collateral class
206
+ */
207
+ async function getRewardsBipsForCollateralClass(rewards, collateralClass) {
208
+ const bips = await rewards.read.rewardsBipsPerCollateralClass([collateralClass]);
209
+ logger_1.logger.log(`Rewards bips for collateral class ${collateralClass}: ${bips}`);
210
+ return bips;
211
+ }
212
+ /**
213
+ * Gets min required uptime
214
+ */
215
+ async function getMinRequiredUptime(rewards) {
216
+ const minUptime = await rewards.read.minRequiredUptime();
217
+ logger_1.logger.log(`Minimum required uptime: ${minUptime.toString()}`);
218
+ return minUptime;
219
+ }
220
+ /**
221
+ * Gets last claimed epoch for a staker
222
+ */
223
+ async function getLastEpochClaimedStaker(rewards, staker) {
224
+ const lastEpoch = await rewards.read.lastEpochClaimedStaker([staker]);
225
+ logger_1.logger.log(`Last epoch claimed by staker ${staker}: ${lastEpoch.toString()}`);
226
+ return lastEpoch;
227
+ }
228
+ /**
229
+ * Gets last claimed epoch for an operator
230
+ */
231
+ async function getLastEpochClaimedOperator(rewards, operator) {
232
+ const lastEpoch = await rewards.read.lastEpochClaimedOperator([operator]);
233
+ logger_1.logger.log(`Last epoch claimed by operator ${operator}: ${lastEpoch.toString()}`);
234
+ return lastEpoch;
235
+ }
236
+ /**
237
+ * Gets last claimed epoch for a curator
238
+ */
239
+ async function getLastEpochClaimedCurator(rewards, curator) {
240
+ const lastEpoch = await rewards.read.lastEpochClaimedCurator([curator]);
241
+ logger_1.logger.log(`Last epoch claimed by curator ${curator}: ${lastEpoch.toString()}`);
242
+ return lastEpoch;
243
+ }
244
+ //# sourceMappingURL=rewards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rewards.js","sourceRoot":"","sources":["../src/rewards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Hex } from "viem";
2
+ import { ExtendedWalletClient } from "./client";
3
+ import { Config } from "./config";
4
+ import { SafeSuzakuContract } from "./lib/viemUtils";
5
+ import { NodeId } from "./lib/utils";
6
+ export declare function completeValidatorRegistration(pchainClient: ExtendedWalletClient, securityModule: SafeSuzakuContract['PoASecurityModule'] | SafeSuzakuContract['L1Middleware'], balancer: SafeSuzakuContract['BalancerValidatorManager'], config: Config<ExtendedWalletClient>, blsProofOfPossession: string, addNodeTxHash: Hex, initialBalance: bigint, waitValidatorVisible: boolean): Promise<void>;
7
+ export declare function completeValidatorRemoval(pchainClient: ExtendedWalletClient, securityModule: SafeSuzakuContract['L1Middleware'] | SafeSuzakuContract['PoASecurityModule'], balancerValidatorManager: SafeSuzakuContract['BalancerValidatorManager'], config: Config<ExtendedWalletClient>, initializeEndValidationTxHash: Hex, waitValidatorVisible: boolean, nodeIDs?: NodeId[], addNodeTxHash?: Hex[]): Promise<void>;
8
+ export declare function completeWeightUpdate(pchainClient: ExtendedWalletClient, securityModule: SafeSuzakuContract['PoASecurityModule'] | SafeSuzakuContract['L1Middleware'], config: Config<ExtendedWalletClient>, validatorWeightUpdateTxHash: Hex, nodeIDs?: NodeId[]): Promise<void>;