@raac/rpc 1.2.0-beta.10 → 1.2.0-beta.11

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 (243) hide show
  1. package/dist/RPCLibrary.js +2 -0
  2. package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +113 -20
  3. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +259 -31
  4. package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +159 -31
  5. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +115 -22
  6. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +115 -22
  7. package/dist/configs/chains/1.json +22 -25
  8. package/dist/configs/chains/11155111.json +56 -71
  9. package/dist/configs/chains/17000.json +22 -25
  10. package/dist/configs/chains/18453.json +22 -25
  11. package/dist/configs/chains/8453.json +61 -31
  12. package/dist/contracts/findContract.js +11 -4
  13. package/dist/contracts/getContractAddress.js +0 -1
  14. package/dist/contracts/governance/distributor/claimAll.js +18 -11
  15. package/dist/contracts/governance/distributor/claimForGauge.js +18 -12
  16. package/dist/contracts/governance/distributor/deposit.js +17 -12
  17. package/dist/contracts/governance/distributor/getClaimableForGauge.js +10 -9
  18. package/dist/contracts/governance/distributor/getClaimedAtEpoch.js +11 -10
  19. package/dist/contracts/governance/distributor/getDepositedAtEpoch.js +8 -8
  20. package/dist/contracts/governance/distributor/getDustLastProcessedEpoch.js +28 -0
  21. package/dist/contracts/governance/distributor/getGaugeController.js +7 -7
  22. package/dist/contracts/governance/distributor/getLastClaimedEpoch.js +10 -9
  23. package/dist/contracts/governance/distributor/getMaxClaimBound.js +29 -0
  24. package/dist/contracts/governance/distributor/getPeriodDuration.js +7 -7
  25. package/dist/contracts/governance/distributor/getRewardToken.js +7 -7
  26. package/dist/contracts/governance/distributor/getRewardTokenInfo.js +7 -7
  27. package/dist/contracts/governance/distributor/getRewardTokenStats.js +7 -7
  28. package/dist/contracts/governance/distributor/index.js +5 -2
  29. package/dist/contracts/governance/distributor/setController.js +17 -12
  30. package/dist/contracts/governance/distributor/setLastClaimedEpoch.js +32 -0
  31. package/dist/contracts/governance/distributor/setMaxClaimBound.js +31 -0
  32. package/dist/contracts/governance/distributor/withdrawDust.js +31 -0
  33. package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +19 -13
  34. package/dist/contracts/governance/gauge/_apy.js +122 -0
  35. package/dist/contracts/governance/gauge/_tokens.js +36 -0
  36. package/dist/contracts/governance/gauge/addRewardToken.js +2 -12
  37. package/dist/contracts/governance/gauge/approveGaugeToken.js +31 -0
  38. package/dist/contracts/governance/gauge/claimExtraReward.js +2 -12
  39. package/dist/contracts/governance/gauge/claimExtraRewards.js +2 -12
  40. package/dist/contracts/governance/gauge/claimOnBehalfOf.js +2 -12
  41. package/dist/contracts/governance/gauge/claimRewardToken.js +3 -13
  42. package/dist/contracts/governance/gauge/claimRewardsFor.js +2 -12
  43. package/dist/contracts/governance/gauge/depositRewardToken.js +2 -12
  44. package/dist/contracts/governance/gauge/getAllPendingExtraRewards.js +2 -9
  45. package/dist/contracts/governance/gauge/getApy.js +44 -0
  46. package/dist/contracts/governance/gauge/getBalanceOf.js +2 -15
  47. package/dist/contracts/governance/gauge/getControllerAddress.js +2 -9
  48. package/dist/contracts/governance/gauge/getDecimalAdjustment.js +2 -9
  49. package/dist/contracts/governance/gauge/getDepositRAACOnClaim.js +2 -9
  50. package/dist/contracts/governance/gauge/getDistributorData.js +2 -9
  51. package/dist/contracts/governance/gauge/getDistributors.js +2 -9
  52. package/dist/contracts/governance/gauge/getEarnedExtraReward.js +30 -0
  53. package/dist/contracts/governance/gauge/getEarnedReward.js +8 -14
  54. package/dist/contracts/governance/gauge/getExtraRewardTokens.js +2 -9
  55. package/dist/contracts/governance/gauge/getGaugeData.js +39 -0
  56. package/dist/contracts/governance/gauge/getGaugeRewardTokenData.js +2 -9
  57. package/dist/contracts/governance/gauge/getPauseStatus.js +31 -0
  58. package/dist/contracts/governance/gauge/getPendingExtraRewards.js +2 -9
  59. package/dist/contracts/governance/gauge/getPendingRewards.js +8 -14
  60. package/dist/contracts/governance/gauge/getPeriodBoundaries.js +2 -15
  61. package/dist/contracts/governance/gauge/getPeriodDuration.js +2 -15
  62. package/dist/contracts/governance/gauge/getRaacAutolockMin.js +2 -9
  63. package/dist/contracts/governance/gauge/getRawBalanceOf.js +2 -15
  64. package/dist/contracts/governance/gauge/getRawTotalSupply.js +2 -15
  65. package/dist/contracts/governance/gauge/getRewardTokens.js +28 -0
  66. package/dist/contracts/governance/gauge/getTotalSupply.js +2 -15
  67. package/dist/contracts/governance/gauge/getUserApy.js +71 -0
  68. package/dist/contracts/governance/gauge/getUserClaimableRewards.js +21 -73
  69. package/dist/contracts/governance/gauge/getUserGaugeState.js +44 -0
  70. package/dist/contracts/governance/gauge/getUserRewardTokenData.js +2 -9
  71. package/dist/contracts/governance/gauge/getUserWeight.js +2 -9
  72. package/dist/contracts/governance/gauge/index.js +11 -1
  73. package/dist/contracts/governance/gauge/isPaused.js +4 -11
  74. package/dist/contracts/governance/gauge/manageDistributor.js +2 -12
  75. package/dist/contracts/governance/gauge/pullRewardsFromDistributor.js +30 -0
  76. package/dist/contracts/governance/gauge/setController.js +2 -12
  77. package/dist/contracts/governance/gauge/setDepositRAACOnClaim.js +2 -12
  78. package/dist/contracts/governance/gauge/setEmergencyPaused.js +2 -12
  79. package/dist/contracts/governance/gauge/setGaugeRewardDistributor.js +2 -12
  80. package/dist/contracts/governance/gauge/setRaacAutolockMin.js +2 -12
  81. package/dist/contracts/governance/gauge/stake.js +2 -18
  82. package/dist/contracts/governance/gauge/unwrapStakingToken.js +28 -0
  83. package/dist/contracts/governance/gauge/updateUserRewards.js +2 -18
  84. package/dist/contracts/governance/gauge/withdraw.js +2 -18
  85. package/dist/contracts/governance/gauge/wrapStakingToken.js +28 -0
  86. package/dist/contracts/governance/gaugeController/addGauge.js +19 -11
  87. package/dist/contracts/governance/gaugeController/batchVote.js +20 -12
  88. package/dist/contracts/governance/gaugeController/calculateBoost.js +20 -23
  89. package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +19 -11
  90. package/dist/contracts/governance/gaugeController/getActiveGaugeCount.js +28 -0
  91. package/dist/contracts/governance/gaugeController/getActiveGauges.js +10 -13
  92. package/dist/contracts/governance/gaugeController/getConstants.js +10 -18
  93. package/dist/contracts/governance/gaugeController/getCurrentEpoch.js +8 -7
  94. package/dist/contracts/governance/gaugeController/getExpiredGaugeVotePower.js +30 -0
  95. package/dist/contracts/governance/gaugeController/getGauge.js +11 -9
  96. package/dist/contracts/governance/gaugeController/getGaugeDistributor.js +28 -0
  97. package/dist/contracts/governance/gaugeController/getGaugeEmissions.js +15 -9
  98. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +19 -15
  99. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeightView.js +12 -10
  100. package/dist/contracts/governance/gaugeController/getGaugeWeight.js +10 -8
  101. package/dist/contracts/governance/gaugeController/getLastVoteTime.js +11 -9
  102. package/dist/contracts/governance/gaugeController/getMaxVoteBuckets.js +28 -0
  103. package/dist/contracts/governance/gaugeController/getNextEpoch.js +8 -7
  104. package/dist/contracts/governance/gaugeController/getRegisteredGaugeList.js +28 -0
  105. package/dist/contracts/governance/gaugeController/getTotalWeight.js +8 -7
  106. package/dist/contracts/governance/gaugeController/getUserGaugeVotePower.js +11 -9
  107. package/dist/contracts/governance/gaugeController/getUserVotePowerRemaining.js +10 -9
  108. package/dist/contracts/governance/gaugeController/getVeToken.js +8 -7
  109. package/dist/contracts/governance/gaugeController/getVoteUserLocks.js +32 -0
  110. package/dist/contracts/governance/gaugeController/getVoteUserPower.js +8 -7
  111. package/dist/contracts/governance/gaugeController/getVoteUserSlope.js +12 -10
  112. package/dist/contracts/governance/gaugeController/index.js +10 -1
  113. package/dist/contracts/governance/gaugeController/isGaugeActive.js +11 -9
  114. package/dist/contracts/governance/gaugeController/isPaused.js +9 -8
  115. package/dist/contracts/governance/gaugeController/kick.js +17 -10
  116. package/dist/contracts/governance/gaugeController/removeGauge.js +20 -11
  117. package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +19 -11
  118. package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +20 -12
  119. package/dist/contracts/governance/gaugeController/setDistributor.js +31 -0
  120. package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +20 -12
  121. package/dist/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.js +33 -0
  122. package/dist/contracts/governance/gaugeController/setEmergencyPause.js +18 -11
  123. package/dist/contracts/governance/gaugeController/setMaxVoteBuckets.js +31 -0
  124. package/dist/contracts/governance/gaugeController/vote.js +15 -16
  125. package/dist/contracts/governance/gaugeSystems/_helpers.js +123 -0
  126. package/dist/contracts/governance/gaugeSystems/findGauge.js +14 -0
  127. package/dist/contracts/governance/gaugeSystems/getGaugeSystem.js +14 -0
  128. package/dist/contracts/governance/gaugeSystems/getGaugeSystems.js +13 -0
  129. package/dist/contracts/governance/gaugeSystems/getGauges.js +15 -0
  130. package/dist/contracts/governance/gaugeSystems/index.js +21 -0
  131. package/dist/types/RPCLibrary.d.ts +2 -0
  132. package/dist/types/configs/chains/index.d.ts +36 -46
  133. package/dist/types/configs/index.d.ts +18 -23
  134. package/dist/types/contracts/governance/distributor/claimAll.d.ts +7 -5
  135. package/dist/types/contracts/governance/distributor/claimForGauge.d.ts +7 -6
  136. package/dist/types/contracts/governance/distributor/deposit.d.ts +7 -6
  137. package/dist/types/contracts/governance/distributor/getClaimableForGauge.d.ts +6 -4
  138. package/dist/types/contracts/governance/distributor/getClaimedAtEpoch.d.ts +7 -5
  139. package/dist/types/contracts/governance/distributor/getDepositedAtEpoch.d.ts +6 -4
  140. package/dist/types/contracts/governance/distributor/getDustLastProcessedEpoch.d.ts +12 -0
  141. package/dist/types/contracts/governance/distributor/getGaugeController.d.ts +5 -3
  142. package/dist/types/contracts/governance/distributor/getLastClaimedEpoch.d.ts +6 -4
  143. package/dist/types/contracts/governance/distributor/getMaxClaimBound.d.ts +15 -0
  144. package/dist/types/contracts/governance/distributor/getPeriodDuration.d.ts +5 -3
  145. package/dist/types/contracts/governance/distributor/getRewardToken.d.ts +5 -3
  146. package/dist/types/contracts/governance/distributor/getRewardTokenInfo.d.ts +5 -3
  147. package/dist/types/contracts/governance/distributor/getRewardTokenStats.d.ts +5 -3
  148. package/dist/types/contracts/governance/distributor/index.d.ts +5 -2
  149. package/dist/types/contracts/governance/distributor/setController.d.ts +7 -6
  150. package/dist/types/contracts/governance/distributor/setLastClaimedEpoch.d.ts +13 -0
  151. package/dist/types/contracts/governance/distributor/setMaxClaimBound.d.ts +13 -0
  152. package/dist/types/contracts/governance/distributor/withdrawDust.d.ts +13 -0
  153. package/dist/types/contracts/governance/distributor/withdrawRemovedGaugeRewards.d.ts +8 -7
  154. package/dist/types/contracts/governance/gauge/_apy.d.ts +61 -0
  155. package/dist/types/contracts/governance/gauge/_tokens.d.ts +14 -0
  156. package/dist/types/contracts/governance/gauge/approveGaugeToken.d.ts +14 -0
  157. package/dist/types/contracts/governance/gauge/claimRewardToken.d.ts +1 -1
  158. package/dist/types/contracts/governance/gauge/getApy.d.ts +41 -0
  159. package/dist/types/contracts/governance/gauge/getEarnedExtraReward.d.ts +13 -0
  160. package/dist/types/contracts/governance/gauge/getEarnedReward.d.ts +3 -2
  161. package/dist/types/contracts/governance/gauge/getGaugeData.d.ts +23 -0
  162. package/dist/types/contracts/governance/gauge/getPauseStatus.d.ts +19 -0
  163. package/dist/types/contracts/governance/gauge/getPendingRewards.d.ts +3 -2
  164. package/dist/types/contracts/governance/gauge/getRewardTokens.d.ts +11 -0
  165. package/dist/types/contracts/governance/gauge/getUserApy.d.ts +44 -0
  166. package/dist/types/contracts/governance/gauge/getUserClaimableRewards.d.ts +14 -12
  167. package/dist/types/contracts/governance/gauge/getUserGaugeState.d.ts +31 -0
  168. package/dist/types/contracts/governance/gauge/index.d.ts +11 -1
  169. package/dist/types/contracts/governance/gauge/isPaused.d.ts +1 -1
  170. package/dist/types/contracts/governance/gauge/pullRewardsFromDistributor.d.ts +11 -0
  171. package/dist/types/contracts/governance/gauge/unwrapStakingToken.d.ts +12 -0
  172. package/dist/types/contracts/governance/gauge/wrapStakingToken.d.ts +13 -0
  173. package/dist/types/contracts/governance/gaugeController/addGauge.d.ts +8 -5
  174. package/dist/types/contracts/governance/gaugeController/batchVote.d.ts +9 -6
  175. package/dist/types/contracts/governance/gaugeController/calculateBoost.d.ts +10 -8
  176. package/dist/types/contracts/governance/gaugeController/forceCompleteCheckpoint.d.ts +8 -5
  177. package/dist/types/contracts/governance/gaugeController/getActiveGaugeCount.d.ts +12 -0
  178. package/dist/types/contracts/governance/gaugeController/getActiveGauges.d.ts +7 -3
  179. package/dist/types/contracts/governance/gaugeController/getConstants.d.ts +6 -4
  180. package/dist/types/contracts/governance/gaugeController/getCurrentEpoch.d.ts +6 -3
  181. package/dist/types/contracts/governance/gaugeController/getExpiredGaugeVotePower.d.ts +16 -0
  182. package/dist/types/contracts/governance/gaugeController/getGauge.d.ts +7 -4
  183. package/dist/types/contracts/governance/gaugeController/getGaugeDistributor.d.ts +12 -0
  184. package/dist/types/contracts/governance/gaugeController/getGaugeEmissions.d.ts +6 -3
  185. package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeight.d.ts +8 -9
  186. package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeightView.d.ts +8 -5
  187. package/dist/types/contracts/governance/gaugeController/getGaugeWeight.d.ts +6 -4
  188. package/dist/types/contracts/governance/gaugeController/getLastVoteTime.d.ts +7 -4
  189. package/dist/types/contracts/governance/gaugeController/getMaxVoteBuckets.d.ts +12 -0
  190. package/dist/types/contracts/governance/gaugeController/getNextEpoch.d.ts +6 -3
  191. package/dist/types/contracts/governance/gaugeController/getRegisteredGaugeList.d.ts +12 -0
  192. package/dist/types/contracts/governance/gaugeController/getTotalWeight.d.ts +5 -3
  193. package/dist/types/contracts/governance/gaugeController/getUserGaugeVotePower.d.ts +7 -4
  194. package/dist/types/contracts/governance/gaugeController/getUserVotePowerRemaining.d.ts +6 -4
  195. package/dist/types/contracts/governance/gaugeController/getVeToken.d.ts +6 -3
  196. package/dist/types/contracts/governance/gaugeController/getVoteUserLocks.d.ts +17 -0
  197. package/dist/types/contracts/governance/gaugeController/getVoteUserPower.d.ts +6 -3
  198. package/dist/types/contracts/governance/gaugeController/getVoteUserSlope.d.ts +8 -5
  199. package/dist/types/contracts/governance/gaugeController/index.d.ts +10 -1
  200. package/dist/types/contracts/governance/gaugeController/isGaugeActive.d.ts +6 -4
  201. package/dist/types/contracts/governance/gaugeController/isPaused.d.ts +6 -3
  202. package/dist/types/contracts/governance/gaugeController/kick.d.ts +7 -4
  203. package/dist/types/contracts/governance/gaugeController/removeGauge.d.ts +9 -5
  204. package/dist/types/contracts/governance/gaugeController/removePowerFromGauge.d.ts +8 -5
  205. package/dist/types/contracts/governance/gaugeController/setBoostAmplificationEnabled.d.ts +9 -6
  206. package/dist/types/contracts/governance/gaugeController/setDistributor.d.ts +13 -0
  207. package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePause.d.ts +9 -6
  208. package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.d.ts +14 -0
  209. package/dist/types/contracts/governance/gaugeController/setEmergencyPause.d.ts +8 -5
  210. package/dist/types/contracts/governance/gaugeController/setMaxVoteBuckets.d.ts +13 -0
  211. package/dist/types/contracts/governance/gaugeController/vote.d.ts +9 -7
  212. package/dist/types/contracts/governance/gaugeSystems/_helpers.d.ts +71 -0
  213. package/dist/types/contracts/governance/gaugeSystems/findGauge.d.ts +11 -0
  214. package/dist/types/contracts/governance/gaugeSystems/getGaugeSystem.d.ts +11 -0
  215. package/dist/types/contracts/governance/gaugeSystems/getGaugeSystems.d.ts +10 -0
  216. package/dist/types/contracts/governance/gaugeSystems/getGauges.d.ts +13 -0
  217. package/dist/types/contracts/governance/gaugeSystems/index.d.ts +5 -0
  218. package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +176 -105
  219. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +260 -213
  220. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +173 -212
  221. package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +176 -105
  222. package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +176 -105
  223. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +111 -108
  224. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +210 -34
  225. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor.d.ts +112 -151
  226. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +174 -95
  227. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +243 -227
  228. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +164 -232
  229. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +185 -98
  230. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +185 -98
  231. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +104 -95
  232. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +241 -22
  233. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor__factory.d.ts +72 -158
  234. package/dist/types/utils/artifacts.d.ts +40 -0
  235. package/dist/types/utils/contracts.d.ts +34 -44
  236. package/dist/utils/contracts.js +1 -1
  237. package/package.json +1 -1
  238. package/dist/contracts/governance/distributor/getStartEpoch.js +0 -28
  239. package/dist/contracts/governance/distributor/withdrawUnallocatedRewards.js +0 -26
  240. package/dist/contracts/governance/gauge/setDistributorApproval.js +0 -35
  241. package/dist/types/contracts/governance/distributor/getStartEpoch.d.ts +0 -10
  242. package/dist/types/contracts/governance/distributor/withdrawUnallocatedRewards.d.ts +0 -12
  243. package/dist/types/contracts/governance/gauge/setDistributorApproval.d.ts +0 -11
@@ -6,22 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getNextEpoch = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
9
  const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
11
  /**
12
- * Gets the next epoch boundary (current epoch plus one week) from the GaugeController.
12
+ * Returns the start timestamp of the controller's next epoch. Votes cast now take effect at this epoch.
13
+ *
13
14
  * @param chainId - The chain/network to use.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
14
16
  * @param provider - Optional ethers.js Provider instance.
15
- * @returns Next epoch timestamp as a bigint.
17
+ * @returns The next epoch timestamp, seconds.
16
18
  */
17
- const getNextEpoch = async (chainId, provider) => {
19
+ const getNextEpoch = async (chainId, gaugeSystem, provider) => {
18
20
  if (!provider) {
19
21
  const rpc = chains_1.default[chainId].rpcs[0];
20
22
  provider = new ethers_1.ethers.JsonRpcProvider(rpc);
21
23
  }
22
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
23
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
24
- const contract = new ethers_1.ethers.Contract(address, abi, provider);
24
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
25
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
25
26
  return contract.getNextEpoch();
26
27
  };
27
28
  exports.getNextEpoch = getNextEpoch;
@@ -0,0 +1,28 @@
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.getRegisteredGaugeList = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const chains_1 = __importDefault(require("../../../configs/chains"));
9
+ const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
+ /**
12
+ * Returns every gauge registered on the controller, from `addGauge` until `removeGauge`, emergency-paused ones included.
13
+ *
14
+ * @param chainId - The chain/network to use.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
16
+ * @param provider - Optional ethers.js Provider instance.
17
+ * @returns The registered gauge addresses.
18
+ */
19
+ const getRegisteredGaugeList = async (chainId, gaugeSystem, provider) => {
20
+ if (!provider) {
21
+ const rpc = chains_1.default[chainId].rpcs[0];
22
+ provider = new ethers_1.ethers.JsonRpcProvider(rpc);
23
+ }
24
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
25
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
26
+ return [...(await contract.getRegisteredGaugeList())];
27
+ };
28
+ exports.getRegisteredGaugeList = getRegisteredGaugeList;
@@ -6,22 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getTotalWeight = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
- const GET_TOTAL_WEIGHT_ABI = "function getTotalWeight() view returns (uint256)";
9
+ const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
11
  /**
12
- * Gets the total weight of all active gauges.
12
+ * Returns the sum of all gauge weights at the current epoch.
13
13
  *
14
14
  * @param chainId - The chain/network to use.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
15
16
  * @param provider - Optional ethers.js Provider instance.
16
- * @returns Total weight of all active gauges formatted in ether units.
17
+ * @returns The total weight formatted in ether units.
17
18
  */
18
- const getTotalWeight = async (chainId, provider) => {
19
+ const getTotalWeight = async (chainId, gaugeSystem, provider) => {
19
20
  if (!provider) {
20
21
  const rpc = chains_1.default[chainId].rpcs[0];
21
22
  provider = new ethers_1.ethers.JsonRpcProvider(rpc);
22
23
  }
23
- const contractAddress = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
24
- const contract = new ethers_1.ethers.Contract(contractAddress, [GET_TOTAL_WEIGHT_ABI], provider);
24
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
25
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
25
26
  const totalWeight = await contract.getTotalWeight();
26
27
  return ethers_1.ethers.formatEther(totalWeight);
27
28
  };
@@ -6,24 +6,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getUserGaugeVotePower = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
9
  const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
11
  /**
12
- * Gets the vote weight (in basis points) a user has allocated to a gauge.
12
+ * Returns the vote power a user has allocated to a gauge.
13
+ *
13
14
  * @param chainId - The chain/network to use.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
14
16
  * @param user - Address of the user.
15
- * @param gauge - Address of the gauge.
17
+ * @param gaugeAddressOrId - Address or config id of the gauge.
16
18
  * @param provider - Optional ethers.js Provider instance.
17
- * @returns Vote weight in basis points as a bigint.
19
+ * @returns The allocated vote power.
18
20
  */
19
- const getUserGaugeVotePower = async (chainId, user, gauge, provider) => {
21
+ const getUserGaugeVotePower = async (chainId, gaugeSystem, user, gaugeAddressOrId, provider) => {
20
22
  if (!provider) {
21
23
  const rpc = chains_1.default[chainId].rpcs[0];
22
24
  provider = new ethers_1.ethers.JsonRpcProvider(rpc);
23
25
  }
24
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
25
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
26
- const contract = new ethers_1.ethers.Contract(address, abi, provider);
27
- return contract.getUserGaugeVotePower(user, gauge);
26
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
27
+ const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
28
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
29
+ return contract.getUserGaugeVotePower(user, gaugeAddress);
28
30
  };
29
31
  exports.getUserGaugeVotePower = getUserGaugeVotePower;
@@ -6,24 +6,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getUserVotePowerRemaining = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
- const GET_USER_VOTE_POWER_REMAINING_ABI = "function getUserVotePowerRemaining(address user) view returns (uint256)";
9
+ const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
11
  /**
12
- * Get user's remaining voting power available.
12
+ * Returns the vote weight a user has not yet allocated, in basis points.
13
13
  *
14
14
  * @param chainId - The chain/network to use.
15
- * @param userAddress - Address of the user.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
16
+ * @param user - Address of the user.
16
17
  * @param provider - Optional ethers.js Provider instance.
17
- * @returns Remaining voting power in basis points (0-10000).
18
+ * @returns The remaining vote weight.
18
19
  */
19
- const getUserVotePowerRemaining = async (chainId, userAddress, provider) => {
20
+ const getUserVotePowerRemaining = async (chainId, gaugeSystem, user, provider) => {
20
21
  if (!provider) {
21
22
  const rpc = chains_1.default[chainId].rpcs[0];
22
23
  provider = new ethers_1.ethers.JsonRpcProvider(rpc);
23
24
  }
24
- const contractAddress = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
25
- const contract = new ethers_1.ethers.Contract(contractAddress, [GET_USER_VOTE_POWER_REMAINING_ABI], provider);
26
- const remaining = await contract.getUserVotePowerRemaining(userAddress);
25
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
26
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
27
+ const remaining = await contract.getUserVotePowerRemaining(user);
27
28
  return Number(remaining);
28
29
  };
29
30
  exports.getUserVotePowerRemaining = getUserVotePowerRemaining;
@@ -6,22 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getVeToken = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
9
  const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
11
  /**
12
- * Gets the veToken (voting escrow token) address used by the GaugeController.
12
+ * Returns the voting escrow token the controller reads vote power from.
13
+ *
13
14
  * @param chainId - The chain/network to use.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
14
16
  * @param provider - Optional ethers.js Provider instance.
15
- * @returns The veToken contract address as a string.
17
+ * @returns The veToken address.
16
18
  */
17
- const getVeToken = async (chainId, provider) => {
19
+ const getVeToken = async (chainId, gaugeSystem, provider) => {
18
20
  if (!provider) {
19
21
  const rpc = chains_1.default[chainId].rpcs[0];
20
22
  provider = new ethers_1.ethers.JsonRpcProvider(rpc);
21
23
  }
22
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
23
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
24
- const contract = new ethers_1.ethers.Contract(address, abi, provider);
24
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
25
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
25
26
  return contract.veToken();
26
27
  };
27
28
  exports.getVeToken = getVeToken;
@@ -0,0 +1,32 @@
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.getVoteUserLocks = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const chains_1 = __importDefault(require("../../../configs/chains"));
9
+ const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
+ /**
12
+ * Returns the per-lock entries backing a user's vote on a gauge.
13
+ *
14
+ * @param chainId - The chain/network to use.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
16
+ * @param user - Address of the user.
17
+ * @param gaugeAddressOrId - Address or config id of the gauge.
18
+ * @param provider - Optional ethers.js Provider instance.
19
+ * @returns Each entry's locked amount and unlock time.
20
+ */
21
+ const getVoteUserLocks = async (chainId, gaugeSystem, user, gaugeAddressOrId, provider) => {
22
+ if (!provider) {
23
+ const rpc = chains_1.default[chainId].rpcs[0];
24
+ provider = new ethers_1.ethers.JsonRpcProvider(rpc);
25
+ }
26
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
27
+ const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
28
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
29
+ const entries = await contract.getVoteUserLocks(user, gaugeAddress);
30
+ return entries.map(([locked, unlockTime]) => ({ locked, unlockTime }));
31
+ };
32
+ exports.getVoteUserLocks = getVoteUserLocks;
@@ -6,23 +6,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getVoteUserPower = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
9
  const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
11
  /**
12
- * Gets the total vote power a user has currently allocated across all gauges.
12
+ * Returns the total vote weight a user has allocated across gauges, in basis points.
13
+ *
13
14
  * @param chainId - The chain/network to use.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
14
16
  * @param user - Address of the user.
15
17
  * @param provider - Optional ethers.js Provider instance.
16
- * @returns The user's allocated vote power as a bigint.
18
+ * @returns The allocated vote weight.
17
19
  */
18
- const getVoteUserPower = async (chainId, user, provider) => {
20
+ const getVoteUserPower = async (chainId, gaugeSystem, user, provider) => {
19
21
  if (!provider) {
20
22
  const rpc = chains_1.default[chainId].rpcs[0];
21
23
  provider = new ethers_1.ethers.JsonRpcProvider(rpc);
22
24
  }
23
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
24
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
25
- const contract = new ethers_1.ethers.Contract(address, abi, provider);
25
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
26
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
26
27
  return contract.voteUserPower(user);
27
28
  };
28
29
  exports.getVoteUserPower = getVoteUserPower;
@@ -6,25 +6,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getVoteUserSlope = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
9
  const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
11
  /**
12
- * Reads a user's vote slope for a gauge from the public `voteUserSlopes` mapping.
12
+ * Reads a user's vote on a gauge from the public `voteUserSlopes` mapping.
13
+ *
13
14
  * @param chainId - The chain/network to use.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
14
16
  * @param user - Address of the user.
15
- * @param gauge - Address of the gauge.
17
+ * @param gaugeAddressOrId - Address or config id of the gauge.
16
18
  * @param provider - Optional ethers.js Provider instance.
17
- * @returns An object with locked, power and end, all bigint.
19
+ * @returns locked amount, vote power and the vote timestamp.
18
20
  */
19
- const getVoteUserSlope = async (chainId, user, gauge, provider) => {
21
+ const getVoteUserSlope = async (chainId, gaugeSystem, user, gaugeAddressOrId, provider) => {
20
22
  if (!provider) {
21
23
  const rpc = chains_1.default[chainId].rpcs[0];
22
24
  provider = new ethers_1.ethers.JsonRpcProvider(rpc);
23
25
  }
24
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
25
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
26
- const contract = new ethers_1.ethers.Contract(address, abi, provider);
27
- const [locked, power, end] = await contract.voteUserSlopes(user, gauge);
28
- return { locked, power, end };
26
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
27
+ const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
28
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
29
+ const [locked, power, voteTs] = await contract.voteUserSlopes(user, gaugeAddress);
30
+ return { locked, power, voteTs };
29
31
  };
30
32
  exports.getVoteUserSlope = getVoteUserSlope;
@@ -19,20 +19,26 @@ __exportStar(require("./addGauge"), exports);
19
19
  __exportStar(require("./batchVote"), exports);
20
20
  __exportStar(require("./calculateBoost"), exports);
21
21
  __exportStar(require("./forceCompleteCheckpoint"), exports);
22
+ __exportStar(require("./getActiveGaugeCount"), exports);
22
23
  __exportStar(require("./getActiveGauges"), exports);
23
24
  __exportStar(require("./getConstants"), exports);
24
25
  __exportStar(require("./getCurrentEpoch"), exports);
26
+ __exportStar(require("./getExpiredGaugeVotePower"), exports);
25
27
  __exportStar(require("./getGauge"), exports);
28
+ __exportStar(require("./getGaugeDistributor"), exports);
29
+ __exportStar(require("./getGaugeEmissions"), exports);
26
30
  __exportStar(require("./getGaugeRelativeWeight"), exports);
27
31
  __exportStar(require("./getGaugeRelativeWeightView"), exports);
28
- __exportStar(require("./getGaugeEmissions"), exports);
29
32
  __exportStar(require("./getGaugeWeight"), exports);
30
33
  __exportStar(require("./getLastVoteTime"), exports);
34
+ __exportStar(require("./getMaxVoteBuckets"), exports);
31
35
  __exportStar(require("./getNextEpoch"), exports);
36
+ __exportStar(require("./getRegisteredGaugeList"), exports);
32
37
  __exportStar(require("./getTotalWeight"), exports);
33
38
  __exportStar(require("./getUserGaugeVotePower"), exports);
34
39
  __exportStar(require("./getUserVotePowerRemaining"), exports);
35
40
  __exportStar(require("./getVeToken"), exports);
41
+ __exportStar(require("./getVoteUserLocks"), exports);
36
42
  __exportStar(require("./getVoteUserPower"), exports);
37
43
  __exportStar(require("./getVoteUserSlope"), exports);
38
44
  __exportStar(require("./isGaugeActive"), exports);
@@ -41,6 +47,9 @@ __exportStar(require("./kick"), exports);
41
47
  __exportStar(require("./removeGauge"), exports);
42
48
  __exportStar(require("./removePowerFromGauge"), exports);
43
49
  __exportStar(require("./setBoostAmplificationEnabled"), exports);
50
+ __exportStar(require("./setDistributor"), exports);
44
51
  __exportStar(require("./setEmergencyGaugePause"), exports);
52
+ __exportStar(require("./setEmergencyGaugePauseBatch"), exports);
45
53
  __exportStar(require("./setEmergencyPause"), exports);
54
+ __exportStar(require("./setMaxVoteBuckets"), exports);
46
55
  __exportStar(require("./vote"), exports);
@@ -6,23 +6,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.isGaugeActive = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
- const IS_GAUGE_ACTIVE_ABI = "function isGaugeActive(address gauge) view returns (bool)";
9
+ const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
11
  /**
12
- * Checks if a gauge is active.
12
+ * Checks whether a gauge is registered and active on the controller. An emergency-paused gauge is still active.
13
13
  *
14
14
  * @param chainId - The chain/network to use.
15
- * @param gaugeAddress - Address of the gauge.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
16
+ * @param gaugeAddressOrId - Address or config id of the gauge.
16
17
  * @param provider - Optional ethers.js Provider instance.
17
- * @returns True if gauge is active.
18
+ * @returns True if the gauge is active.
18
19
  */
19
- const isGaugeActive = async (chainId, gaugeAddress, provider) => {
20
+ const isGaugeActive = async (chainId, gaugeSystem, gaugeAddressOrId, provider) => {
20
21
  if (!provider) {
21
22
  const rpc = chains_1.default[chainId].rpcs[0];
22
23
  provider = new ethers_1.ethers.JsonRpcProvider(rpc);
23
24
  }
24
- const contractAddress = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
25
- const contract = new ethers_1.ethers.Contract(contractAddress, [IS_GAUGE_ACTIVE_ABI], provider);
26
- return await contract.isGaugeActive(gaugeAddress);
25
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
26
+ const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
27
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
28
+ return contract.isGaugeActive(gaugeAddress);
27
29
  };
28
30
  exports.isGaugeActive = isGaugeActive;
@@ -6,22 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.isPaused = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const chains_1 = __importDefault(require("../../../configs/chains"));
9
- const getContractAddress_1 = require("../../getContractAddress");
10
9
  const artifacts_1 = require("../../../utils/artifacts");
10
+ const _helpers_1 = require("../gaugeSystems/_helpers");
11
11
  /**
12
- * Checks whether the GaugeController is currently paused.
12
+ * Reports the controller's global emergency pause. While it is on, voting and kicks stop and every gauge's stake and claim functions revert; withdrawals stay open. Says nothing about a gauge's own pause switch (see `governance.gauge.isPaused`).
13
+ *
13
14
  * @param chainId - The chain/network to use.
15
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
14
16
  * @param provider - Optional ethers.js Provider instance.
15
- * @returns True if the contract is paused, false otherwise.
17
+ * @returns True if the controller is globally paused.
16
18
  */
17
- const isPaused = async (chainId, provider) => {
19
+ const isPaused = async (chainId, gaugeSystem, provider) => {
18
20
  if (!provider) {
19
21
  const rpc = chains_1.default[chainId].rpcs[0];
20
22
  provider = new ethers_1.ethers.JsonRpcProvider(rpc);
21
23
  }
22
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
23
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
24
- const contract = new ethers_1.ethers.Contract(address, abi, provider);
25
- return contract.paused();
24
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
25
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), provider);
26
+ return contract.isPaused();
26
27
  };
27
28
  exports.isPaused = isPaused;
@@ -2,23 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.kick = void 0;
4
4
  const ethers_1 = require("ethers");
5
- const getContractAddress_1 = require("../../getContractAddress");
6
5
  const artifacts_1 = require("../../../utils/artifacts");
6
+ const _helpers_1 = require("../gaugeSystems/_helpers");
7
+ const _helpers_2 = require("../_helpers");
7
8
  /**
8
- * Kicks a user, forcing a re-checkpoint of their vote power (e.g. after their veToken lock expired).
9
+ * Writes down the vote weight of a user whose locks have expired. Reverts during a global pause.
10
+ *
9
11
  * @param chainId - The chain/network to use.
12
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
10
13
  * @param user - Address of the user to kick.
11
14
  * @param signer - An ethers.js Signer instance (required).
12
- * @returns The transaction response.
15
+ * @returns The transaction after it has been mined.
13
16
  */
14
- const kick = async (chainId, user, signer) => {
17
+ const kick = async (chainId, gaugeSystem, user, signer) => {
15
18
  if (!signer)
16
19
  throw new Error("Signer is required");
17
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
18
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
19
- const contract = new ethers_1.ethers.Contract(address, abi, signer);
20
- const tx = await contract.kick(user);
21
- await tx.wait();
22
- return tx;
20
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
21
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), signer);
22
+ try {
23
+ const tx = await contract.kick(user);
24
+ await tx.wait();
25
+ return tx;
26
+ }
27
+ catch (error) {
28
+ throw (0, _helpers_2.toGovernanceTxError)("Failed to kick user", error);
29
+ }
23
30
  };
24
31
  exports.kick = kick;
@@ -2,23 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.removeGauge = void 0;
4
4
  const ethers_1 = require("ethers");
5
- const getContractAddress_1 = require("../../getContractAddress");
6
5
  const artifacts_1 = require("../../../utils/artifacts");
6
+ const _helpers_1 = require("../gaugeSystems/_helpers");
7
+ const _helpers_2 = require("../_helpers");
7
8
  /**
8
- * Removes a gauge from the GaugeController. Requires the GAUGE_ADMIN role.
9
+ * Removes a gauge from the controller permanently. Requires GAUGE_ADMIN. Kicks the gauge's weight, unregisters it and redirects its unclaimed distributor entitlement to `recipient` in the same transaction. Not pause-gated.
10
+ *
9
11
  * @param chainId - The chain/network to use.
10
- * @param gauge - Address of the gauge to remove.
12
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
13
+ * @param gaugeAddressOrId - Address or config id of the gauge.
14
+ * @param recipient - Address that receives the gauge's unclaimed rewards.
11
15
  * @param signer - An ethers.js Signer instance (required).
12
- * @returns The transaction response.
16
+ * @returns The transaction after it has been mined.
13
17
  */
14
- const removeGauge = async (chainId, gauge, signer) => {
18
+ const removeGauge = async (chainId, gaugeSystem, gaugeAddressOrId, recipient, signer) => {
15
19
  if (!signer)
16
20
  throw new Error("Signer is required");
17
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
18
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
19
- const contract = new ethers_1.ethers.Contract(address, abi, signer);
20
- const tx = await contract.removeGauge(gauge);
21
- await tx.wait();
22
- return tx;
21
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
22
+ const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
23
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), signer);
24
+ try {
25
+ const tx = await contract.removeGauge(gaugeAddress, recipient);
26
+ await tx.wait();
27
+ return tx;
28
+ }
29
+ catch (error) {
30
+ throw (0, _helpers_2.toGovernanceTxError)("Failed to remove gauge", error);
31
+ }
23
32
  };
24
33
  exports.removeGauge = removeGauge;
@@ -2,23 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.removePowerFromGauge = void 0;
4
4
  const ethers_1 = require("ethers");
5
- const getContractAddress_1 = require("../../getContractAddress");
6
5
  const artifacts_1 = require("../../../utils/artifacts");
6
+ const _helpers_1 = require("../gaugeSystems/_helpers");
7
+ const _helpers_2 = require("../_helpers");
7
8
  /**
8
- * Removes the caller's allocated vote power from a gauge.
9
+ * Releases the vote power a user still has on a removed gauge. For a paused (still active) gauge, vote 0 instead.
10
+ *
9
11
  * @param chainId - The chain/network to use.
10
- * @param gauge - Address of the gauge to remove power from.
12
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
13
+ * @param gaugeAddressOrId - Address or config id of the gauge.
11
14
  * @param signer - An ethers.js Signer instance (required).
12
- * @returns The transaction response.
15
+ * @returns The transaction after it has been mined.
13
16
  */
14
- const removePowerFromGauge = async (chainId, gauge, signer) => {
17
+ const removePowerFromGauge = async (chainId, gaugeSystem, gaugeAddressOrId, signer) => {
15
18
  if (!signer)
16
19
  throw new Error("Signer is required");
17
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
18
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
19
- const contract = new ethers_1.ethers.Contract(address, abi, signer);
20
- const tx = await contract.removePowerFromGauge(gauge);
21
- await tx.wait();
22
- return tx;
20
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
21
+ const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
22
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), signer);
23
+ try {
24
+ const tx = await contract.removePowerFromGauge(gaugeAddress);
25
+ await tx.wait();
26
+ return tx;
27
+ }
28
+ catch (error) {
29
+ throw (0, _helpers_2.toGovernanceTxError)("Failed to remove power from gauge", error);
30
+ }
23
31
  };
24
32
  exports.removePowerFromGauge = removePowerFromGauge;
@@ -2,24 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setBoostAmplificationEnabled = void 0;
4
4
  const ethers_1 = require("ethers");
5
- const getContractAddress_1 = require("../../getContractAddress");
6
5
  const artifacts_1 = require("../../../utils/artifacts");
6
+ const _helpers_1 = require("../gaugeSystems/_helpers");
7
+ const _helpers_2 = require("../_helpers");
7
8
  /**
8
- * Enables or disables boost amplification for a gauge. Requires the GAUGE_ADMIN role.
9
+ * Enables or disables boost amplification for a gauge. Requires GAUGE_ADMIN.
10
+ *
9
11
  * @param chainId - The chain/network to use.
10
- * @param gauge - Address of the gauge.
11
- * @param enabled - Whether boost amplification should be enabled.
12
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
13
+ * @param gaugeAddressOrId - Address or config id of the gauge.
14
+ * @param enabled - True to enable amplification.
12
15
  * @param signer - An ethers.js Signer instance (required).
13
- * @returns The transaction response.
16
+ * @returns The transaction after it has been mined.
14
17
  */
15
- const setBoostAmplificationEnabled = async (chainId, gauge, enabled, signer) => {
18
+ const setBoostAmplificationEnabled = async (chainId, gaugeSystem, gaugeAddressOrId, enabled, signer) => {
16
19
  if (!signer)
17
20
  throw new Error("Signer is required");
18
- const address = (0, getContractAddress_1.getContractAddress)(chainId, "gaugecontroller");
19
- const abi = (0, artifacts_1.getABI)("gaugecontroller");
20
- const contract = new ethers_1.ethers.Contract(address, abi, signer);
21
- const tx = await contract.setBoostAmplificationEnabled(gauge, enabled);
22
- await tx.wait();
23
- return tx;
21
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
22
+ const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
23
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), signer);
24
+ try {
25
+ const tx = await contract.setBoostAmplificationEnabled(gaugeAddress, enabled);
26
+ await tx.wait();
27
+ return tx;
28
+ }
29
+ catch (error) {
30
+ throw (0, _helpers_2.toGovernanceTxError)("Failed to set boost amplification", error);
31
+ }
24
32
  };
25
33
  exports.setBoostAmplificationEnabled = setBoostAmplificationEnabled;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setDistributor = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const artifacts_1 = require("../../../utils/artifacts");
6
+ const _helpers_1 = require("../gaugeSystems/_helpers");
7
+ const _helpers_2 = require("../_helpers");
8
+ /**
9
+ * Sets the GaugeRewardsDistributor wired to the controller. Requires GAUGE_ADMIN.
10
+ *
11
+ * @param chainId - The chain/network to use.
12
+ * @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeController address.
13
+ * @param distributor - Address of the new distributor.
14
+ * @param signer - An ethers.js Signer instance (required).
15
+ * @returns The transaction after it has been mined.
16
+ */
17
+ const setDistributor = async (chainId, gaugeSystem, distributor, signer) => {
18
+ if (!signer)
19
+ throw new Error("Signer is required");
20
+ const address = (0, _helpers_1.resolveGaugeController)(chainId, gaugeSystem);
21
+ const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugecontroller"), signer);
22
+ try {
23
+ const tx = await contract.setDistributor(distributor);
24
+ await tx.wait();
25
+ return tx;
26
+ }
27
+ catch (error) {
28
+ throw (0, _helpers_2.toGovernanceTxError)("Failed to set distributor", error);
29
+ }
30
+ };
31
+ exports.setDistributor = setDistributor;