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 108 - Upgrade OETH Vault #2381

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Deploy 108 - Upgrade OETH Vault #2381

wants to merge 1 commit into from

Conversation

shahthepro
Copy link
Collaborator

@shahthepro shahthepro commented Feb 5, 2025

Code change PRs

Deployment

Contract Address
OETHVaultCore 0x46b380E07dA15B631C1FB7AB387cC35169bF359a
OETHVaultAdmin 0x2Fe2Fc22c5874D60a006351F4c5c5701D476B4fD

Governance

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.
- [ ] The storage slots of the deployed contracts align and there're no conflicts
- [ ] Governance proposal matches the deploy script
- [ ] Smoke tests pass after fork test execution of the governance proposal

Copy link

codecov bot commented Feb 5, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 50.94%. Comparing base (1b78421) to head (aa19735).
Report is 4 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2381      +/-   ##
==========================================
- Coverage   51.00%   50.94%   -0.07%     
==========================================
  Files          92       92              
  Lines        4515     4515              
  Branches     1198     1198              
==========================================
- Hits         2303     2300       -3     
- Misses       2209     2211       +2     
- Partials        3        4       +1     

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

@naddison36
Copy link
Collaborator

  • 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.
  • The storage slots of the deployed contracts align and there're no conflicts
  • Governance proposal matches the deploy script
  • Smoke tests pass after fork test execution of the governance proposal
sol2uml diff 0x46b380E07dA15B631C1FB7AB387cC35169bF359a .,node_modules
Compared the "OETHVaultCore" contract with address 0x46b380E07dA15B631C1FB7AB387cC35169bF359a on mainnet
to local files under folders ".,node_modules"

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/math/SafeCast.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IDripper.sol
match   contracts/interfaces/IGetExchangeRateToken.sol
match   contracts/interfaces/IOracle.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/OETHVaultCore.sol
match   contracts/vault/VaultCore.sol
match   contracts/vault/VaultInitializer.sol
match   contracts/vault/VaultStorage.sol
sol2uml diff 0x2Fe2Fc22c5874D60a006351F4c5c5701D476B4fD .,node_modules
Compared the "OETHVaultAdmin" contract with address 0x2Fe2Fc22c5874D60a006351F4c5c5701D476B4fD on mainnet
to local files under folders ".,node_modules"

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/math/SafeCast.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IOracle.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/interfaces/ISwapper.sol
match   contracts/interfaces/IVault.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/OETHVaultAdmin.sol
match   contracts/vault/VaultAdmin.sol
match   contracts/vault/VaultStorage.sol

Storage slots of old VaultCore contract

sol2uml storage 0x49b60053869a0a7ef60242ea7a4d1317a8d51f54 --hideExpand __gap,______gap,_deprecated_swapTokens -o OETHVaultCoreOld.svg

OETHVaultCoreOld

Storage slots of new VaultCore contract

sol2uml storage 0x46b380E07dA15B631C1FB7AB387cC35169bF359a --hideExpand __gap,______gap,_deprecated_swapTokens -o OETHVaultCoreNew.svg

OETHVaultCoreNew

@naddison36 naddison36 closed this Feb 5, 2025
@naddison36 naddison36 reopened this Feb 5, 2025
Copy link
Collaborator

@naddison36 naddison36 left a comment

Choose a reason for hiding this comment

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

I've verified the deployment

Copy link
Contributor

@clement-ux clement-ux 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
    • OETHVaultCore
    • OETHVaultAdmin
  • Deployed contract's verified code (and all dependencies) match the code in master
  • Contract constructors have correct arguments
    • OETHVaultCore
      • WETH
    • OETHVaultAdmin
      • WETH
  • The transactions that interacted with the newly deployed contract match the deploy script.
    • No interaction outside from governance.
  • The storage slots of the deployed contracts align and there're no conflicts
    • OETHVaultCore
    • OETHVaultAdmin
  • Governance proposal matches the deploy script
    • call upgradeTo() on vaultProxy with deployed OETHVaultCore address.
    • call setAdminImpl() on vault with deployed OETHVaultAdmin address.
    • call setWithdrawalClaimDelay() on vault with 10 mins (258 in hexa).
  • Smoke tests pass after fork test execution of the governance proposal

Deployed contract's verified code

  • OETHVaultCore
sol2uml diff 0x46b380E07dA15B631C1FB7AB387cC35169bF359a .,node_modules
(node:13206) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Compared the "OETHVaultCore" contract with address 0x46b380E07dA15B631C1FB7AB387cC35169bF359a on mainnet
to local files under folders ".,node_modules"

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/math/SafeCast.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IDripper.sol
match   contracts/interfaces/IGetExchangeRateToken.sol
match   contracts/interfaces/IOracle.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/OETHVaultCore.sol
match   contracts/vault/VaultCore.sol
match   contracts/vault/VaultInitializer.sol
match   contracts/vault/VaultStorage.sol
  • OETHVaultAdmin
sol2uml diff 0x2Fe2Fc22c5874D60a006351F4c5c5701D476B4fD .,node_modules

(node:13261) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Compared the "OETHVaultAdmin" contract with address 0x2Fe2Fc22c5874D60a006351F4c5c5701D476B4fD on mainnet
to local files under folders ".,node_modules"

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/math/SafeCast.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IOracle.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/interfaces/ISwapper.sol
match   contracts/interfaces/IVault.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/OETHVaultAdmin.sol
match   contracts/vault/VaultAdmin.sol
match   contracts/vault/VaultStorage.sol

@naddison36 naddison36 added the deployment Deploying smart contract label Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployment Deploying smart contract
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants