-
Notifications
You must be signed in to change notification settings - Fork 3
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
Made the registry more fully-featured #1039
Conversation
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.
tried to keep comments high-level since it's a wip
This PR allows the agent0 pipeline to connect to an existing postgres resource instead of managing it's own container. NOTE: actual implementation of this in the infra repo is blocked by registry updates to query registered pools (delvtech/hyperdrive#1039). Currently, we use events to get registered pools, but since infra uses anvil's save/load state, register events get lost. Need follow up after the hyperdrive registry update to get list of registered pools from contract call. - Agent0 `Chain` object now has a flag `use_existing_postgres` to look for env variables to connect to existing postgres container. - Using singular `.env` file instead of multiple ones for defining env variables. - Fixing checkpoint bots and invariance checks to take an `--infra` flag to look for environment variables for connection. - Fixing data pipeline scripts to read hyperdrive addresses from registry. - Fixing bug to rolling back db when adding hyperdrive addr to name fails
4b82db2
to
fdb85e8
Compare
Pull Request Test Coverage Report for Build 9374541861Details
💛 - Coveralls |
Hyperdrive Gas Benchmark
This comment was automatically generated by workflow using github-action-benchmark. |
Pull Request Test Coverage Report for Build 9375326207Details
💛 - Coveralls |
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.
Looks great! The API is really nice with flexible getters and streamlined setters. 🔥
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.
Just a few nits/questions
f8ee174
to
94ec11a
Compare
94ec11a
to
dc558a6
Compare
Pull Request Test Coverage Report for Build 9394935530Details
💛 - Coveralls |
* Made the registry more fully-featured * Added comprehensive tests for `setHyperdriveInfo` * Added event verification to the registry tests * Added a mixed test case for `setHyperdriveInfo` * Added comprehensive testing for `setFactoryInfo` * Fixed factory tests * Addressed review feedback * Addressed review feedback from @jrhea
Description
Updates the schema for the registry so that it is more helpful for programmatic users. This PR also updates some inconsistencies in the
HyperdriveFactory
and interfaces throughout the codebase.Review Checklists
Please check each item before approving the pull request. While going
through the checklist, it is recommended to leave comments on items that are
referenced in the checklist to make sure that they are reviewed. If there are
multiple reviewers, copy the checklists into sections titled
## [Reviewer Name]
.If the PR doesn't touch Solidity, the corresponding checklist can
be removed.
[[Reviewer Name]]
approve
calls useforceApprove
?transfer
calls usesafeTransfer
?transferFrom
calls usemsg.sender
as thefrom
address?token spend?
call
,delegatecall
,staticcall
,transfer
,send
)success
boolean checked to handle failed calls?delegatecall
, are there strict access controls on theaddresses that can be called? It shouldn't be possible to
delegatecall
arbitrary addresses, so the list of possible targets should either be
immutable or tightly controlled by an admin.
nonReentrant
?not a concern or how it's mitigated?
memory variables?
issues?
payable
functions restricted to avoid stuck ether?catch underflows?
Safe
functions are altered, are potential underflows andoverflows caught so that a failure flag can be thrown?
covering the full input space?