-
Notifications
You must be signed in to change notification settings - Fork 12
Base Market Deployments #110
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: 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 |
jpick713
left a comment
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
CarsonCase
left a comment
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/WETHmarket on base.SpotOraclereads from the Chainlink weETH marker price oracle denominated inETH.ReserveOraclereads from the Chainlink weETH exchange rate oracle denominated inWETH.SpotOracleandReserveOracle.TODOs
weETH/WETHWeEthWethSpotOracleandWeEthWethReserveOraclethat uses Base feeds and checks for Base sequencer downtime via Chainlink.Important Changes
The
WeEthWethSpotOraclealso checks if the sequencer is down.The
UniswapFlashloanBalancerSwapcontract used to always assume that the base asset of the IonPool it is being used on is mainnetWETH, imported from theConstants.solfile.BASEvariable set fromionPool.underlying()which in the base deployment will be the baseWETH.Optimizer to 200 to avoid contract size limit violation
98e624e
WETHaddress as a constructor arg instead of a constant.