Open lukenewman opened 5 months ago
Great find!
embedding a multi-transition Authorization unit test
Yes please. You can see some recent examples of adjusted tests in ledger/src/tests.rs
in: https://github.com/ProvableHQ/snarkVM/pull/13/files . There are also a lot in synthesizer/src/vm/mod.rs
Motivation
When deserializing an
Authorization
from string a call stack that included multiple transitions, the structural assertion logic would erroneously fail. This PR fixes the assertion logic but does not change the underlying structure/order of theAuthorization
fields.Test Plan
Our (Puzzle) delegated proving stack takes in user-generated
Authorization
s in string form. We then parse these and execute the proof request using snarkVM crates. I've tested that theseAuthorization
deserializations and subsequent proofs do indeed land onchain properly.I can provide screenshots/videos on request. For now, you can see the following transaction that was generated through our stack and has landed onchain: https://testnet.aleoscan.io/transaction?id=at14d4edujs6ztghev2zppp55v4xlffu7q3p379dlvdsu3yuu2cluysd84ktk
I am also willing to create a sample project showing this fix in action.
A more formal test plan would involve embedding a multi-transition
Authorization
unit test into snarkVM itself and not just relying on afee_public
test case.Related PRs
none