Skip to content
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

view: port wasm planner to core #4300

Closed
wants to merge 18 commits into from
Closed

view: port wasm planner to core #4300

wants to merge 18 commits into from

Conversation

TalDerei
Copy link
Collaborator

@TalDerei TalDerei commented May 1, 2024

Describe your changes

This PR adds a port of the wasm planner, integrating it within the penumbra-view crate.

SwapClaim handling
In the process of porting this PR, we found a bug in the handling of SwapClaim actions with the wasm planner.

SwapClaim actions produce surplus value from their prepaid fees) that must be released so that the transaction balance to zero. In principle, it should be possible to release this value into an output note. This isn't the approach we took with this PR. Instead, we release it to the transaction fee, providing a base for us to improve on later.

Voting regression
The original WASM planner did not handle delegator/validator voting. This PR does not yet attempt to do so either. The pcli integration test for delegator voting is commented out.

Issue ticket number and link

References #4081

Checklist before requesting a review

  • If this code contains consensus-breaking changes, I have added the "consensus-breaking" label. Otherwise, I declare my belief that there are not consensus-breaking changes, for the following reason:

Client code

@TalDerei TalDerei marked this pull request as ready for review May 1, 2024 19:53
@TalDerei TalDerei marked this pull request as draft May 1, 2024 19:53
crates/view/src/planner.rs Outdated Show resolved Hide resolved
@erwanor erwanor changed the title planner (do not merge) view: port wasm planner to core May 2, 2024
@erwanor erwanor added the A-client Area: Design and implementation for client functionality label May 3, 2024
@erwanor erwanor added this to the Sprint 5 milestone May 3, 2024
@erwanor erwanor marked this pull request as ready for review May 3, 2024 15:00
@TalDerei TalDerei requested a review from erwanor May 3, 2024 20:20
@TalDerei
Copy link
Collaborator Author

TalDerei commented May 3, 2024

I reviewed the surplus logic again, and checks out to me. Merge on your approval ~

@erwanor erwanor closed this May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-client Area: Design and implementation for client functionality
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants