@raac/rpc 1.2.0-beta.5 → 1.2.0-beta.7

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 (196) hide show
  1. package/dist/RPCLibrary.js +38 -97
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
  3. package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +155 -144
  4. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +119 -335
  5. package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +104 -325
  6. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +167 -146
  7. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +167 -146
  8. package/dist/artifacts/core/governance/proposals/Governance.sol/Governance.json +2 -2
  9. package/dist/artifacts/core/lockers/RAACLiquidLocker.sol/RAACLiquidLocker.json +2 -2
  10. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +66 -32
  11. package/dist/configs/chains/11155111.json +83 -16
  12. package/dist/configs/chains/8453.json +6 -6
  13. package/dist/contracts/getContractAddress.js +1 -0
  14. package/dist/contracts/governance/distributor/claimAll.js +25 -0
  15. package/dist/contracts/governance/distributor/claimForGauge.js +26 -0
  16. package/dist/contracts/governance/distributor/deposit.js +12 -21
  17. package/dist/contracts/governance/distributor/getClaimableForGauge.js +29 -0
  18. package/dist/contracts/governance/distributor/getClaimedAtEpoch.js +30 -0
  19. package/dist/contracts/governance/distributor/getDepositedAtEpoch.js +30 -0
  20. package/dist/contracts/governance/distributor/getGaugeController.js +28 -0
  21. package/dist/contracts/governance/distributor/getLastClaimedEpoch.js +29 -0
  22. package/dist/contracts/governance/distributor/getPeriodDuration.js +28 -0
  23. package/dist/contracts/governance/distributor/{getRewardTokens.js → getRewardToken.js} +10 -9
  24. package/dist/contracts/governance/distributor/getRewardTokenInfo.js +9 -19
  25. package/dist/contracts/governance/distributor/getRewardTokenStats.js +30 -0
  26. package/dist/contracts/governance/{gaugeController/isGauge.js → distributor/getStartEpoch.js} +10 -10
  27. package/dist/contracts/governance/distributor/index.js +31 -17
  28. package/dist/contracts/governance/distributor/setController.js +26 -0
  29. package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +27 -0
  30. package/dist/contracts/governance/distributor/withdrawUnallocatedRewards.js +26 -0
  31. package/dist/contracts/governance/gauge/addRewardToken.js +34 -0
  32. package/dist/contracts/governance/gauge/claimExtraReward.js +34 -0
  33. package/dist/contracts/governance/gauge/claimExtraRewards.js +33 -0
  34. package/dist/contracts/governance/gauge/claimOnBehalfOf.js +36 -0
  35. package/dist/contracts/governance/gauge/claimRewardToken.js +3 -4
  36. package/dist/contracts/governance/gauge/claimRewardsFor.js +34 -0
  37. package/dist/contracts/governance/gauge/depositRewardToken.js +35 -0
  38. package/dist/contracts/governance/gauge/getAllPendingExtraRewards.js +36 -0
  39. package/dist/contracts/governance/gauge/getControllerAddress.js +34 -0
  40. package/dist/contracts/governance/gauge/getDecimalAdjustment.js +35 -0
  41. package/dist/contracts/governance/gauge/getDepositRAACOnClaim.js +34 -0
  42. package/dist/contracts/governance/gauge/getDistributorData.js +36 -0
  43. package/dist/contracts/governance/gauge/getDistributors.js +34 -0
  44. package/dist/contracts/governance/gauge/getEarnedReward.js +11 -19
  45. package/dist/contracts/governance/gauge/getExtraRewardTokens.js +34 -0
  46. package/dist/contracts/governance/gauge/getGaugeRewardTokenData.js +44 -0
  47. package/dist/contracts/governance/gauge/getPendingExtraRewards.js +36 -0
  48. package/dist/contracts/governance/gauge/getPendingRewards.js +11 -19
  49. package/dist/contracts/governance/gauge/getRaacAutolockMin.js +34 -0
  50. package/dist/contracts/governance/gauge/getUserRewardTokenData.js +37 -0
  51. package/dist/contracts/governance/gauge/getUserWeight.js +35 -0
  52. package/dist/contracts/governance/gauge/index.js +53 -35
  53. package/dist/contracts/governance/gauge/isPaused.js +34 -0
  54. package/dist/contracts/governance/gauge/manageDistributor.js +35 -0
  55. package/dist/contracts/governance/gauge/setController.js +34 -0
  56. package/dist/contracts/governance/gauge/setDepositRAACOnClaim.js +34 -0
  57. package/dist/contracts/governance/gauge/setDistributorApproval.js +35 -0
  58. package/dist/contracts/governance/gauge/setEmergencyPaused.js +34 -0
  59. package/dist/contracts/governance/gauge/setGaugeRewardDistributor.js +34 -0
  60. package/dist/contracts/governance/gauge/setRaacAutolockMin.js +34 -0
  61. package/dist/contracts/governance/gauge/updateUserRewards.js +3 -2
  62. package/dist/contracts/governance/gaugeController/addGauge.js +24 -0
  63. package/dist/contracts/governance/gaugeController/batchVote.js +25 -0
  64. package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +24 -0
  65. package/dist/contracts/governance/gaugeController/getConstants.js +45 -0
  66. package/dist/contracts/governance/gaugeController/getCurrentEpoch.js +27 -0
  67. package/dist/contracts/governance/gaugeController/getGauge.js +29 -0
  68. package/dist/contracts/governance/gaugeController/getGaugeEmissions.js +136 -0
  69. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +29 -0
  70. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeightView.js +30 -0
  71. package/dist/contracts/governance/gaugeController/getLastVoteTime.js +29 -0
  72. package/dist/contracts/governance/gaugeController/getNextEpoch.js +27 -0
  73. package/dist/contracts/governance/gaugeController/getUserGaugeVotePower.js +29 -0
  74. package/dist/contracts/governance/gaugeController/getVeToken.js +27 -0
  75. package/dist/contracts/governance/gaugeController/getVoteUserPower.js +28 -0
  76. package/dist/contracts/governance/gaugeController/getVoteUserSlope.js +30 -0
  77. package/dist/contracts/governance/gaugeController/index.js +44 -23
  78. package/dist/contracts/governance/gaugeController/isPaused.js +27 -0
  79. package/dist/contracts/governance/gaugeController/kick.js +24 -0
  80. package/dist/contracts/governance/gaugeController/removeGauge.js +24 -0
  81. package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +24 -0
  82. package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +25 -0
  83. package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +25 -0
  84. package/dist/contracts/governance/gaugeController/setEmergencyPause.js +24 -0
  85. package/dist/contracts/lockers/botLocker/unlock.js +4 -1
  86. package/dist/contracts/lockers/maturityVault/harvest.js +3 -2
  87. package/dist/types/RPCLibrary.d.ts +6 -64
  88. package/dist/types/contracts/governance/distributor/claimAll.d.ts +11 -0
  89. package/dist/types/contracts/governance/distributor/claimForGauge.d.ts +12 -0
  90. package/dist/types/contracts/governance/distributor/deposit.d.ts +6 -7
  91. package/dist/types/contracts/governance/distributor/getClaimableForGauge.d.ts +11 -0
  92. package/dist/types/contracts/governance/distributor/getClaimedAtEpoch.d.ts +12 -0
  93. package/dist/types/contracts/governance/distributor/getDepositedAtEpoch.d.ts +12 -0
  94. package/dist/types/contracts/governance/distributor/getGaugeController.d.ts +10 -0
  95. package/dist/types/contracts/governance/distributor/getLastClaimedEpoch.d.ts +11 -0
  96. package/dist/types/contracts/governance/distributor/getPeriodDuration.d.ts +10 -0
  97. package/dist/types/contracts/governance/distributor/{getRewardTokens.d.ts → getRewardToken.d.ts} +3 -3
  98. package/dist/types/contracts/governance/distributor/getRewardTokenInfo.d.ts +8 -10
  99. package/dist/types/contracts/governance/distributor/getRewardTokenStats.d.ts +15 -0
  100. package/dist/types/contracts/governance/distributor/getStartEpoch.d.ts +10 -0
  101. package/dist/types/contracts/governance/distributor/index.d.ts +16 -8
  102. package/dist/types/contracts/governance/distributor/setController.d.ts +12 -0
  103. package/dist/types/contracts/governance/distributor/withdrawRemovedGaugeRewards.d.ts +13 -0
  104. package/dist/types/contracts/governance/distributor/withdrawUnallocatedRewards.d.ts +12 -0
  105. package/dist/types/contracts/governance/gauge/addRewardToken.d.ts +10 -0
  106. package/dist/types/contracts/governance/gauge/claimExtraReward.d.ts +10 -0
  107. package/dist/types/contracts/governance/gauge/claimExtraRewards.d.ts +9 -0
  108. package/dist/types/contracts/governance/gauge/claimOnBehalfOf.d.ts +12 -0
  109. package/dist/types/contracts/governance/gauge/claimRewardToken.d.ts +1 -2
  110. package/dist/types/contracts/governance/gauge/claimRewardsFor.d.ts +10 -0
  111. package/dist/types/contracts/governance/gauge/depositRewardToken.d.ts +11 -0
  112. package/dist/types/contracts/governance/gauge/getAllPendingExtraRewards.d.ts +13 -0
  113. package/dist/types/contracts/governance/gauge/getControllerAddress.d.ts +9 -0
  114. package/dist/types/contracts/governance/gauge/getDecimalAdjustment.d.ts +10 -0
  115. package/dist/types/contracts/governance/gauge/getDepositRAACOnClaim.d.ts +9 -0
  116. package/dist/types/contracts/governance/gauge/getDistributorData.d.ts +13 -0
  117. package/dist/types/contracts/governance/gauge/{getRewardTokens.d.ts → getDistributors.d.ts} +3 -5
  118. package/dist/types/contracts/governance/gauge/getEarnedReward.d.ts +4 -5
  119. package/dist/types/contracts/governance/gauge/getExtraRewardTokens.d.ts +9 -0
  120. package/dist/types/contracts/governance/gauge/getGaugeRewardTokenData.d.ts +18 -0
  121. package/dist/types/contracts/governance/gauge/getPendingExtraRewards.d.ts +11 -0
  122. package/dist/types/contracts/governance/gauge/getPendingRewards.d.ts +4 -5
  123. package/dist/types/contracts/governance/gauge/getRaacAutolockMin.d.ts +9 -0
  124. package/dist/types/contracts/governance/gauge/getUserRewardTokenData.d.ts +17 -0
  125. package/dist/types/contracts/governance/gauge/getUserWeight.d.ts +10 -0
  126. package/dist/types/contracts/governance/gauge/index.d.ts +38 -17
  127. package/dist/types/contracts/governance/gauge/isPaused.d.ts +9 -0
  128. package/dist/types/contracts/governance/gauge/manageDistributor.d.ts +11 -0
  129. package/dist/types/contracts/governance/gauge/setController.d.ts +10 -0
  130. package/dist/types/contracts/governance/gauge/setDepositRAACOnClaim.d.ts +10 -0
  131. package/dist/types/contracts/governance/gauge/setDistributorApproval.d.ts +11 -0
  132. package/dist/types/contracts/governance/gauge/setEmergencyPaused.d.ts +10 -0
  133. package/dist/types/contracts/governance/gauge/setGaugeRewardDistributor.d.ts +10 -0
  134. package/dist/types/contracts/governance/gauge/setRaacAutolockMin.d.ts +10 -0
  135. package/dist/types/contracts/governance/gauge/updateUserRewards.d.ts +2 -1
  136. package/dist/types/contracts/governance/gaugeController/addGauge.d.ts +10 -0
  137. package/dist/types/contracts/governance/gaugeController/batchVote.d.ts +11 -0
  138. package/dist/types/contracts/governance/gaugeController/forceCompleteCheckpoint.d.ts +10 -0
  139. package/dist/types/contracts/governance/gaugeController/getConstants.d.ts +18 -0
  140. package/dist/types/contracts/governance/gaugeController/getCurrentEpoch.d.ts +9 -0
  141. package/dist/types/contracts/governance/gaugeController/getGauge.d.ts +15 -0
  142. package/dist/types/contracts/governance/gaugeController/getGaugeEmissions.d.ts +51 -0
  143. package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeight.d.ts +15 -0
  144. package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeightView.d.ts +14 -0
  145. package/dist/types/contracts/governance/gaugeController/getLastVoteTime.d.ts +11 -0
  146. package/dist/types/contracts/governance/gaugeController/getNextEpoch.d.ts +9 -0
  147. package/dist/types/contracts/governance/gaugeController/getUserGaugeVotePower.d.ts +11 -0
  148. package/dist/types/contracts/governance/gaugeController/getVeToken.d.ts +9 -0
  149. package/dist/types/contracts/governance/gaugeController/getVoteUserPower.d.ts +10 -0
  150. package/dist/types/contracts/governance/gaugeController/getVoteUserSlope.d.ts +15 -0
  151. package/dist/types/contracts/governance/gaugeController/index.d.ts +29 -11
  152. package/dist/types/contracts/governance/gaugeController/isPaused.d.ts +9 -0
  153. package/dist/types/contracts/governance/gaugeController/kick.d.ts +10 -0
  154. package/dist/types/contracts/governance/gaugeController/removeGauge.d.ts +10 -0
  155. package/dist/types/contracts/governance/gaugeController/removePowerFromGauge.d.ts +10 -0
  156. package/dist/types/contracts/governance/gaugeController/setBoostAmplificationEnabled.d.ts +11 -0
  157. package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePause.d.ts +11 -0
  158. package/dist/types/contracts/governance/gaugeController/setEmergencyPause.d.ts +10 -0
  159. package/dist/types/contracts/lockers/botLocker/unlock.d.ts +3 -0
  160. package/dist/types/contracts/lockers/maturityVault/harvest.d.ts +1 -1
  161. package/dist/utils/contracts.js +1 -1
  162. package/package.json +1 -1
  163. package/dist/contracts/governance/distributor/getAvailableBalance.js +0 -29
  164. package/dist/contracts/governance/distributor/getGaugeRewardTokens.js +0 -28
  165. package/dist/contracts/governance/distributor/getTransferableBalance.js +0 -30
  166. package/dist/contracts/governance/distributor/isRewardTokenApproved.js +0 -29
  167. package/dist/contracts/governance/distributor/isTokenApproved.js +0 -29
  168. package/dist/contracts/governance/gauge/claimReward.js +0 -44
  169. package/dist/contracts/governance/gauge/getAllEarnedRewards.js +0 -51
  170. package/dist/contracts/governance/gauge/getAllPendingRewards.js +0 -41
  171. package/dist/contracts/governance/gauge/getRewardTokens.js +0 -41
  172. package/dist/contracts/governance/gauge/getUserGaugeVoteWeight.js +0 -42
  173. package/dist/contracts/governance/gauge/getWorkingBalance.js +0 -43
  174. package/dist/contracts/governance/gauge/syncRewardTokens.js +0 -51
  175. package/dist/contracts/governance/gaugeController/checkpoint.js +0 -33
  176. package/dist/contracts/governance/gaugeController/checkpointGauge.js +0 -34
  177. package/dist/contracts/governance/gaugeController/getUserGaugeVoteWeight.js +0 -30
  178. package/dist/tests/liquidLocker.test.js +0 -262
  179. package/dist/tests/test.js +0 -32
  180. package/dist/types/contracts/governance/distributor/getAvailableBalance.d.ts +0 -11
  181. package/dist/types/contracts/governance/distributor/getGaugeRewardTokens.d.ts +0 -11
  182. package/dist/types/contracts/governance/distributor/getTransferableBalance.d.ts +0 -12
  183. package/dist/types/contracts/governance/distributor/isRewardTokenApproved.d.ts +0 -12
  184. package/dist/types/contracts/governance/distributor/isTokenApproved.d.ts +0 -11
  185. package/dist/types/contracts/governance/gauge/claimReward.d.ts +0 -11
  186. package/dist/types/contracts/governance/gauge/getAllEarnedRewards.d.ts +0 -17
  187. package/dist/types/contracts/governance/gauge/getAllPendingRewards.d.ts +0 -19
  188. package/dist/types/contracts/governance/gauge/getUserGaugeVoteWeight.d.ts +0 -14
  189. package/dist/types/contracts/governance/gauge/getWorkingBalance.d.ts +0 -12
  190. package/dist/types/contracts/governance/gauge/syncRewardTokens.d.ts +0 -13
  191. package/dist/types/contracts/governance/gaugeController/checkpoint.d.ts +0 -11
  192. package/dist/types/contracts/governance/gaugeController/checkpointGauge.d.ts +0 -12
  193. package/dist/types/contracts/governance/gaugeController/getUserGaugeVoteWeight.d.ts +0 -12
  194. package/dist/types/contracts/governance/gaugeController/isGauge.d.ts +0 -11
  195. package/dist/types/tests/liquidLocker.test.d.ts +0 -18
  196. package/dist/types/tests/test.d.ts +0 -1
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getWorkingBalance = void 0;
7
- const ethers_1 = require("ethers");
8
- const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
- const GET_WORKING_BALANCE_ABI = "function getWorkingBalance(address account) view returns (uint256)";
11
- /**
12
- * Gets the working balance of an account (includes boost).
13
- *
14
- * @param chainId - The chain/network to use.
15
- * @param gaugeAddressOrId - Address of the gauge contract or ID of the gauge.
16
- * @param accountAddress - Address of the account.
17
- * @param provider - Optional ethers.js Provider instance.
18
- * @returns Working balance in ether units.
19
- */
20
- const getWorkingBalance = async (chainId, gaugeAddressOrId, accountAddress, provider) => {
21
- if (!provider) {
22
- const rpc = chains_1.default[chainId].rpcs[0];
23
- provider = new ethers_1.ethers.JsonRpcProvider(rpc);
24
- }
25
- let gaugeAddress;
26
- try {
27
- if ((0, ethers_1.isAddress)(gaugeAddressOrId)) {
28
- gaugeAddress = gaugeAddressOrId;
29
- }
30
- else {
31
- // @ts-ignore
32
- gaugeAddress = (0, getContractAddress_1.getContractAddress)(chainId, gaugeAddressOrId.toLowerCase());
33
- }
34
- }
35
- catch (error) {
36
- console.error("Error getting working balance:", error);
37
- throw new Error(`Failed to get working balance from gauge ${gaugeAddress}: ${error.message}`);
38
- }
39
- const contract = new ethers_1.ethers.Contract(gaugeAddress, [GET_WORKING_BALANCE_ABI], provider);
40
- const workingBalance = await contract.getWorkingBalance(accountAddress);
41
- return ethers_1.ethers.formatEther(workingBalance);
42
- };
43
- exports.getWorkingBalance = getWorkingBalance;
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.syncRewardTokens = void 0;
7
- const ethers_1 = require("ethers");
8
- const artifacts_1 = require("../../../utils/artifacts");
9
- const getContractAddress_1 = __importDefault(require("../../getContractAddress"));
10
- /**
11
- * Syncs reward tokens from distributor.
12
- * Adds non-existing tokens, syncs isActive state, and pulls rewards from distributor.
13
- * This is needed for users to receive their rewards from new distributions.
14
- *
15
- * @param chainId - The chain/network to use.
16
- * @param gaugeAddressOrId - Address of the gauge contract or ID of the gauge.
17
- * @param signer - An ethers.js Signer instance (must be connected to wallet).
18
- * @returns Transaction receipt after the sync is complete.
19
- */
20
- const syncRewardTokens = async (chainId, gaugeAddressOrId, signer) => {
21
- if (!signer) {
22
- throw new Error("Signer is required");
23
- }
24
- let gaugeAddress;
25
- try {
26
- if ((0, ethers_1.isAddress)(gaugeAddressOrId)) {
27
- gaugeAddress = gaugeAddressOrId;
28
- }
29
- else {
30
- // @ts-ignore
31
- gaugeAddress = (0, getContractAddress_1.default)(chainId, gaugeAddressOrId.toLowerCase());
32
- }
33
- }
34
- catch (error) {
35
- console.error("Error syncing reward tokens:", error);
36
- throw new Error(`Failed to sync reward tokens for gauge ${gaugeAddress}: ${error.message}`);
37
- }
38
- try {
39
- const gaugeABI = (0, artifacts_1.getABI)("basegauge");
40
- const contract = new ethers_1.ethers.Contract(gaugeAddress, gaugeABI, signer);
41
- const tx = await contract.syncRewardTokens();
42
- await tx.wait();
43
- console.log(`Synced reward tokens for gauge: ${gaugeAddress}`);
44
- return tx;
45
- }
46
- catch (error) {
47
- console.error("Error syncing reward tokens:", error);
48
- throw new Error(`Failed to sync reward tokens for gauge ${gaugeAddress}: ${error.message}`);
49
- }
50
- };
51
- exports.syncRewardTokens = syncRewardTokens;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkpoint = void 0;
4
- const ethers_1 = require("ethers");
5
- const getContractAddress_1 = require("../../getContractAddress");
6
- const artifacts_1 = require("../../../utils/artifacts");
7
- /**
8
- * Performs a full checkpoint for all gauges.
9
- * Updates the gauge weights based on current voting power decay.
10
- *
11
- * @param chainId - The chain/network to use.
12
- * @param signer - An ethers.js Signer instance (must be connected to wallet).
13
- * @returns Transaction receipt after checkpoint is complete.
14
- */
15
- const checkpoint = async (chainId, signer) => {
16
- if (!signer) {
17
- throw new Error("Signer is required");
18
- }
19
- try {
20
- const contractAddress = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
21
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
22
- const contract = new ethers_1.ethers.Contract(contractAddress, abi, signer);
23
- const tx = await contract.checkpoint();
24
- await tx.wait();
25
- console.log(`Checkpoint completed at ${contractAddress}`);
26
- return tx;
27
- }
28
- catch (error) {
29
- console.error("Error checkpointing:", error);
30
- throw new Error(`Failed to checkpoint: ${error.message}`);
31
- }
32
- };
33
- exports.checkpoint = checkpoint;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkpointGauge = void 0;
4
- const ethers_1 = require("ethers");
5
- const getContractAddress_1 = require("../../getContractAddress");
6
- const artifacts_1 = require("../../../utils/artifacts");
7
- /**
8
- * Performs a full checkpoint for a specific gauge.
9
- * Updates the gauge weight based on current voting power decay.
10
- *
11
- * @param chainId - The chain/network to use.
12
- * @param gaugeAddress - Address of the gauge to checkpoint.
13
- * @param signer - An ethers.js Signer instance (must be connected to wallet).
14
- * @returns Transaction receipt after checkpoint is complete.
15
- */
16
- const checkpointGauge = async (chainId, gaugeAddress, signer) => {
17
- if (!signer) {
18
- throw new Error("Signer is required");
19
- }
20
- try {
21
- const contractAddress = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
22
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
23
- const contract = new ethers_1.ethers.Contract(contractAddress, abi, signer);
24
- const tx = await contract.checkpointGauge(gaugeAddress);
25
- await tx.wait();
26
- console.log(`Gauge ${gaugeAddress} checkpoint completed at ${contractAddress}`);
27
- return tx;
28
- }
29
- catch (error) {
30
- console.error("Error checkpointing gauge:", error);
31
- throw new Error(`Failed to checkpoint gauge: ${error.message}`);
32
- }
33
- };
34
- exports.checkpointGauge = checkpointGauge;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getUserGaugeVoteWeight = void 0;
7
- const ethers_1 = require("ethers");
8
- const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
- const GET_USER_GAUGE_VOTE_WEIGHT_ABI = "function getUserGaugeVoteWeight(address user, address gauge) view returns (uint256)";
11
- /**
12
- * Get user's vote weight for a specific gauge.
13
- *
14
- * @param chainId - The chain/network to use.
15
- * @param userAddress - Address of the user.
16
- * @param gaugeAddress - Address of the gauge.
17
- * @param provider - Optional ethers.js Provider instance.
18
- * @returns Vote weight in basis points.
19
- */
20
- const getUserGaugeVoteWeight = async (chainId, userAddress, gaugeAddress, provider) => {
21
- if (!provider) {
22
- const rpc = chains_1.default[chainId].rpcs[0];
23
- provider = new ethers_1.ethers.JsonRpcProvider(rpc);
24
- }
25
- const contractAddress = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
26
- const contract = new ethers_1.ethers.Contract(contractAddress, [GET_USER_GAUGE_VOTE_WEIGHT_ABI], provider);
27
- const weight = await contract.getUserGaugeVoteWeight(userAddress, gaugeAddress);
28
- return Number(weight);
29
- };
30
- exports.getUserGaugeVoteWeight = getUserGaugeVoteWeight;
@@ -1,262 +0,0 @@
1
- "use strict";
2
- /**
3
- * End-to-end test for the RAAC Liquid Locker RPC methods against a local
4
- * hardhat node (chainId 8453).
5
- *
6
- * Prereqs:
7
- * 1. Start the node: cd ~/raac/contracts && npx hardhat node
8
- * 2. Deploy lockers: npx hardhat run deployment/lockers/deploy_lockers_local.js --network localhost
9
- * 3. Make sure rpc/configs/chains/8453.json has the deployed locker/zap/asset addresses.
10
- *
11
- * Run:
12
- * cd ~/raac/rpc && node -r ts-node/register/transpile-only tests/liquidLocker.test.ts
13
- *
14
- * It exercises every method exposed under rpc.lockers.liquidLocker.* by driving
15
- * a realistic flow: deposit -> borrow -> repay -> donate -> requestUnlock ->
16
- * (time-travel) -> processVaultExpiredLocks -> withdrawUnlocked, plus the
17
- * read methods and the role-gated methods (harvest / voteGauge / voteGovernance).
18
- */
19
- var __importDefault = (this && this.__importDefault) || function (mod) {
20
- return (mod && mod.__esModule) ? mod : { "default": mod };
21
- };
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- const ethers_1 = require("ethers");
24
- const chains_1 = __importDefault(require("../configs/chains"));
25
- const getContractAddress_1 = require("../contracts/getContractAddress");
26
- const artifacts_1 = require("../utils/artifacts");
27
- const RPCLibrary_1 = __importDefault(require("../RPCLibrary"));
28
- const CHAIN_ID = 8453;
29
- const RPC_URL = chains_1.default[CHAIN_ID].rpcs[0];
30
- // Default hardhat mnemonic (publicly known dev accounts).
31
- const MNEMONIC = "test test test test test test test test test test test junk";
32
- // Account roles (must match deployment/lockers/deploy_lockers_local.js):
33
- // 0 = deployer, 1 = contracts wallet (owner + DEFAULT_ADMIN after handoff),
34
- // 2 = treasury, 3 = cleverFeeRecipient, 4 = governor.
35
- const IDX_ADMIN = 1;
36
- const IDX_TREASURY = 2;
37
- const IDX_USER = 6;
38
- const IDX_KEEPER = 7;
39
- const IDX_HARVESTER = 8;
40
- const EPOCH = 7 * 24 * 60 * 60;
41
- const MINIMAL_ERC20 = [
42
- "function mint(address,uint256)",
43
- "function approve(address,uint256) returns (bool)",
44
- "function balanceOf(address) view returns (uint256)",
45
- "function allowance(address,address) view returns (uint256)",
46
- ];
47
- const LOCKER_ADMIN_ABI = [
48
- "function updateWhitelist(address,bool)",
49
- "function grantRole(bytes32,address)",
50
- "function HARVEST_ROLE() view returns (bytes32)",
51
- "function isKeeper(address) view returns (bool)",
52
- ];
53
- const provider = new ethers_1.ethers.JsonRpcProvider(RPC_URL);
54
- // Wrap in a NonceManager so back-to-back txs from the same account against an
55
- // instant-mining node don't collide on nonces (mirrors the deploy scripts).
56
- function signer(i) {
57
- const m = ethers_1.ethers.Mnemonic.fromPhrase(MNEMONIC);
58
- const wallet = ethers_1.ethers.HDNodeWallet.fromMnemonic(m, `m/44'/60'/0'/0/${i}`).connect(provider);
59
- return new ethers_1.ethers.NonceManager(wallet);
60
- }
61
- // Decode custom errors thrown by any contract in the locker stack so failures
62
- // are legible instead of "unknown custom error".
63
- const errIface = new ethers_1.ethers.Interface([
64
- ...(0, artifacts_1.getABI)("raacliquidlocker"),
65
- ...(0, artifacts_1.getABI)("veraac"),
66
- ...(0, artifacts_1.getABI)("leraac"),
67
- ].filter((f) => f.type === "error"));
68
- function decodeErr(e) {
69
- const data = e?.data || e?.info?.error?.data || e?.error?.data;
70
- if (typeof data === "string" && data.startsWith("0x") && data.length >= 10) {
71
- try {
72
- const parsed = errIface.parseError(data);
73
- if (parsed)
74
- return `${parsed.name}(${parsed.args.map((a) => a.toString()).join(",")})`;
75
- }
76
- catch { }
77
- }
78
- return e?.shortMessage || e?.reason || e?.message || String(e);
79
- }
80
- const fmt = (v) => ethers_1.ethers.formatEther(v);
81
- // ---- tiny test harness -------------------------------------------------
82
- let pass = 0;
83
- let failed = 0;
84
- let expectedRevert = 0;
85
- const lines = [];
86
- async function step(name, fn) {
87
- try {
88
- const detail = await fn();
89
- pass++;
90
- const msg = ` PASS ${name}${detail ? " -> " + detail : ""}`;
91
- console.log(msg);
92
- lines.push(msg);
93
- }
94
- catch (e) {
95
- failed++;
96
- const reason = decodeErr(e);
97
- const msg = ` FAIL ${name} -> ${reason}`;
98
- console.log(msg);
99
- lines.push(msg);
100
- }
101
- }
102
- // For methods we expect to revert in this minimal (no-rewards / no-gauge) setup.
103
- async function stepExpectRevert(name, fn) {
104
- try {
105
- await fn();
106
- // If it did NOT revert, that's still fine (count as pass).
107
- pass++;
108
- const msg = ` PASS ${name} -> executed (no revert)`;
109
- console.log(msg);
110
- lines.push(msg);
111
- }
112
- catch (e) {
113
- expectedRevert++;
114
- const reason = decodeErr(e);
115
- const msg = ` OK* ${name} -> reverted as expected: ${reason.slice(0, 120)}`;
116
- console.log(msg);
117
- lines.push(msg);
118
- }
119
- }
120
- async function main() {
121
- const net = await provider.getNetwork();
122
- console.log(`\nConnected to ${RPC_URL} (chainId ${net.chainId})`);
123
- const lockerAddr = (0, getContractAddress_1.getContractAddress)(CHAIN_ID, "raacliquidlocker");
124
- const raacAddr = (0, getContractAddress_1.getContractAddress)(CHAIN_ID, "raactoken");
125
- const leRAACAddr = (0, getContractAddress_1.getContractAddress)(CHAIN_ID, "leraac");
126
- console.log(`Locker: ${lockerAddr}`);
127
- console.log(`RAAC: ${raacAddr}`);
128
- console.log(`leRAAC: ${leRAACAddr}\n`);
129
- const rpc = new RPCLibrary_1.default();
130
- const ll = rpc.lockers.liquidLocker;
131
- const admin = signer(IDX_ADMIN);
132
- const treasury = signer(IDX_TREASURY);
133
- const user = signer(IDX_USER);
134
- const keeper = signer(IDX_KEEPER);
135
- const harvester = signer(IDX_HARVESTER);
136
- const userAddr = await user.getAddress();
137
- const raacUser = new ethers_1.ethers.Contract(raacAddr, MINIMAL_ERC20, user);
138
- const leRAACUser = new ethers_1.ethers.Contract(leRAACAddr, MINIMAL_ERC20, user);
139
- const lockerAdmin = new ethers_1.ethers.Contract(lockerAddr, LOCKER_ADMIN_ABI, admin);
140
- const DEPOSIT = ethers_1.ethers.parseEther("100000");
141
- const BORROW = ethers_1.ethers.parseEther("30000"); // 30% of locked (< 50% reserve)
142
- const DONATE = ethers_1.ethers.parseEther("5000");
143
- console.log("=========== READ METHODS ===========");
144
- await step("getConfig", async () => {
145
- const c = await ll.getConfig(CHAIN_ID, provider);
146
- if (c.raac.toLowerCase() !== raacAddr.toLowerCase())
147
- throw new Error("raac mismatch");
148
- return `lockEpochs=${c.lockDurationEpochs} reserveRate=${c.reserveRate} treasuryFee=${c.treasuryFeePercentage} paused=${c.paused}`;
149
- });
150
- await step("getGlobalInfo", async () => {
151
- const g = await ll.getGlobalInfo(CHAIN_ID, provider);
152
- return `totalLocked=${g.totalLockedGlobal} totalDebt=${g.totalDebtGlobal}`;
153
- });
154
- await step("getUserInfo (fresh user)", async () => {
155
- const u = await ll.getUserInfo(CHAIN_ID, userAddr, provider);
156
- return `deposited=${u.totalDeposited} borrowed=${u.totalBorrowed}`;
157
- });
158
- await step("getUserLocks (fresh user)", async () => {
159
- const locks = await ll.getUserLocks(CHAIN_ID, userAddr, provider);
160
- return `${locks.length} lock(s)`;
161
- });
162
- await step("isKeeper (fresh user)", async () => {
163
- const k = await ll.isKeeper(CHAIN_ID, userAddr, provider);
164
- return `isKeeper=${k}`;
165
- });
166
- console.log("\n=========== WRITE FLOW ===========");
167
- // Fund the user with RAAC and approve the locker.
168
- await step("setup: mint RAAC to user + approve locker", async () => {
169
- await (await raacUser.mint(userAddr, DEPOSIT + DONATE + ethers_1.ethers.parseEther("1000"))).wait();
170
- await (await raacUser.approve(lockerAddr, ethers_1.ethers.MaxUint256)).wait();
171
- const bal = await raacUser.balanceOf(userAddr);
172
- return `RAAC balance=${fmt(bal)}`;
173
- });
174
- await step("deposit", async () => {
175
- await ll.deposit(CHAIN_ID, DEPOSIT, user);
176
- const u = await ll.getUserInfo(CHAIN_ID, userAddr, provider);
177
- if (u.raw.totalDeposited !== DEPOSIT)
178
- throw new Error(`deposited=${u.totalDeposited}`);
179
- return `totalDeposited=${u.totalDeposited}`;
180
- });
181
- await step("borrow", async () => {
182
- await ll.borrow(CHAIN_ID, BORROW, false, user);
183
- const u = await ll.getUserInfo(CHAIN_ID, userAddr, provider);
184
- const leBal = await leRAACUser.balanceOf(userAddr);
185
- if (u.raw.totalBorrowed !== BORROW)
186
- throw new Error(`borrowed=${u.totalBorrowed}`);
187
- return `totalBorrowed=${u.totalBorrowed} leRAAC=${fmt(leBal)}`;
188
- });
189
- await step("donate", async () => {
190
- const g0 = await ll.getGlobalInfo(CHAIN_ID, provider);
191
- await ll.donate(CHAIN_ID, DONATE, user);
192
- const g1 = await ll.getGlobalInfo(CHAIN_ID, provider);
193
- return `accRewardPerShare ${g0.accRewardPerShare} -> ${g1.accRewardPerShare}`;
194
- });
195
- await step("repay (full debt)", async () => {
196
- await (await leRAACUser.approve(lockerAddr, ethers_1.ethers.MaxUint256)).wait();
197
- const before = await ll.getUserInfo(CHAIN_ID, userAddr, provider);
198
- await ll.repay(CHAIN_ID, before.raw.totalBorrowed, user);
199
- const after = await ll.getUserInfo(CHAIN_ID, userAddr, provider);
200
- return `debt ${before.totalBorrowed} -> ${after.totalBorrowed}`;
201
- });
202
- await step("requestUnlock", async () => {
203
- await ll.requestUnlock(CHAIN_ID, 1, user);
204
- const locks = await ll.getUserLocks(CHAIN_ID, userAddr, provider);
205
- const reserved = locks.filter((l) => l.reserved).length;
206
- return `${reserved} reserved lock(s)`;
207
- });
208
- console.log("\n=========== ROLE-GATED METHODS ===========");
209
- await step("isKeeper after updateWhitelist(keeper)", async () => {
210
- const keeperAddr = await keeper.getAddress();
211
- await (await lockerAdmin.updateWhitelist(keeperAddr, true)).wait();
212
- const k = await ll.isKeeper(CHAIN_ID, keeperAddr, provider);
213
- if (!k)
214
- throw new Error("keeper not whitelisted");
215
- return `keeper ${keeperAddr.slice(0, 10)}… isKeeper=${k}`;
216
- });
217
- // Advance time past the lock duration so veRAAC locks expire and the
218
- // user's reserved unlock matures.
219
- await step("time-travel past lock duration", async () => {
220
- const cfg = await ll.getConfig(CHAIN_ID, provider);
221
- const secs = (cfg.lockDurationEpochs + 3) * EPOCH;
222
- await provider.send("evm_increaseTime", [secs]);
223
- await provider.send("evm_mine", []);
224
- return `advanced ${cfg.lockDurationEpochs + 3} epochs`;
225
- });
226
- await step("processVaultExpiredLocks (keeper)", async () => {
227
- await ll.processVaultExpiredLocks(CHAIN_ID, keeper);
228
- const g = await ll.getGlobalInfo(CHAIN_ID, provider);
229
- return `poolLockedUnderlying=${g.poolLockedUnderlying} totalRaacInPool=${g.totalRaacInPool}`;
230
- });
231
- await step("withdrawUnlocked (user)", async () => {
232
- const before = await raacUser.balanceOf(userAddr);
233
- await ll.withdrawUnlocked(CHAIN_ID, user);
234
- const after = await raacUser.balanceOf(userAddr);
235
- return `RAAC ${fmt(before)} -> ${fmt(after)}`;
236
- });
237
- console.log("\n=========== INTEGRATION-DEPENDENT (expected to revert in minimal setup) ===========");
238
- await stepExpectRevert("harvest (needs veRAAC rewards + zap routes)", async () => {
239
- const HARVEST_ROLE = await lockerAdmin.HARVEST_ROLE();
240
- const harvesterAddr = await harvester.getAddress();
241
- await (await lockerAdmin.grantRole(HARVEST_ROLE, harvesterAddr)).wait();
242
- await ll.harvest(CHAIN_ID, harvesterAddr, 0, harvester);
243
- });
244
- await stepExpectRevert("voteGauge (treasury-only, needs gauge controller)", async () => {
245
- const dummyController = await admin.getAddress();
246
- const dummyGauge = await treasury.getAddress();
247
- await ll.voteGauge(CHAIN_ID, dummyController, dummyGauge, 5000, treasury);
248
- });
249
- await stepExpectRevert("voteGovernance (treasury-only, needs governance)", async () => {
250
- const dummyGov = await admin.getAddress();
251
- await ll.voteGovernance(CHAIN_ID, dummyGov, 1, true, treasury);
252
- });
253
- console.log("\n=========================================");
254
- console.log(`RESULT: ${pass} passed, ${expectedRevert} reverted-as-expected, ${failed} failed`);
255
- console.log("=========================================");
256
- if (failed > 0)
257
- process.exit(1);
258
- }
259
- main().catch((e) => {
260
- console.error("FATAL:", e);
261
- process.exit(1);
262
- });
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const ethers_1 = require("ethers");
7
- const chains_1 = __importDefault(require("../configs/chains"));
8
- //node --env-file=../.env -r ts-node/register ./test.ts
9
- const RPCLibrary_1 = __importDefault(require("../RPCLibrary"));
10
- const chainId = 8453;
11
- const config = chains_1.default[chainId];
12
- const TEST_MNEMONIC = process.env.TEST_MNEMONIC;
13
- async function getProvider() {
14
- return new ethers_1.ethers.JsonRpcProvider(config.rpcs[0]);
15
- }
16
- async function createWallet(mnemonic, provider) {
17
- const wallet = ethers_1.ethers.Wallet.fromPhrase(mnemonic, provider);
18
- console.info(`[${chainId}]: Loaded wallet from mnemonic: ${wallet.address}`);
19
- // the signer is the wallet
20
- return wallet;
21
- }
22
- async function test() {
23
- const provider = await getProvider();
24
- const signer = await createWallet(TEST_MNEMONIC, provider);
25
- const rpc = new RPCLibrary_1.default();
26
- rpc.address = signer.address;
27
- rpc.provider = provider;
28
- rpc.chainId = chainId;
29
- console.log(await rpc.wallet.assets.getBalance(chainId, "rtoken", rpc.address, provider));
30
- console.log(await rpc.contracts.minter.get(chainId, provider));
31
- }
32
- test();
@@ -1,11 +0,0 @@
1
- import { Provider } from "ethers";
2
- import { ChainId } from "../../../configs/chains";
3
- /**
4
- * Gets available balance for a token in the distributor.
5
- *
6
- * @param chainId - The chain/network to use.
7
- * @param tokenAddress - Address of the reward token.
8
- * @param provider - Optional ethers.js Provider instance.
9
- * @returns Available balance formatted in ether units.
10
- */
11
- export declare const getAvailableBalance: (chainId: ChainId, tokenAddress: string, provider?: Provider) => Promise<string>;
@@ -1,11 +0,0 @@
1
- import { Provider } from "ethers";
2
- import { ChainId } from "../../../configs/chains";
3
- /**
4
- * Gets all approved and active reward tokens for a gauge.
5
- *
6
- * @param chainId - The chain/network to use.
7
- * @param gaugeAddress - Address of the gauge.
8
- * @param provider - Optional ethers.js Provider instance.
9
- * @returns Array of approved reward token addresses.
10
- */
11
- export declare const getGaugeRewardTokens: (chainId: ChainId, gaugeAddress: string, provider?: Provider) => Promise<string[]>;
@@ -1,12 +0,0 @@
1
- import { Provider } from "ethers";
2
- import { ChainId } from "../../../configs/chains";
3
- /**
4
- * Gets the transferable balance for a token and a gauge.
5
- *
6
- * @param chainId - The chain/network to use.
7
- * @param tokenAddress - Address of the reward token.
8
- * @param gaugeAddress - Address of the gauge.
9
- * @param provider - Optional ethers.js Provider instance.
10
- * @returns Transferable balance formatted in ether units.
11
- */
12
- export declare const getTransferableBalance: (chainId: ChainId, tokenAddress: string, gaugeAddress: string, provider?: Provider) => Promise<string>;
@@ -1,12 +0,0 @@
1
- import { Provider } from "ethers";
2
- import { ChainId } from "../../../configs/chains";
3
- /**
4
- * Checks if a token is approved for a specific gauge.
5
- *
6
- * @param chainId - The chain/network to use.
7
- * @param gaugeAddress - Address of the gauge.
8
- * @param tokenAddress - Address of the reward token.
9
- * @param provider - Optional ethers.js Provider instance.
10
- * @returns True if the token is approved for the gauge.
11
- */
12
- export declare const isRewardTokenApproved: (chainId: ChainId, gaugeAddress: string, tokenAddress: string, provider?: Provider) => Promise<boolean>;
@@ -1,11 +0,0 @@
1
- import { Provider } from "ethers";
2
- import { ChainId } from "../../../configs/chains";
3
- /**
4
- * Checks if a token is approved for deposit.
5
- *
6
- * @param chainId - The chain/network to use.
7
- * @param tokenAddress - Address of the token to check.
8
- * @param provider - Optional ethers.js Provider instance.
9
- * @returns True if the token is approved.
10
- */
11
- export declare const isTokenApproved: (chainId: ChainId, tokenAddress: string, provider?: Provider) => Promise<boolean>;
@@ -1,11 +0,0 @@
1
- import { Signer } from "ethers";
2
- import configs from "../../../configs/chains";
3
- /**
4
- * Claims all rewards from a gauge.
5
- *
6
- * @param chainId - The chain/network to use.
7
- * @param gaugeAddressOrId - Address of the gauge contract or ID of the gauge.
8
- * @param signer - An ethers.js Signer instance (must be connected to wallet).
9
- * @returns Transaction receipt after the claim rewards is made.
10
- */
11
- export declare const claimReward: (chainId: keyof typeof configs, gaugeAddressOrId: string, signer: Signer) => Promise<any>;
@@ -1,17 +0,0 @@
1
- import { Provider } from "ethers";
2
- import { ChainId } from "../../../configs/chains";
3
- export interface AllEarnedRewards {
4
- tokens: string[];
5
- amounts: string[];
6
- }
7
- /**
8
- * Gets earned rewards for a user for the provided reward tokens.
9
- *
10
- * @param chainId - The chain/network to use.
11
- * @param gaugeAddressOrId - Address of the gauge contract or ID of the gauge.
12
- * @param accountAddress - Address of the user.
13
- * @param rewardTokens - The list of reward token addresses to query.
14
- * @param provider - Optional ethers.js Provider instance.
15
- * @returns Array of tokens and their earned amounts.
16
- */
17
- export declare const getAllEarnedRewards: (chainId: ChainId, gaugeAddressOrId: string, accountAddress: string, rewardTokens: string[], provider?: Provider) => Promise<AllEarnedRewards>;
@@ -1,19 +0,0 @@
1
- import { Provider } from "ethers";
2
- import { ChainId } from "../../../configs/chains";
3
- /**
4
- * Gets all pending rewards for a user for the provided reward tokens.
5
- * This is based on the contract logic, which can include logic
6
- * like capping by available rewards, working balances, and decimal adjustment.
7
- *
8
- * @param chainId - The chain/network to use.
9
- * @param gaugeAddressOrId - Address of the gauge contract or ID of the gauge.
10
- * @param accountAddress - Address of the user.
11
- * @param rewardTokens - List of reward token addresses to query.
12
- * @param provider - Optional ethers.js Provider instance.
13
- * @returns Array of tokens and their pending amounts.
14
- */
15
- export interface AllPendingRewards {
16
- tokens: string[];
17
- amounts: string[];
18
- }
19
- export declare const getAllPendingRewards: (chainId: ChainId, gaugeAddressOrId: string, accountAddress: string, rewardTokens: string[], provider?: Provider) => Promise<AllPendingRewards>;
@@ -1,14 +0,0 @@
1
- import { Provider } from "ethers";
2
- import { ChainId } from "../../../configs/chains";
3
- /**
4
- * @notice Gets user vote weight for a gauge
5
- * @param chainId The chain/network to use.
6
- * @param user Address of user.
7
- * @param gaugeAddressOrId Address or ID of gauge.
8
- * @param provider Optional ethers.js Provider instance.
9
- * @returns { voteWeight: string } The amount of vote weight the user has allocated to the gauge (stringified uint256).
10
- */
11
- export interface UserGaugeVoteWeight {
12
- voteWeight: string;
13
- }
14
- export declare const getUserGaugeVoteWeight: (chainId: ChainId, user: string, gaugeAddressOrId: string, provider?: Provider) => Promise<UserGaugeVoteWeight>;
@@ -1,12 +0,0 @@
1
- import { Provider } from "ethers";
2
- import { ChainId } from "../../../configs/chains";
3
- /**
4
- * Gets the working balance of an account (includes boost).
5
- *
6
- * @param chainId - The chain/network to use.
7
- * @param gaugeAddressOrId - Address of the gauge contract or ID of the gauge.
8
- * @param accountAddress - Address of the account.
9
- * @param provider - Optional ethers.js Provider instance.
10
- * @returns Working balance in ether units.
11
- */
12
- export declare const getWorkingBalance: (chainId: ChainId, gaugeAddressOrId: string, accountAddress: string, provider?: Provider) => Promise<string>;
@@ -1,13 +0,0 @@
1
- import { Signer } from "ethers";
2
- import configs from "../../../configs/chains";
3
- /**
4
- * Syncs reward tokens from distributor.
5
- * Adds non-existing tokens, syncs isActive state, and pulls rewards from distributor.
6
- * This is needed for users to receive their rewards from new distributions.
7
- *
8
- * @param chainId - The chain/network to use.
9
- * @param gaugeAddressOrId - Address of the gauge contract or ID of the gauge.
10
- * @param signer - An ethers.js Signer instance (must be connected to wallet).
11
- * @returns Transaction receipt after the sync is complete.
12
- */
13
- export declare const syncRewardTokens: (chainId: keyof typeof configs, gaugeAddressOrId: string, signer: Signer) => Promise<any>;