-
Notifications
You must be signed in to change notification settings - Fork 10
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
Base Market Deployments #110
base: master
Are you sure you want to change the base?
Conversation
weETH/WETH Base Market Deployment
🚨 Report Summary
For more details view the full report in OpenZeppelin Code Inspector |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, just maybe review the sequencer feed checks
…dler and spot/reserve oracles
…hereum mainnet WETH address. test: refactor tests to enable fork rpc overrides
… sequencer downtime and grace periods
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good, just a little confusion in the _getUnderlying() function in test/helpers/handlers/IonHandlerForkBase.sol
as it uses the mainnet WETH. Overall the differing WETH addresses are quite confusing and it may be worth using an immutable value in the handlers and passing it in as a config value
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think it would be worth making weth an immutable value and passing the address in as a constructor arg?
I think it's a bit dangerous leaving this to be hardcoded when deploying on BASE vs other networks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried looking into if Uniswap has a WETH() function too, and unfortunately in V3 it does not
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The IonHandlerBase
now takes in weth
as a constructor arg to set it as an immutable.
…d of importing the mainnet WETH address as a constant
add 'amountIn' to words to ignore
Overview
weETH/WETH
market on base.SpotOracle
reads from the Chainlink weETH marker price oracle denominated inETH
.ReserveOracle
reads from the Chainlink weETH exchange rate oracle denominated inWETH
.SpotOracle
andReserveOracle
.TODOs
weETH/WETH
WeEthWethSpotOracle
andWeEthWethReserveOracle
that uses Base feeds and checks for Base sequencer downtime via Chainlink.Important Changes
The
WeEthWethSpotOracle
also checks if the sequencer is down.The
UniswapFlashloanBalancerSwap
contract used to always assume that the base asset of the IonPool it is being used on is mainnetWETH
, imported from theConstants.sol
file.BASE
variable set fromionPool.underlying()
which in the base deployment will be the baseWETH
.Optimizer to 200 to avoid contract size limit violation
98e624e
WETH
address as a constructor arg instead of a constant.