Skip to content

Commit

Permalink
Deploy 071 - Balancer RETH MetaStable pool strategy (#1822)
Browse files Browse the repository at this point in the history
* initail commit

* intermediary commit

* commit research files

* balancer booster abi

* intermittent commit

* add base balancer contract that implements checkBalance functionality

* add some additional initial integration

* intermittent commit

* add deployment file

* add fork test fixture

* intermittent commit

* prettier

* add basic withdrawal / deposit functionality

* correct the BPT calculation

* prettier + lint

* simplify the BPT price calculation

* add read-only re-entrancy protection

* add some missing tests and adjust existing. Deparate deposit and withdrawal slippage

* fix check balance implementation

* Balancer review changes (#1726)

* Generated contract docs

* Refactor Balancer storage variables

* Small Balancer changes

* Natspec updates
Added missing licensing
getPoolAssets gas optimized

* Updated generated Balancer strategy contract diagrams

* fix contract linter

* Removed restrictions on tests

* Small gas improvements
Fixed Slither

* Change BalancerError version

* Updated constant names
Addresses to use checksum format

* JS lint tasks

* Updated Balancer and Aura pool id constants

* Removed getRateProviderRate as it wasn't being used
Refactored to remove poolAssetsMapped storage variable

* Updated OETH Contracts diagrams
Generated new Balancer contract diagrams

* Fix failing test

* Fix merge conflict

* Restored getRateProviderRate

* Natspec updates
Added toPoolAsset override

* Removed unused getRateProviderRate

* Natspec updates
Gas optimization of InitializableAbstractStrategy

* Abstract strategy gas improvements (#1719)

* Refactor base strategy to use immutables

* Fixed strategy deployments in 001_core and fixtures

* Generated new strategy diagrams

* Deploy rETH instead of the stETH Balancer MetaStable Pool

* removed unused Aura config

* Balancer fork tests

* Added check that BPT amount equals Aura LP amount
Added rETH conversion to ETH value

* Updated balancer strat fork tests

* Updated Balancer fork tests

* Added optional deposit with multiple assets to the strategy

* Single asset deposit to use multi asset deposit

* Added optional checkBalance to Balancer strategy

* Added checkBalance() to BaseBalancerStrategy

* Fix slither
Fix curve HH task

* Added multi-asset withdraw to balancer strategy

* Fix multi-asset withdraw

* Updated Balancer and Vault diagrams

* Fix js linter

* Fixed checkBalance of rETH asset in Balancer strategy

* Only wrap assets if amount > 0
Added depositAll fork test for Balancer strat

* Removed Vault changes for multi-asset strategy support

* Updated generated docs

* Add tests for wstETH/WETH Balancer pool (#1725)

* Split deployment and fix fixtures

* Deposit tests for wstETH/WETH pool

* Add withdraw test

* prettier

* remove .only in fork tests

---------

Co-authored-by: Shahul Hameed <[email protected]>

* [ DFD-1 ] Balancer's checkBalance (#1730)

* add alternative implementation of Balancer's checkBalance

* correct the checkBalance implementation

* Balancer fork tests (#1727)

* Added large withdraw tests for Balancer strategy

* fix test log

* Balancer withdraw to handle close to BPT limit

* Small change to Balancer withdraw fork test

* add some comments

* change implementation

---------

Co-authored-by: Domen Grabec <[email protected]>

* Add read-only reentrancy test (#1731)

* Added large withdraw tests for Balancer strategy

* fix test log

* Balancer withdraw to handle close to BPT limit

* Small change to Balancer withdraw fork test

* add some comments

* Add test for read-only reentrancy

* add reentrancy protection to checkBalance functions

* add documentation

* remove the only

---------

Co-authored-by: Nicholas Addison <[email protected]>
Co-authored-by: Domen Grabec <[email protected]>

* Balancer fixes (#1734)

* prettier

* adjust how checkBalance is calculated

* Balancer withdrawal fix (#1739)

* fix balancer withdrawals

* lint

* prettier

* use only 1 safeApprove when applicable

* some renames and more correct application of approves

* renames, additional requires, move initializer to a better location, slither

* bug fix

* Generated latest Balancer strategy diagrams

* re-deploy BPT tokens sitting in the strategy

* fix re-entrancy test

* fixture fix

* bug fix

* prettier

* L02 improve naming  (#1783)

* improve naming

* one more rename

* buf fix

* do a check that supported assets are being withdrawn (#1784)

* set uint256 max instead of magic number (#1782)

* remove unused files (#1785)

* fix renaming bug

* correct safe approve all tokens and adjust the documentation (#1776)

* prettier

* M04 - minBptFunction robustness (#1795)

* change bptExpected to ignore Oracle prices and assume assets are always pegged. (Vault value checker shall be used to mitigate issues with said assumption)

* fix all the tests

* add test for pool manipulation

* prettier & lint

* minor change

* add withdrawal test

* update documentation

* pick string error length that is smaller than 32 characters

* prettier

* correct comment

* better comments

* prettier

* M02 withdrawal fuzzing tests (#1801)

* add more withdrawal tests

* add more withdrawal cases

* N02 gas inefficiencies  (#1786)

* gas optimisation

* fix bad merge and prettier

* remove todo comments (#1796)

* use a more appropriate array initialisation length (#1800)

* more consistant function naming (#1797)

* fix typo (#1798)

* simplify the way we withdrawAll. no need to pass along min amonts (#1777)

* M03 - missing or misleading documentation (#1781)

* improve documentation

* add comma

* M01 More comprehensive test suite (#1780)

* add tests for approving tokens and harvesting rewards

* prettier and lint

* fix bad merge + prettier & lint

* fix fork tests remove .only

* remove only

* lint

* fix unit tests

* add more tests to see how checkBalance behaves

* remove console log

* improve checkBalance test by testing that checkBalance amount doesn't decrease after the attack comaring to the middle of the attack.

* confirm that yield gained by 3rd party tilting the pool can be extracted by withdrawing the funds

* rename internal functions by prepending them with underscore

* Generated latest Balancer strategy diagrams (#1805)

* bug fix

* bug fix

* Minor Balancer changes from final review (#1819)

* Removed unused imports

* Generated updated contract diagram

* Deploy Balancer Meta stable pool RETH strategy

* update deploy description

* fix typo

* add proposal Id to deploy script

* prettier

---------

Co-authored-by: Nick Addison <[email protected]>
Co-authored-by: Shahul Hameed <[email protected]>
  • Loading branch information
3 people authored Sep 27, 2023
1 parent d851594 commit 8f473d4
Show file tree
Hide file tree
Showing 8 changed files with 2,166 additions and 3 deletions.
9 changes: 7 additions & 2 deletions contracts/deploy/071_balancer_rETH_WETH.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ module.exports = deploymentWithGovernanceProposal(
forceDeploy: false,
//forceSkip: true,
deployerIsProposer: true,
//proposalId: ,
proposalId:
"17043959540932214305975227536301311223058634629252956083518973246707438400299",
},
async ({ deployWithConfirmation, ethers, getTxOpts, withConfirmation }) => {
const { deployerAddr } = await getNamedAccounts();
Expand Down Expand Up @@ -95,7 +96,11 @@ module.exports = deploymentWithGovernanceProposal(
// Governance Actions
// ----------------
return {
name: "Deploy new Balancer MetaPool strategy",
name: "Deploy Balancer rETH/WETH MetaPool strategy\n\
\n\
This will enable OETH protocol to deploy liquidity to Balancer's rETH/WETH pool\n\
\n\
",
actions: [
// 1. Add new strategy to the vault
{
Expand Down
1 change: 1 addition & 0 deletions contracts/deployments/mainnet/.migrations.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
"068_oeth_to_ogv_governance_p1": 1687795046,
"069_oeth_to_ogv_governance_p2": 1687955800,
"070_flux_strategy": 1691586235,
"071_balancer_rETH_WETH": 1694959415,
"072_ousd_maker_dsr": 1691657795,
"073_disable_strategies": 1692278819,
"074_upgrade_oeth_oracle_router": 1693458035,
Expand Down
Loading

0 comments on commit 8f473d4

Please sign in to comment.