-
Notifications
You must be signed in to change notification settings - Fork 6
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
😎 Runtime APIs #354
😎 Runtime APIs #354
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @JuaniRios and the rest of your teammates on Graphite |
1e5d5ad
to
659df33
Compare
c53ecd6
to
f456465
Compare
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 addition! The new Rust implementation significantly improves our codebase by allowing us to remove complex logic from the UI, which will lead to better performance and easier maintenance. I particularly appreciate the elegant structure you've used - it really showcases Rust's strengths compared to our previous JavaScript implementation.
I've left some inline comments regarding the documentation of individual APIs and some aspects of the logic. The main point I would like to emphasize is ensuring that we align the logic here with what's used in the pallet logic. This consistency will help ensure that the output accurately reflects on-chain behavior
f456465
to
cf7e74c
Compare
cf7e74c
to
0e94e4a
Compare
What?
Why?
Complex querying and calculations are done better in Rust with the full on-chain data and types than in Javascript on the front-end
Testing?
Anything Else?
To get an overview of the main changes, check out runtime_api.rs on /src and on /tests folders, as well as the new tests.rs file on the instantiator, where I test the new functions.
The rest of the changed files should be more about reflecting the changes of the instantiator functions