From ebe1f90fbeebae582b4fc860db95d9526c03e192 Mon Sep 17 00:00:00 2001 From: Nicholas Addison Date: Sun, 20 Oct 2024 12:32:25 +1100 Subject: [PATCH] Harvest Action now collects if there is > 0.5 execution rewards --- contracts/scripts/defender-actions/harvest.js | 21 +++++++++++++++---- contracts/utils/addresses.js | 2 ++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/contracts/scripts/defender-actions/harvest.js b/contracts/scripts/defender-actions/harvest.js index df21f1bb54..b5ad6c18e7 100644 --- a/contracts/scripts/defender-actions/harvest.js +++ b/contracts/scripts/defender-actions/harvest.js @@ -51,20 +51,33 @@ const harvest = async ( signer, stratDesc ) => { - const nativeStakingStrategy1 = new ethers.Contract( + const nativeStakingStrategy = new ethers.Contract( nativeStakingProxyAddress, nativeStakingStrategyAbi, signer ); - const consensusRewards = await nativeStakingStrategy1.consensusRewards(); + const consensusRewards = await nativeStakingStrategy.consensusRewards(); log(`Consensus rewards for ${stratDesc}: ${formatUnits(consensusRewards)}`); - if (consensusRewards.gt(parseEther("1"))) { + + const feeAccumulatorAddress = + await nativeStakingStrategy.FEE_ACCUMULATOR_ADDRESS(); + const executionRewards = await signer.provider.getBalance( + feeAccumulatorAddress + ); + log(`Execution rewards for ${stratDesc}: ${formatUnits(executionRewards)}`); + + if ( + consensusRewards.gt(parseEther("1")) || + executionRewards.gt(parseEther("0.5")) + ) { const tx1 = await harvester .connect(signer) .harvestAndSwap(nativeStakingProxyAddress); await logTxDetails(tx1, `${stratDesc} harvestAndSwap`); } else { - log(`Skipping ${stratDesc} harvestAndSwap due to low consensus rewards`); + log( + `Skipping ${stratDesc} harvestAndSwap due to low consensus and execution rewards` + ); } }; diff --git a/contracts/utils/addresses.js b/contracts/utils/addresses.js index 8e1db6f777..1a0290dce0 100644 --- a/contracts/utils/addresses.js +++ b/contracts/utils/addresses.js @@ -267,6 +267,8 @@ addresses.mainnet.beaconChainDepositContract = // Native Staking Strategy addresses.mainnet.NativeStakingSSVStrategyProxy = "0x34eDb2ee25751eE67F68A45813B22811687C0238"; +addresses.mainnet.NativeStakingSSVStrategy2Proxy = + "0x4685dB8bF2Df743c861d71E6cFb5347222992076"; // Defender relayer addresses.mainnet.validatorRegistrator =