Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deploy 109 - 3rd native staking strategy #2309

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

naddison36
Copy link
Collaborator

@naddison36 naddison36 commented Nov 13, 2024

Deployment

Deploy script 109_3rd_native_ssv_staking.js was developed in PR #2304

Contracts

Contract Address
NativeStakingSSVStrategy3Proxy 0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63
NativeStakingFeeAccumulator3Proxy 0x49674fBce040D95366604d1db3392E9bDEa14d48
FeeAccumulator implementation 0x89020552847E4041773E2412Ef522abd1706Ff33
NativeStakingSSVStrategy implementation 0x492500A6CFB1248b5B6b7C674fD66C66ca57B905

The NativeStakingSSVStrategy3Proxy contract was deployed by the Defender Relayer so the SSV rewards can be claimed.

Governance

Proposal payload

[
  [
    "0x39254033945AA2E4809Cc2977E7087BEE48bd7Ab",
    "0x0D017aFA83EAce9F10A8EC5B6E13941664A6785C",
    "0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63",
    "0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63",
    "0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63",
    "0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63",
    "0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63"
  ],
  [
    {
      "type": "BigNumber",
      "hex": "0x00"
    },
    {
      "type": "BigNumber",
      "hex": "0x00"
    },
    {
      "type": "BigNumber",
      "hex": "0x00"
    },
    {
      "type": "BigNumber",
      "hex": "0x00"
    },
    {
      "type": "BigNumber",
      "hex": "0x00"
    },
    {
      "type": "BigNumber",
      "hex": "0x00"
    },
    {
      "type": "BigNumber",
      "hex": "0x00"
    }
  ],
  [
    "approveStrategy(address)",
    "setSupportedStrategy(address,bool)",
    "setHarvesterAddress(address)",
    "setFuseInterval(uint256,uint256)",
    "setRegistrator(address)",
    "setStakeETHThreshold(uint256)",
    "setStakingMonitor(address)"
  ],
  [
    "0x000000000000000000000000e98538a0e8c2871c2482e1be8cc6bd9f8e8ffd63",
    "0x000000000000000000000000e98538a0e8c2871c2482e1be8cc6bd9f8e8ffd630000000000000000000000000000000000000000000000000000000000000001",
    "0x0000000000000000000000000d017afa83eace9f10a8ec5b6e13941664a6785c",
    "0x0000000000000000000000000000000000000000000000012bc29d8eec7000000000000000000000000000000000000000000000000000016345785d8a000000",
    "0x0000000000000000000000004b91827516f79d6f6a1f292ed99671663b09169a",
    "0x00000000000000000000000000000000000000000000001bc16d674ec8000000",
    "0x000000000000000000000000be2ab3d3d8f6a32b96414ebbd865dbd276d3d899"
  ]
]
0xda95691a00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000005800000000000000000000000000000000000000000000000000000000000000880000000000000000000000000000000000000000000000000000000000000000700000000000000000000000039254033945aa2e4809cc2977e7087bee48bd7ab0000000000000000000000000d017afa83eace9f10a8ec5b6e13941664a6785c000000000000000000000000e98538a0e8c2871c2482e1be8cc6bd9f8e8ffd63000000000000000000000000e98538a0e8c2871c2482e1be8cc6bd9f8e8ffd63000000000000000000000000e98538a0e8c2871c2482e1be8cc6bd9f8e8ffd63000000000000000000000000e98538a0e8c2871c2482e1be8cc6bd9f8e8ffd63000000000000000000000000e98538a0e8c2871c2482e1be8cc6bd9f8e8ffd6300000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000018617070726f7665537472617465677928616464726573732900000000000000000000000000000000000000000000000000000000000000000000000000000022736574537570706f72746564537472617465677928616464726573732c626f6f6c29000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7365744861727665737465724164647265737328616464726573732900000000000000000000000000000000000000000000000000000000000000000000002073657446757365496e74657276616c2875696e743235362c75696e743235362900000000000000000000000000000000000000000000000000000000000000177365745265676973747261746f72286164647265737329000000000000000000000000000000000000000000000000000000000000000000000000000000001d7365745374616b654554485468726573686f6c642875696e7432353629000000000000000000000000000000000000000000000000000000000000000000001a7365745374616b696e674d6f6e69746f72286164647265737329000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e98538a0e8c2871c2482e1be8cc6bd9f8e8ffd630000000000000000000000000000000000000000000000000000000000000040000000000000000000000000e98538a0e8c2871c2482e1be8cc6bd9f8e8ffd63000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000d017afa83eace9f10a8ec5b6e13941664a6785c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000012bc29d8eec7000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000004b91827516f79d6f6a1f292ed99671663b09169a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000be2ab3d3d8f6a32b96414ebbd865dbd276d3d899000000000000000000000000000000000000000000000000000000000000002c4465706c6f792061207468697264204f455448204e6174697665205374616b696e672053747261746567792e0000000000000000000000000000000000000000

Deploy checklist

Two reviewers complete the following checklist:

- [ ] All deployed contracts are listed in the deploy PR's description
- [ ] Deployed contract's verified code (and all dependencies) match the code in master
- [ ] Contract constructors have correct arguments
- [ ] The transactions that interacted with the newly deployed contract match the deploy script.
- [ ] Governance proposal matches the deploy script
- [ ] Smoke tests pass after fork test execution of the governance proposal

Copy link

codecov bot commented Nov 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 53.12%. Comparing base (de0cf23) to head (e94aee3).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2309      +/-   ##
==========================================
- Coverage   53.85%   53.12%   -0.74%     
==========================================
  Files          79       79              
  Lines        4098     4098              
  Branches     1079     1079              
==========================================
- Hits         2207     2177      -30     
- Misses       1888     1918      +30     
  Partials        3        3              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@shahthepro
Copy link
Collaborator

Code Diff

$ sol2uml diff 0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63 .,node_modules
Compared the "undefined" file for the "NativeStakingSSVStrategy3Proxy" contract with address 0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63 on mainnet
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/utils/Address.sol
match   contracts/governance/Governable.sol
match   contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol
match   contracts/proxies/Proxies.sol
$ sol2uml diff 0x49674fBce040D95366604d1db3392E9bDEa14d48 .,node_modules
Compared the "undefined" file for the "NativeStakingFeeAccumulator3Proxy" contract with address 0x49674fBce040D95366604d1db3392E9bDEa14d48 on mainnet
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/utils/Address.sol
match   contracts/governance/Governable.sol
match   contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol
match   contracts/proxies/Proxies.sol
$ sol2uml diff 0x89020552847E4041773E2412Ef522abd1706Ff33 .,node_modules
Compared the "undefined" file for the "FeeAccumulator" contract with address 0x89020552847E4041773E2412Ef522abd1706Ff33 on mainnet
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/utils/Address.sol
match   contracts/strategies/NativeStaking/FeeAccumulator.sol
$ sol2uml diff 0x492500A6CFB1248b5B6b7C674fD66C66ca57B905 .,node_modules
Compared the "undefined" file for the "NativeStakingSSVStrategy" contract with address 0x492500A6CFB1248b5B6b7C674fD66C66ca57B905 on mainnet
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/security/Pausable.sol
match   @openzeppelin/contracts/token/ERC20/IERC20.sol
match   @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match   @openzeppelin/contracts/utils/Address.sol
match   @openzeppelin/contracts/utils/Context.sol
match   @openzeppelin/contracts/utils/math/Math.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IDepositContract.sol
match   contracts/interfaces/ISSVNetwork.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/interfaces/IVault.sol
match   contracts/interfaces/IWETH9.sol
match   contracts/strategies/NativeStaking/FeeAccumulator.sol
match   contracts/strategies/NativeStaking/NativeStakingSSVStrategy.sol
match   contracts/strategies/NativeStaking/ValidatorAccountant.sol
match   contracts/strategies/NativeStaking/ValidatorRegistrator.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/InitializableAbstractStrategy.sol
match   contracts/utils/InitializableERC20Detailed.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/VaultStorage.sol

shahthepro
shahthepro previously approved these changes Nov 13, 2024
Copy link
Collaborator

@shahthepro shahthepro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • All deployed contracts are listed in the deploy PR's description
  • Deployed contract's verified code (and all dependencies) match the code in master
  • Contract constructors have correct arguments
  • The transactions that interacted with the newly deployed contract match the deploy script.
  • Governance proposal matches the deploy script
  • Smoke tests pass after fork test execution of the governance proposal

@sparrowDom
Copy link
Member

  • All deployed contracts are listed in the deploy PR's description
  • Deployed contract's verified code (and all dependencies) match the code in master
  • Contract constructors have correct arguments
  • The transactions that interacted with the newly deployed contract match the deploy script.
  • Governance proposal matches the deploy script
  • Smoke tests pass after fork test execution of the governance proposal
npx sol2uml diff 0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63 .,node_modules
npx sol2uml diff 0x49674fBce040D95366604d1db3392E9bDEa14d48 .,node_modules
npx sol2uml diff 0x89020552847E4041773E2412Ef522abd1706Ff33 .,node_modules
npx sol2uml diff 0x492500A6CFB1248b5B6b7C674fD66C66ca57B905 .,node_modules

All match

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants