-
Notifications
You must be signed in to change notification settings - Fork 375
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
feat(gnoclient): add MultiCall #1565
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #1565 +/- ##
==========================================
- Coverage 56.13% 47.25% -8.88%
==========================================
Files 438 377 -61
Lines 66151 61322 -4829
==========================================
- Hits 37134 28980 -8154
- Misses 26126 29953 +3827
+ Partials 2891 2389 -502
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
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.
Please see the comments I've left 🙏
I don't think we need another Call
method just to support multiple message types, as the functionality is identical, but that we should see how to utilize existing client functionality. The API of any client should be very specific and lean, not wide to accommodate different use-cases. Keep the implementation deep, but the API shallow.
Also, please add unit tests for this functionality 🙏
@zivkovicmilos added some tests: fb2416d |
Putting this on hold until we figure out what the execution semantics and implications are when calling multiple MsgCall Messages in a single transaction. Primary concerns:
|
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.
Progress, but still not fully there. We are missing critical unit tests for the functionality.
Please see my comments 🙏
|
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.
Thank you for resolving the comments 🙏
I've left final thoughts, which are easy fixes.
Otherwise we should be good to go 🚀
I appreciate you taking the time to resolve everything and learn in the process. Great work 👏
## Description This PR introduces a the MultiCall feature to the Gnoclient. It allows for packing multiple vm.MsgCall messages into a single transaction, then signing & publishing it. The PR utilizes the same API, just allows for multiple MsgCall messages in the CallCfg struct, and parses accordingly. cc @zivkovicmilos @moul @jefft0 <details><summary>Contributors' checklist...</summary> - [ ] Added new tests, or not needed, or not feasible - [ ] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [ ] Updated the official documentation or not needed - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details>
Description
This PR introduces a the MultiCall feature to the Gnoclient. It allows for packing multiple vm.MsgCall messages into a single transaction, then signing & publishing it.
The PR utilizes the same API, just allows for multiple MsgCall messages in the CallCfg struct, and parses accordingly.
cc @zivkovicmilos @moul @jefft0
Contributors' checklist...
BREAKING CHANGE: xxx
message was included in the description