-
Notifications
You must be signed in to change notification settings - Fork 6
Integrations Boilerplate Codegen Tool #884
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
Conversation
670d20d to
dc8f348
Compare
cashd
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.
Great job this is going to be soo useful! can't wait to use it in the next integration. I ran through the readme and got every working very smoothly.
2bce5fa to
1d520f2
Compare
Hyperdrive Gas Benchmark
This comment was automatically generated by workflow using github-action-benchmark. |
jalextowle
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.
This looks great, really nice job dude! Aside from the licensing comment, I have one other high-level comment. I think it would be good to keep the interfaces/ directory flattened for consistency. If we're going to add folders, we should add folders everywhere. Since that isn't something that we've done for the old yield sources, I'd prefer updating this to output the autogenerated interface into the contracts/src/interfaces.
|
@jalextowle flattened interfaces/ files and updated the license. left a comment about the GPL license in IERC20.sol |
jalextowle
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.
Looks great! I think the last thing you should do is add yourself and cash as codeowners for the codegen/ folder so that you can make changes to the tool without needing a review from me or Jonny. We'll still need to review new instances for now.
2324490 to
682124e
Compare
3c5bb6f to
70dde7c
Compare
Adds a codegen tool to generate much of boilerplate code necessary for new integrations of hyperdrive. The overall goal is to be to just define a simple
config.yamlfile and then be able to run:This will generate a slew of files:
The configuration yaml will allow us to create certain preconfigured defaults, such as disabling base deposits and stubbing out default functions for those.
I've also added a github workflow to test the different configurations by making sure all the generated code compiles.