@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.
- package/dist/RPCLibrary.js +2 -0
- package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +113 -20
- package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +259 -31
- package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +159 -31
- package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +115 -22
- package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +115 -22
- package/dist/configs/chains/1.json +22 -25
- package/dist/configs/chains/11155111.json +56 -71
- package/dist/configs/chains/17000.json +22 -25
- package/dist/configs/chains/18453.json +22 -25
- package/dist/configs/chains/8453.json +61 -31
- package/dist/contracts/findContract.js +11 -4
- package/dist/contracts/getContractAddress.js +0 -1
- package/dist/contracts/governance/distributor/claimAll.js +18 -11
- package/dist/contracts/governance/distributor/claimForGauge.js +18 -12
- package/dist/contracts/governance/distributor/deposit.js +17 -12
- package/dist/contracts/governance/distributor/getClaimableForGauge.js +10 -9
- package/dist/contracts/governance/distributor/getClaimedAtEpoch.js +11 -10
- package/dist/contracts/governance/distributor/getDepositedAtEpoch.js +8 -8
- package/dist/contracts/governance/distributor/getDustLastProcessedEpoch.js +28 -0
- package/dist/contracts/governance/distributor/getGaugeController.js +7 -7
- package/dist/contracts/governance/distributor/getLastClaimedEpoch.js +10 -9
- package/dist/contracts/governance/distributor/getMaxClaimBound.js +29 -0
- package/dist/contracts/governance/distributor/getPeriodDuration.js +7 -7
- package/dist/contracts/governance/distributor/getRewardToken.js +7 -7
- package/dist/contracts/governance/distributor/getRewardTokenInfo.js +7 -7
- package/dist/contracts/governance/distributor/getRewardTokenStats.js +7 -7
- package/dist/contracts/governance/distributor/index.js +5 -2
- package/dist/contracts/governance/distributor/setController.js +17 -12
- package/dist/contracts/governance/distributor/setLastClaimedEpoch.js +32 -0
- package/dist/contracts/governance/distributor/setMaxClaimBound.js +31 -0
- package/dist/contracts/governance/distributor/withdrawDust.js +31 -0
- package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +19 -13
- package/dist/contracts/governance/gauge/_apy.js +122 -0
- package/dist/contracts/governance/gauge/_tokens.js +36 -0
- package/dist/contracts/governance/gauge/addRewardToken.js +2 -12
- package/dist/contracts/governance/gauge/approveGaugeToken.js +31 -0
- package/dist/contracts/governance/gauge/claimExtraReward.js +2 -12
- package/dist/contracts/governance/gauge/claimExtraRewards.js +2 -12
- package/dist/contracts/governance/gauge/claimOnBehalfOf.js +2 -12
- package/dist/contracts/governance/gauge/claimRewardToken.js +3 -13
- package/dist/contracts/governance/gauge/claimRewardsFor.js +2 -12
- package/dist/contracts/governance/gauge/depositRewardToken.js +2 -12
- package/dist/contracts/governance/gauge/getAllPendingExtraRewards.js +2 -9
- package/dist/contracts/governance/gauge/getApy.js +44 -0
- package/dist/contracts/governance/gauge/getBalanceOf.js +2 -15
- package/dist/contracts/governance/gauge/getControllerAddress.js +2 -9
- package/dist/contracts/governance/gauge/getDecimalAdjustment.js +2 -9
- package/dist/contracts/governance/gauge/getDepositRAACOnClaim.js +2 -9
- package/dist/contracts/governance/gauge/getDistributorData.js +2 -9
- package/dist/contracts/governance/gauge/getDistributors.js +2 -9
- package/dist/contracts/governance/gauge/getEarnedExtraReward.js +30 -0
- package/dist/contracts/governance/gauge/getEarnedReward.js +8 -14
- package/dist/contracts/governance/gauge/getExtraRewardTokens.js +2 -9
- package/dist/contracts/governance/gauge/getGaugeData.js +39 -0
- package/dist/contracts/governance/gauge/getGaugeRewardTokenData.js +2 -9
- package/dist/contracts/governance/gauge/getPauseStatus.js +31 -0
- package/dist/contracts/governance/gauge/getPendingExtraRewards.js +2 -9
- package/dist/contracts/governance/gauge/getPendingRewards.js +8 -14
- package/dist/contracts/governance/gauge/getPeriodBoundaries.js +2 -15
- package/dist/contracts/governance/gauge/getPeriodDuration.js +2 -15
- package/dist/contracts/governance/gauge/getRaacAutolockMin.js +2 -9
- package/dist/contracts/governance/gauge/getRawBalanceOf.js +2 -15
- package/dist/contracts/governance/gauge/getRawTotalSupply.js +2 -15
- package/dist/contracts/governance/gauge/getRewardTokens.js +28 -0
- package/dist/contracts/governance/gauge/getTotalSupply.js +2 -15
- package/dist/contracts/governance/gauge/getUserApy.js +71 -0
- package/dist/contracts/governance/gauge/getUserClaimableRewards.js +21 -73
- package/dist/contracts/governance/gauge/getUserGaugeState.js +44 -0
- package/dist/contracts/governance/gauge/getUserRewardTokenData.js +2 -9
- package/dist/contracts/governance/gauge/getUserWeight.js +2 -9
- package/dist/contracts/governance/gauge/index.js +11 -1
- package/dist/contracts/governance/gauge/isPaused.js +4 -11
- package/dist/contracts/governance/gauge/manageDistributor.js +2 -12
- package/dist/contracts/governance/gauge/pullRewardsFromDistributor.js +30 -0
- package/dist/contracts/governance/gauge/setController.js +2 -12
- package/dist/contracts/governance/gauge/setDepositRAACOnClaim.js +2 -12
- package/dist/contracts/governance/gauge/setEmergencyPaused.js +2 -12
- package/dist/contracts/governance/gauge/setGaugeRewardDistributor.js +2 -12
- package/dist/contracts/governance/gauge/setRaacAutolockMin.js +2 -12
- package/dist/contracts/governance/gauge/stake.js +2 -18
- package/dist/contracts/governance/gauge/unwrapStakingToken.js +28 -0
- package/dist/contracts/governance/gauge/updateUserRewards.js +2 -18
- package/dist/contracts/governance/gauge/withdraw.js +2 -18
- package/dist/contracts/governance/gauge/wrapStakingToken.js +28 -0
- package/dist/contracts/governance/gaugeController/addGauge.js +19 -11
- package/dist/contracts/governance/gaugeController/batchVote.js +20 -12
- package/dist/contracts/governance/gaugeController/calculateBoost.js +20 -23
- package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +19 -11
- package/dist/contracts/governance/gaugeController/getActiveGaugeCount.js +28 -0
- package/dist/contracts/governance/gaugeController/getActiveGauges.js +10 -13
- package/dist/contracts/governance/gaugeController/getConstants.js +10 -18
- package/dist/contracts/governance/gaugeController/getCurrentEpoch.js +8 -7
- package/dist/contracts/governance/gaugeController/getExpiredGaugeVotePower.js +30 -0
- package/dist/contracts/governance/gaugeController/getGauge.js +11 -9
- package/dist/contracts/governance/gaugeController/getGaugeDistributor.js +28 -0
- package/dist/contracts/governance/gaugeController/getGaugeEmissions.js +15 -9
- package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +19 -15
- package/dist/contracts/governance/gaugeController/getGaugeRelativeWeightView.js +12 -10
- package/dist/contracts/governance/gaugeController/getGaugeWeight.js +10 -8
- package/dist/contracts/governance/gaugeController/getLastVoteTime.js +11 -9
- package/dist/contracts/governance/gaugeController/getMaxVoteBuckets.js +28 -0
- package/dist/contracts/governance/gaugeController/getNextEpoch.js +8 -7
- package/dist/contracts/governance/gaugeController/getRegisteredGaugeList.js +28 -0
- package/dist/contracts/governance/gaugeController/getTotalWeight.js +8 -7
- package/dist/contracts/governance/gaugeController/getUserGaugeVotePower.js +11 -9
- package/dist/contracts/governance/gaugeController/getUserVotePowerRemaining.js +10 -9
- package/dist/contracts/governance/gaugeController/getVeToken.js +8 -7
- package/dist/contracts/governance/gaugeController/getVoteUserLocks.js +32 -0
- package/dist/contracts/governance/gaugeController/getVoteUserPower.js +8 -7
- package/dist/contracts/governance/gaugeController/getVoteUserSlope.js +12 -10
- package/dist/contracts/governance/gaugeController/index.js +10 -1
- package/dist/contracts/governance/gaugeController/isGaugeActive.js +11 -9
- package/dist/contracts/governance/gaugeController/isPaused.js +9 -8
- package/dist/contracts/governance/gaugeController/kick.js +17 -10
- package/dist/contracts/governance/gaugeController/removeGauge.js +20 -11
- package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +19 -11
- package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +20 -12
- package/dist/contracts/governance/gaugeController/setDistributor.js +31 -0
- package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +20 -12
- package/dist/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.js +33 -0
- package/dist/contracts/governance/gaugeController/setEmergencyPause.js +18 -11
- package/dist/contracts/governance/gaugeController/setMaxVoteBuckets.js +31 -0
- package/dist/contracts/governance/gaugeController/vote.js +15 -16
- package/dist/contracts/governance/gaugeSystems/_helpers.js +123 -0
- package/dist/contracts/governance/gaugeSystems/findGauge.js +14 -0
- package/dist/contracts/governance/gaugeSystems/getGaugeSystem.js +14 -0
- package/dist/contracts/governance/gaugeSystems/getGaugeSystems.js +13 -0
- package/dist/contracts/governance/gaugeSystems/getGauges.js +15 -0
- package/dist/contracts/governance/gaugeSystems/index.js +21 -0
- package/dist/types/RPCLibrary.d.ts +2 -0
- package/dist/types/configs/chains/index.d.ts +36 -46
- package/dist/types/configs/index.d.ts +18 -23
- package/dist/types/contracts/governance/distributor/claimAll.d.ts +7 -5
- package/dist/types/contracts/governance/distributor/claimForGauge.d.ts +7 -6
- package/dist/types/contracts/governance/distributor/deposit.d.ts +7 -6
- package/dist/types/contracts/governance/distributor/getClaimableForGauge.d.ts +6 -4
- package/dist/types/contracts/governance/distributor/getClaimedAtEpoch.d.ts +7 -5
- package/dist/types/contracts/governance/distributor/getDepositedAtEpoch.d.ts +6 -4
- package/dist/types/contracts/governance/distributor/getDustLastProcessedEpoch.d.ts +12 -0
- package/dist/types/contracts/governance/distributor/getGaugeController.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/getLastClaimedEpoch.d.ts +6 -4
- package/dist/types/contracts/governance/distributor/getMaxClaimBound.d.ts +15 -0
- package/dist/types/contracts/governance/distributor/getPeriodDuration.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/getRewardToken.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/getRewardTokenInfo.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/getRewardTokenStats.d.ts +5 -3
- package/dist/types/contracts/governance/distributor/index.d.ts +5 -2
- package/dist/types/contracts/governance/distributor/setController.d.ts +7 -6
- package/dist/types/contracts/governance/distributor/setLastClaimedEpoch.d.ts +13 -0
- package/dist/types/contracts/governance/distributor/setMaxClaimBound.d.ts +13 -0
- package/dist/types/contracts/governance/distributor/withdrawDust.d.ts +13 -0
- package/dist/types/contracts/governance/distributor/withdrawRemovedGaugeRewards.d.ts +8 -7
- package/dist/types/contracts/governance/gauge/_apy.d.ts +61 -0
- package/dist/types/contracts/governance/gauge/_tokens.d.ts +14 -0
- package/dist/types/contracts/governance/gauge/approveGaugeToken.d.ts +14 -0
- package/dist/types/contracts/governance/gauge/claimRewardToken.d.ts +1 -1
- package/dist/types/contracts/governance/gauge/getApy.d.ts +41 -0
- package/dist/types/contracts/governance/gauge/getEarnedExtraReward.d.ts +13 -0
- package/dist/types/contracts/governance/gauge/getEarnedReward.d.ts +3 -2
- package/dist/types/contracts/governance/gauge/getGaugeData.d.ts +23 -0
- package/dist/types/contracts/governance/gauge/getPauseStatus.d.ts +19 -0
- package/dist/types/contracts/governance/gauge/getPendingRewards.d.ts +3 -2
- package/dist/types/contracts/governance/gauge/getRewardTokens.d.ts +11 -0
- package/dist/types/contracts/governance/gauge/getUserApy.d.ts +44 -0
- package/dist/types/contracts/governance/gauge/getUserClaimableRewards.d.ts +14 -12
- package/dist/types/contracts/governance/gauge/getUserGaugeState.d.ts +31 -0
- package/dist/types/contracts/governance/gauge/index.d.ts +11 -1
- package/dist/types/contracts/governance/gauge/isPaused.d.ts +1 -1
- package/dist/types/contracts/governance/gauge/pullRewardsFromDistributor.d.ts +11 -0
- package/dist/types/contracts/governance/gauge/unwrapStakingToken.d.ts +12 -0
- package/dist/types/contracts/governance/gauge/wrapStakingToken.d.ts +13 -0
- package/dist/types/contracts/governance/gaugeController/addGauge.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/batchVote.d.ts +9 -6
- package/dist/types/contracts/governance/gaugeController/calculateBoost.d.ts +10 -8
- package/dist/types/contracts/governance/gaugeController/forceCompleteCheckpoint.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/getActiveGaugeCount.d.ts +12 -0
- package/dist/types/contracts/governance/gaugeController/getActiveGauges.d.ts +7 -3
- package/dist/types/contracts/governance/gaugeController/getConstants.d.ts +6 -4
- package/dist/types/contracts/governance/gaugeController/getCurrentEpoch.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getExpiredGaugeVotePower.d.ts +16 -0
- package/dist/types/contracts/governance/gaugeController/getGauge.d.ts +7 -4
- package/dist/types/contracts/governance/gaugeController/getGaugeDistributor.d.ts +12 -0
- package/dist/types/contracts/governance/gaugeController/getGaugeEmissions.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeight.d.ts +8 -9
- package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeightView.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/getGaugeWeight.d.ts +6 -4
- package/dist/types/contracts/governance/gaugeController/getLastVoteTime.d.ts +7 -4
- package/dist/types/contracts/governance/gaugeController/getMaxVoteBuckets.d.ts +12 -0
- package/dist/types/contracts/governance/gaugeController/getNextEpoch.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getRegisteredGaugeList.d.ts +12 -0
- package/dist/types/contracts/governance/gaugeController/getTotalWeight.d.ts +5 -3
- package/dist/types/contracts/governance/gaugeController/getUserGaugeVotePower.d.ts +7 -4
- package/dist/types/contracts/governance/gaugeController/getUserVotePowerRemaining.d.ts +6 -4
- package/dist/types/contracts/governance/gaugeController/getVeToken.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getVoteUserLocks.d.ts +17 -0
- package/dist/types/contracts/governance/gaugeController/getVoteUserPower.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/getVoteUserSlope.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/index.d.ts +10 -1
- package/dist/types/contracts/governance/gaugeController/isGaugeActive.d.ts +6 -4
- package/dist/types/contracts/governance/gaugeController/isPaused.d.ts +6 -3
- package/dist/types/contracts/governance/gaugeController/kick.d.ts +7 -4
- package/dist/types/contracts/governance/gaugeController/removeGauge.d.ts +9 -5
- package/dist/types/contracts/governance/gaugeController/removePowerFromGauge.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/setBoostAmplificationEnabled.d.ts +9 -6
- package/dist/types/contracts/governance/gaugeController/setDistributor.d.ts +13 -0
- package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePause.d.ts +9 -6
- package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.d.ts +14 -0
- package/dist/types/contracts/governance/gaugeController/setEmergencyPause.d.ts +8 -5
- package/dist/types/contracts/governance/gaugeController/setMaxVoteBuckets.d.ts +13 -0
- package/dist/types/contracts/governance/gaugeController/vote.d.ts +9 -7
- package/dist/types/contracts/governance/gaugeSystems/_helpers.d.ts +71 -0
- package/dist/types/contracts/governance/gaugeSystems/findGauge.d.ts +11 -0
- package/dist/types/contracts/governance/gaugeSystems/getGaugeSystem.d.ts +11 -0
- package/dist/types/contracts/governance/gaugeSystems/getGaugeSystems.d.ts +10 -0
- package/dist/types/contracts/governance/gaugeSystems/getGauges.d.ts +13 -0
- package/dist/types/contracts/governance/gaugeSystems/index.d.ts +5 -0
- package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +176 -105
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +260 -213
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +173 -212
- package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +176 -105
- package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +176 -105
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +111 -108
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +210 -34
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor.d.ts +112 -151
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +174 -95
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +243 -227
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +164 -232
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +185 -98
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +185 -98
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +104 -95
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +241 -22
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor__factory.d.ts +72 -158
- package/dist/types/utils/artifacts.d.ts +40 -0
- package/dist/types/utils/contracts.d.ts +34 -44
- package/dist/utils/contracts.js +1 -1
- package/package.json +1 -1
- package/dist/contracts/governance/distributor/getStartEpoch.js +0 -28
- package/dist/contracts/governance/distributor/withdrawUnallocatedRewards.js +0 -26
- package/dist/contracts/governance/gauge/setDistributorApproval.js +0 -35
- package/dist/types/contracts/governance/distributor/getStartEpoch.d.ts +0 -10
- package/dist/types/contracts/governance/distributor/withdrawUnallocatedRewards.d.ts +0 -12
- package/dist/types/contracts/governance/gauge/setDistributorApproval.d.ts +0 -11
|
@@ -6,25 +6,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getDepositedAtEpoch = 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
|
-
*
|
|
12
|
+
* Returns the rewards deposited into the distributor for an epoch.
|
|
13
13
|
*
|
|
14
14
|
* @param chainId - The chain/network to use.
|
|
15
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
15
16
|
* @param token - Address of the reward token.
|
|
16
|
-
* @param epoch -
|
|
17
|
+
* @param epoch - Epoch start timestamp, seconds.
|
|
17
18
|
* @param provider - Optional ethers.js Provider instance.
|
|
18
|
-
* @returns
|
|
19
|
+
* @returns The deposited amount, base units.
|
|
19
20
|
*/
|
|
20
|
-
const getDepositedAtEpoch = async (chainId, token, epoch, provider) => {
|
|
21
|
+
const getDepositedAtEpoch = async (chainId, gaugeSystem, token, epoch, provider) => {
|
|
21
22
|
if (!provider) {
|
|
22
23
|
const rpc = chains_1.default[chainId].rpcs[0];
|
|
23
24
|
provider = new ethers_1.ethers.JsonRpcProvider(rpc);
|
|
24
25
|
}
|
|
25
|
-
const address = (0,
|
|
26
|
-
const
|
|
27
|
-
const contract = new ethers_1.ethers.Contract(address, abi, provider);
|
|
26
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
27
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
28
28
|
return contract.depositedAtEpoch(token, epoch);
|
|
29
29
|
};
|
|
30
30
|
exports.getDepositedAtEpoch = getDepositedAtEpoch;
|
|
@@ -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.getDustLastProcessedEpoch = 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 cursor of the last epoch swept by `withdrawDust`.
|
|
13
|
+
*
|
|
14
|
+
* @param chainId - The chain/network to use.
|
|
15
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
16
|
+
* @param provider - Optional ethers.js Provider instance.
|
|
17
|
+
* @returns The epoch timestamp, seconds.
|
|
18
|
+
*/
|
|
19
|
+
const getDustLastProcessedEpoch = 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.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
25
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
26
|
+
return contract.dustLastProcessedEpoch();
|
|
27
|
+
};
|
|
28
|
+
exports.getDustLastProcessedEpoch = getDustLastProcessedEpoch;
|
|
@@ -6,23 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getGaugeController = 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
|
-
*
|
|
12
|
+
* Returns the GaugeController the distributor reads weights from.
|
|
13
13
|
*
|
|
14
14
|
* @param chainId - The chain/network to use.
|
|
15
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
15
16
|
* @param provider - Optional ethers.js Provider instance.
|
|
16
|
-
* @returns
|
|
17
|
+
* @returns The controller address.
|
|
17
18
|
*/
|
|
18
|
-
const getGaugeController = async (chainId, provider) => {
|
|
19
|
+
const getGaugeController = 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 address = (0,
|
|
24
|
-
const
|
|
25
|
-
const contract = new ethers_1.ethers.Contract(address, abi, provider);
|
|
24
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
25
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
26
26
|
return contract.gaugeController();
|
|
27
27
|
};
|
|
28
28
|
exports.getGaugeController = getGaugeController;
|
|
@@ -6,24 +6,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getLastClaimedEpoch = 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
|
-
*
|
|
12
|
+
* Returns the epoch a gauge's next claim starts walking from.
|
|
13
13
|
*
|
|
14
14
|
* @param chainId - The chain/network to use.
|
|
15
|
-
* @param
|
|
15
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
16
|
+
* @param gaugeAddressOrId - Address or config id of the gauge.
|
|
16
17
|
* @param provider - Optional ethers.js Provider instance.
|
|
17
|
-
* @returns
|
|
18
|
+
* @returns The epoch timestamp, seconds.
|
|
18
19
|
*/
|
|
19
|
-
const getLastClaimedEpoch = async (chainId,
|
|
20
|
+
const getLastClaimedEpoch = 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 address = (0,
|
|
25
|
-
const
|
|
26
|
-
const contract = new ethers_1.ethers.Contract(address,
|
|
27
|
-
return contract.lastClaimedEpoch(
|
|
25
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
26
|
+
const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
|
|
27
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
28
|
+
return contract.lastClaimedEpoch(gaugeAddress);
|
|
28
29
|
};
|
|
29
30
|
exports.getLastClaimedEpoch = getLastClaimedEpoch;
|
|
@@ -0,0 +1,29 @@
|
|
|
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.getMaxClaimBound = 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
|
+
* Reads whether claim walks are capped and the cap in epochs.
|
|
13
|
+
*
|
|
14
|
+
* @param chainId - The chain/network to use.
|
|
15
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
16
|
+
* @param provider - Optional ethers.js Provider instance.
|
|
17
|
+
* @returns enabled flag and maxEpochs.
|
|
18
|
+
*/
|
|
19
|
+
const getMaxClaimBound = 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.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
25
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
26
|
+
const [enabled, maxEpochs] = await Promise.all([contract.enableMaxClaimBound(), contract.MAX_EPOCHS()]);
|
|
27
|
+
return { enabled, maxEpochs };
|
|
28
|
+
};
|
|
29
|
+
exports.getMaxClaimBound = getMaxClaimBound;
|
|
@@ -6,23 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getPeriodDuration = 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
|
-
*
|
|
12
|
+
* Returns the distributor's period duration.
|
|
13
13
|
*
|
|
14
14
|
* @param chainId - The chain/network to use.
|
|
15
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
15
16
|
* @param provider - Optional ethers.js Provider instance.
|
|
16
|
-
* @returns
|
|
17
|
+
* @returns The period duration, seconds.
|
|
17
18
|
*/
|
|
18
|
-
const getPeriodDuration = async (chainId, provider) => {
|
|
19
|
+
const getPeriodDuration = 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 address = (0,
|
|
24
|
-
const
|
|
25
|
-
const contract = new ethers_1.ethers.Contract(address, abi, provider);
|
|
24
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
25
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
26
26
|
return contract.PERIOD_DURATION();
|
|
27
27
|
};
|
|
28
28
|
exports.getPeriodDuration = getPeriodDuration;
|
|
@@ -6,23 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getRewardToken = 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
|
-
*
|
|
12
|
+
* Returns the single reward token the distributor pays out.
|
|
13
13
|
*
|
|
14
14
|
* @param chainId - The chain/network to use.
|
|
15
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
15
16
|
* @param provider - Optional ethers.js Provider instance.
|
|
16
|
-
* @returns
|
|
17
|
+
* @returns The reward token address.
|
|
17
18
|
*/
|
|
18
|
-
const getRewardToken = async (chainId, provider) => {
|
|
19
|
+
const getRewardToken = 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 address = (0,
|
|
24
|
-
const
|
|
25
|
-
const contract = new ethers_1.ethers.Contract(address, abi, provider);
|
|
24
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
25
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
26
26
|
return contract.rewardToken();
|
|
27
27
|
};
|
|
28
28
|
exports.getRewardToken = getRewardToken;
|
|
@@ -6,23 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getRewardTokenInfo = 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
|
-
*
|
|
12
|
+
* Reads the reward token totals and the distributor's current token balance.
|
|
13
13
|
*
|
|
14
14
|
* @param chainId - The chain/network to use.
|
|
15
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
15
16
|
* @param provider - Optional ethers.js Provider instance.
|
|
16
|
-
* @returns
|
|
17
|
+
* @returns totalDeposited, totalDistributed, totalClaimable and balance, base units.
|
|
17
18
|
*/
|
|
18
|
-
const getRewardTokenInfo = async (chainId, provider) => {
|
|
19
|
+
const getRewardTokenInfo = 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 address = (0,
|
|
24
|
-
const
|
|
25
|
-
const contract = new ethers_1.ethers.Contract(address, abi, provider);
|
|
24
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
25
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
26
26
|
const [totalDeposited, totalDistributed, totalClaimable, balance] = await contract.getRewardTokenInfo();
|
|
27
27
|
return { totalDeposited, totalDistributed, totalClaimable, balance };
|
|
28
28
|
};
|
|
@@ -6,24 +6,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getRewardTokenStats = 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 the rewardTokenInfo mapping entry for a
|
|
12
|
+
* Reads the `rewardTokenInfo` mapping entry for a token.
|
|
13
13
|
*
|
|
14
14
|
* @param chainId - The chain/network to use.
|
|
15
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
15
16
|
* @param token - Address of the reward token.
|
|
16
17
|
* @param provider - Optional ethers.js Provider instance.
|
|
17
|
-
* @returns
|
|
18
|
+
* @returns totalDeposited, totalDistributed and totalClaimable, base units.
|
|
18
19
|
*/
|
|
19
|
-
const getRewardTokenStats = async (chainId, token, provider) => {
|
|
20
|
+
const getRewardTokenStats = async (chainId, gaugeSystem, token, 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 address = (0,
|
|
25
|
-
const
|
|
26
|
-
const contract = new ethers_1.ethers.Contract(address, abi, provider);
|
|
25
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
26
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
27
27
|
const [totalDeposited, totalDistributed, totalClaimable] = await contract.rewardTokenInfo(token);
|
|
28
28
|
return { totalDeposited, totalDistributed, totalClaimable };
|
|
29
29
|
};
|
|
@@ -21,13 +21,16 @@ __exportStar(require("./deposit"), exports);
|
|
|
21
21
|
__exportStar(require("./getClaimableForGauge"), exports);
|
|
22
22
|
__exportStar(require("./getClaimedAtEpoch"), exports);
|
|
23
23
|
__exportStar(require("./getDepositedAtEpoch"), exports);
|
|
24
|
+
__exportStar(require("./getDustLastProcessedEpoch"), exports);
|
|
24
25
|
__exportStar(require("./getGaugeController"), exports);
|
|
25
26
|
__exportStar(require("./getLastClaimedEpoch"), exports);
|
|
27
|
+
__exportStar(require("./getMaxClaimBound"), exports);
|
|
26
28
|
__exportStar(require("./getPeriodDuration"), exports);
|
|
27
29
|
__exportStar(require("./getRewardToken"), exports);
|
|
28
30
|
__exportStar(require("./getRewardTokenInfo"), exports);
|
|
29
31
|
__exportStar(require("./getRewardTokenStats"), exports);
|
|
30
|
-
__exportStar(require("./getStartEpoch"), exports);
|
|
31
32
|
__exportStar(require("./setController"), exports);
|
|
33
|
+
__exportStar(require("./setLastClaimedEpoch"), exports);
|
|
34
|
+
__exportStar(require("./setMaxClaimBound"), exports);
|
|
35
|
+
__exportStar(require("./withdrawDust"), exports);
|
|
32
36
|
__exportStar(require("./withdrawRemovedGaugeRewards"), exports);
|
|
33
|
-
__exportStar(require("./withdrawUnallocatedRewards"), exports);
|
|
@@ -2,25 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setController = 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
|
-
*
|
|
9
|
-
* Requires DEFAULT_ADMIN_ROLE.
|
|
9
|
+
* Points the distributor at a different GaugeController. Requires DEFAULT_ADMIN_ROLE.
|
|
10
10
|
*
|
|
11
11
|
* @param chainId - The chain/network to use.
|
|
12
|
-
* @param
|
|
12
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
13
|
+
* @param controller - Address of the new controller.
|
|
13
14
|
* @param signer - An ethers.js Signer instance (required).
|
|
14
|
-
* @returns
|
|
15
|
+
* @returns The transaction after it has been mined.
|
|
15
16
|
*/
|
|
16
|
-
const setController = async (chainId, controller, signer) => {
|
|
17
|
+
const setController = async (chainId, gaugeSystem, controller, signer) => {
|
|
17
18
|
if (!signer)
|
|
18
19
|
throw new Error("Signer is required");
|
|
19
|
-
const address = (0,
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
21
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), signer);
|
|
22
|
+
try {
|
|
23
|
+
const tx = await contract.setController(controller);
|
|
24
|
+
await tx.wait();
|
|
25
|
+
return tx;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
throw (0, _helpers_2.toGovernanceTxError)("Failed to set controller", error);
|
|
29
|
+
}
|
|
25
30
|
};
|
|
26
31
|
exports.setController = setController;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setLastClaimedEpoch = 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
|
+
* Bootstraps a new gauge's claim checkpoint. Requires CONTROLLER_ROLE; the controller calls it from `addGauge`.
|
|
10
|
+
*
|
|
11
|
+
* @param chainId - The chain/network to use.
|
|
12
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
13
|
+
* @param gaugeAddressOrId - Address or config id of the gauge.
|
|
14
|
+
* @param signer - An ethers.js Signer instance (required).
|
|
15
|
+
* @returns The transaction after it has been mined.
|
|
16
|
+
*/
|
|
17
|
+
const setLastClaimedEpoch = async (chainId, gaugeSystem, gaugeAddressOrId, signer) => {
|
|
18
|
+
if (!signer)
|
|
19
|
+
throw new Error("Signer is required");
|
|
20
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
21
|
+
const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
|
|
22
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), signer);
|
|
23
|
+
try {
|
|
24
|
+
const tx = await contract.setLastClaimedEpoch(gaugeAddress);
|
|
25
|
+
await tx.wait();
|
|
26
|
+
return tx;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
throw (0, _helpers_2.toGovernanceTxError)("Failed to set last claimed epoch", error);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.setLastClaimedEpoch = setLastClaimedEpoch;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setMaxClaimBound = 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
|
+
* Caps how many epochs a claim walks per call (MAX_EPOCHS). Requires DISTRIBUTOR_ADMIN.
|
|
10
|
+
*
|
|
11
|
+
* @param chainId - The chain/network to use.
|
|
12
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
13
|
+
* @param enabled - True to cap claim walks.
|
|
14
|
+
* @param signer - An ethers.js Signer instance (required).
|
|
15
|
+
* @returns The transaction after it has been mined.
|
|
16
|
+
*/
|
|
17
|
+
const setMaxClaimBound = async (chainId, gaugeSystem, enabled, signer) => {
|
|
18
|
+
if (!signer)
|
|
19
|
+
throw new Error("Signer is required");
|
|
20
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
21
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), signer);
|
|
22
|
+
try {
|
|
23
|
+
const tx = await contract.setMaxClaimBound(enabled);
|
|
24
|
+
await tx.wait();
|
|
25
|
+
return tx;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
throw (0, _helpers_2.toGovernanceTxError)("Failed to set max claim bound", error);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.setMaxClaimBound = setMaxClaimBound;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withdrawDust = 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
|
+
* Sweeps leftover rewards from fully settled epochs to a recipient. Requires DEFAULT_ADMIN_ROLE. Reverts when there is nothing new to sweep.
|
|
10
|
+
*
|
|
11
|
+
* @param chainId - The chain/network to use.
|
|
12
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
13
|
+
* @param recipient - Address that receives the dust.
|
|
14
|
+
* @param signer - An ethers.js Signer instance (required).
|
|
15
|
+
* @returns The transaction after it has been mined.
|
|
16
|
+
*/
|
|
17
|
+
const withdrawDust = async (chainId, gaugeSystem, recipient, signer) => {
|
|
18
|
+
if (!signer)
|
|
19
|
+
throw new Error("Signer is required");
|
|
20
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
21
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), signer);
|
|
22
|
+
try {
|
|
23
|
+
const tx = await contract.withdrawDust(recipient);
|
|
24
|
+
await tx.wait();
|
|
25
|
+
return tx;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
throw (0, _helpers_2.toGovernanceTxError)("Failed to withdraw dust", error);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.withdrawDust = withdrawDust;
|
|
@@ -2,26 +2,32 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.withdrawRemovedGaugeRewards = 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
|
-
*
|
|
9
|
-
* Requires DEFAULT_ADMIN_ROLE.
|
|
9
|
+
* Redirects a removed gauge's unclaimed entitlement to a recipient. Requires CONTROLLER_ROLE: the controller calls it from `removeGauge`, so admins normally use `governance.controller.removeGauge`.
|
|
10
10
|
*
|
|
11
11
|
* @param chainId - The chain/network to use.
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
12
|
+
* @param gaugeSystem - Gauge system id ("raacgauges" or "rwagauges") or a GaugeRewardsDistributor address.
|
|
13
|
+
* @param gaugeAddressOrId - Address or config id of the gauge.
|
|
14
|
+
* @param recipient - Address that receives the redirected rewards.
|
|
14
15
|
* @param signer - An ethers.js Signer instance (required).
|
|
15
|
-
* @returns
|
|
16
|
+
* @returns The transaction after it has been mined.
|
|
16
17
|
*/
|
|
17
|
-
const withdrawRemovedGaugeRewards = async (chainId,
|
|
18
|
+
const withdrawRemovedGaugeRewards = async (chainId, gaugeSystem, gaugeAddressOrId, recipient, signer) => {
|
|
18
19
|
if (!signer)
|
|
19
20
|
throw new Error("Signer is required");
|
|
20
|
-
const address = (0,
|
|
21
|
-
const
|
|
22
|
-
const contract = new ethers_1.ethers.Contract(address,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
const address = (0, _helpers_1.resolveGaugeDistributor)(chainId, gaugeSystem);
|
|
22
|
+
const gaugeAddress = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
|
|
23
|
+
const contract = new ethers_1.ethers.Contract(address, (0, artifacts_1.getABI)("gaugerewardsdistributor"), signer);
|
|
24
|
+
try {
|
|
25
|
+
const tx = await contract.withdrawRemovedGaugeRewards(gaugeAddress, recipient);
|
|
26
|
+
await tx.wait();
|
|
27
|
+
return tx;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw (0, _helpers_2.toGovernanceTxError)("Failed to withdraw removed gauge rewards", error);
|
|
31
|
+
}
|
|
26
32
|
};
|
|
27
33
|
exports.withdrawRemovedGaugeRewards = withdrawRemovedGaugeRewards;
|
|
@@ -0,0 +1,122 @@
|
|
|
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.loadGaugeApyState = exports.toApyPct = exports.SECONDS_PER_YEAR = 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
|
+
exports.SECONDS_PER_YEAR = 365n * 24n * 60n * 60n;
|
|
12
|
+
const E18 = 10n ** 18n;
|
|
13
|
+
const E36 = 10n ** 36n;
|
|
14
|
+
const ERC20_DECIMALS_ABI = ["function decimals() view returns (uint8)"];
|
|
15
|
+
const priceOf = (prices, token) => {
|
|
16
|
+
const target = token.toLowerCase();
|
|
17
|
+
const entry = Object.entries(prices.rewardTokenPricesUSD ?? {}).find(([key]) => key.toLowerCase() === target);
|
|
18
|
+
return entry && Number.isFinite(entry[1]) ? entry[1] : null;
|
|
19
|
+
};
|
|
20
|
+
const toReward = (token, kind, yearly, decimals, active, prices) => {
|
|
21
|
+
const priceUSD = priceOf(prices, token);
|
|
22
|
+
const yearlyRewards = ethers_1.ethers.formatUnits(yearly, decimals);
|
|
23
|
+
return {
|
|
24
|
+
token,
|
|
25
|
+
kind,
|
|
26
|
+
yearlyRewards,
|
|
27
|
+
priceUSD,
|
|
28
|
+
yearlyRewardsUSD: priceUSD === null ? null : Number(yearlyRewards) * priceUSD,
|
|
29
|
+
active,
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
/** Annualized percentage: yearly USD over staked USD, or null when nothing is staked or the staking token has no price. */
|
|
33
|
+
const toApyPct = (yearlyUSD, stakedUnits, stakingTokenPriceUSD) => {
|
|
34
|
+
const stakedUSD = stakedUnits * stakingTokenPriceUSD;
|
|
35
|
+
return stakedUSD > 0 ? (yearlyUSD / stakedUSD) * 100 : null;
|
|
36
|
+
};
|
|
37
|
+
exports.toApyPct = toApyPct;
|
|
38
|
+
/**
|
|
39
|
+
* Loads the gauge state an APY calculation needs: supplies, boost bounds and each reward token's yearly emission.
|
|
40
|
+
*
|
|
41
|
+
* @param chainId - The chain/network to use.
|
|
42
|
+
* @param gaugeAddressOrId - Address of the gauge contract or its config ID.
|
|
43
|
+
* @param prices - USD prices for the staking token and reward tokens.
|
|
44
|
+
* @param options - Reward source selection.
|
|
45
|
+
* @param provider - Optional ethers.js Provider instance.
|
|
46
|
+
* @returns The loaded state.
|
|
47
|
+
*/
|
|
48
|
+
const loadGaugeApyState = async (chainId, gaugeAddressOrId, prices, options = {}, provider) => {
|
|
49
|
+
if (!provider) {
|
|
50
|
+
const rpc = chains_1.default[chainId].rpcs[0];
|
|
51
|
+
provider = new ethers_1.ethers.JsonRpcProvider(rpc);
|
|
52
|
+
}
|
|
53
|
+
if (!prices || !Number.isFinite(prices.stakingTokenPriceUSD)) {
|
|
54
|
+
throw new Error("prices.stakingTokenPriceUSD is required");
|
|
55
|
+
}
|
|
56
|
+
const rewardSource = options.rewardSource ?? "epoch";
|
|
57
|
+
const gauge = (0, _helpers_1.resolveGauge)(chainId, gaugeAddressOrId);
|
|
58
|
+
const gaugeContract = new ethers_1.ethers.Contract(gauge, (0, artifacts_1.getABI)("basegauge"), provider);
|
|
59
|
+
const [data, controllerAddress, extraTokens, [, periodEnd], block] = await Promise.all([
|
|
60
|
+
gaugeContract.gaugeData(),
|
|
61
|
+
gaugeContract.gaugeController(),
|
|
62
|
+
gaugeContract.getExtraRewardTokens(),
|
|
63
|
+
gaugeContract.getPeriodBoundaries(),
|
|
64
|
+
provider.getBlock("latest"),
|
|
65
|
+
]);
|
|
66
|
+
if (!block)
|
|
67
|
+
throw new Error("Failed to read the latest block");
|
|
68
|
+
const now = BigInt(block.timestamp);
|
|
69
|
+
const controller = new ethers_1.ethers.Contract(controllerAddress, (0, artifacts_1.getABI)("gaugecontroller"), provider);
|
|
70
|
+
const stakingTokenContract = new ethers_1.ethers.Contract(data.stakingToken, ERC20_DECIMALS_ABI, provider);
|
|
71
|
+
const [minBoost, maxBoost, stakingDecimals, mainData] = await Promise.all([
|
|
72
|
+
controller.MIN_BOOST(),
|
|
73
|
+
controller.MAX_BOOST(),
|
|
74
|
+
stakingTokenContract.decimals().then((d) => Number(d)),
|
|
75
|
+
gaugeContract.getGaugeRewardTokenData(data.rewardToken),
|
|
76
|
+
]);
|
|
77
|
+
const rewards = [];
|
|
78
|
+
if (rewardSource === "epoch") {
|
|
79
|
+
const distributor = new ethers_1.ethers.Contract(data.rewardDistributor, (0, artifacts_1.getABI)("gaugerewardsdistributor"), provider);
|
|
80
|
+
const [week, currentEpoch] = await Promise.all([controller.WEEK(), controller.getCurrentEpoch()]);
|
|
81
|
+
const lastEpoch = currentEpoch - week;
|
|
82
|
+
const [deposited, [relativeWeight]] = await Promise.all([
|
|
83
|
+
distributor.depositedAtEpoch(data.rewardToken, lastEpoch),
|
|
84
|
+
controller.getGaugeRelativeWeightView(gauge, lastEpoch),
|
|
85
|
+
]);
|
|
86
|
+
const perEpoch = (deposited * relativeWeight) / E18;
|
|
87
|
+
rewards.push(toReward(data.rewardToken, "main", (perEpoch * exports.SECONDS_PER_YEAR) / week, Number(mainData.decimals), perEpoch > 0n, prices));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// rate is 18-decimal-normalized tokens per second scaled by 1e36 (ray-divided wad) and only streams until the period ends.
|
|
91
|
+
const active = now < periodEnd && mainData.rate > 0n;
|
|
92
|
+
const yearly = active ? (mainData.rate * exports.SECONDS_PER_YEAR) / E36 : 0n;
|
|
93
|
+
rewards.push(toReward(data.rewardToken, "main", yearly, 18, active, prices));
|
|
94
|
+
}
|
|
95
|
+
const extras = await Promise.all([...extraTokens].map(async (token) => {
|
|
96
|
+
const extra = await gaugeContract.extraRewardTokenData(token);
|
|
97
|
+
// Extra rate is 18-decimal-normalized tokens per second scaled by 1e18.
|
|
98
|
+
const active = extra.isActive && now < extra.periodFinish && extra.rate > 0n;
|
|
99
|
+
const yearly = active ? (extra.rate * exports.SECONDS_PER_YEAR) / E18 : 0n;
|
|
100
|
+
return toReward(token, "extra", yearly, 18, active, prices);
|
|
101
|
+
}));
|
|
102
|
+
rewards.push(...extras);
|
|
103
|
+
const sumUSD = (kind) => rewards.filter((r) => r.kind === kind).reduce((sum, r) => sum + (r.yearlyRewardsUSD ?? 0), 0);
|
|
104
|
+
return {
|
|
105
|
+
provider,
|
|
106
|
+
now,
|
|
107
|
+
gauge,
|
|
108
|
+
gaugeContract,
|
|
109
|
+
controller,
|
|
110
|
+
stakingToken: data.stakingToken,
|
|
111
|
+
stakingDecimals,
|
|
112
|
+
totalSupply: data.totalSupply,
|
|
113
|
+
workingSupply: data.workingSupply,
|
|
114
|
+
minBoost,
|
|
115
|
+
maxBoost,
|
|
116
|
+
rewardSource,
|
|
117
|
+
rewards,
|
|
118
|
+
mainYearlyUSD: sumUSD("main"),
|
|
119
|
+
extraYearlyUSD: sumUSD("extra"),
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
exports.loadGaugeApyState = loadGaugeApyState;
|