OriginProtocol / origin-dollar

OUSD and OETH are stablecoins that passively accrue yield while you are holding it
https://originprotocol.com
MIT License
119 stars 80 forks source link

Deploy 096 - OETHVaultAdmin to add removeAsset #2064

Closed naddison36 closed 4 months ago

naddison36 commented 4 months ago

Deployment Plan

https://www.notion.so/originprotocol/Deploy-plan-for-VaultAdmin-removeAsset-1320ff50e2144769bfcc494dc8112f55

Deployment Script

Deploy script 096_vault_admin_upgrade

Deployed Contracts

OETHVaultAdmin 0x0Bb9C9496e2294A89efF3c8A25ba9730BdED4B8C

Deployment tx 0x78ec64ed42fbfee093fde0f5d603f21872ff8967bdcc28b0e4472ff0f8938778

Governance Proposal

Dependencies

Contract Diff

sol2uml diff 0x31a91336414d3B955E494E7d485a6B06b55FC8fB 0x0Bb9C9496e2294A89efF3c8A25ba9730BdED4B8C
Compared the "VaultAdmin" contract with address 0x31a91336414d3B955E494E7d485a6B06b55FC8fB on mainnet
to the "VaultAdmin" contract with address 0x0Bb9C9496e2294A89efF3c8A25ba9730BdED4B8C on mainnet

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/SafeMath.sol
changed contracts/governance/Governable.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IOracle.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/interfaces/ISwapper.sol
changed contracts/interfaces/IVault.sol
changed contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
changed contracts/utils/Initializable.sol
changed contracts/utils/InitializableERC20Detailed.sol
match   contracts/utils/StableMath.sol
changed contracts/vault/VaultAdmin.sol
changed contracts/vault/VaultStorage.sol
codecov[bot] commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 60.54%. Comparing base (90a855a) to head (1d38b3d).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #2064 +/- ## ========================================== - Coverage 60.57% 60.54% -0.04% ========================================== Files 59 59 Lines 3021 3021 Branches 779 779 ========================================== - Hits 1830 1829 -1 - Misses 1188 1189 +1 Partials 3 3 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

notion-workspace[bot] commented 4 months ago

Upgrade Vault to support removing an asset

sparrowDom commented 4 months ago

I've verified that the deployed code matches the code on master:

MacBook-Pro-3:contracts domen-privat$ npx sol2uml diff 0x0Bb9C9496e2294A89efF3c8A25ba9730BdED4B8C .,node_modules -l 8
Compared the "VaultAdmin" contract with address 0x0Bb9C9496e2294A89efF3c8A25ba9730BdED4B8C 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/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/InitializableERC20Detailed.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/VaultAdmin.sol
match   contracts/vault/VaultStorage.sol

And that the proposal actions:

DanielVF commented 4 months ago
>> ./contracts/token/OUSD.sol
>> ./contracts/utils/Initializable.sol
>> ./contracts/utils/InitializableERC20Detailed.sol
>> ./contracts/utils/StableMath.sol
>> ./contracts/utils/Helpers.sol
>> ./contracts/governance/Governable.sol
>> ./contracts/vault/VaultAdmin.sol
>> ./contracts/vault/VaultStorage.sol
>> ./contracts/interfaces/IVault.sol
>> ./contracts/interfaces/IBasicToken.sol
>> ./contracts/interfaces/IOracle.sol
>> ./contracts/interfaces/IStrategy.sol
>> ./contracts/interfaces/ISwapper.sol
>> ./@openzeppelin/contracts/token/ERC20/IERC20.sol
>> ./@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
>> ./@openzeppelin/contracts/utils/Address.sol
>> ./@openzeppelin/contracts/utils/math/SafeMath.sol
from world import *
sim_execute_governor_five(69930246750131009700656380347665185726772789937060030973085874312404417024801)

WHALE = "0x2fEb1512183545f48f6b9C5b4EbfCaF49CfCa6F3"
weth.approve(oeth_vault_core, 1e70, {'from': WHALE})

oeth_vault_core.mint(weth, 1e20, 1e20, {'from': WHALE})
oeth.balanceOf(WHALE) / 1e18
# 100.0

oeth_vault_core.redeem(oeth.balanceOf(WHALE), 0 , {'from': WHALE})
oeth.balanceOf(WHALE) / 1e18
# 0.0
show_transfers(history[-1])
#      WETH 0x39254033945aa2e4809cc2977e7087bee48bd7ab  0x2feb1512183545f48f6b9c5b4ebfcaf49cfca6f3                99
# 0x856c4Efb    0x2feb1512183545f48f6b9c5b4ebfcaf49cfca6f3  0x0000000000000000000000000000000000000000  100000000000000000000
# 0x856c4Efb    0x0000000000000000000000000000000000000000  0xfd6c58850cacf9ccf6e8aee479bfb4df14a362d2  20000000000000000