feat: merge-train/fairies#21936
Merged
Merged
Conversation
This PR attempts to improve our interaction classes. Closes: #21875 1. ) Addresses the aforementioned bug, where `BatchCall` wasn't forwarding the baked in interaction data (authwitnesses, capsules, extrahashedargs) 2. ) Removes the stale `returnReceipt` option from `DeployMethod`. This is a remnant from when we were just returning the deployed contract. Now that the return type is complex object, it just doesn't make sense to have extra complexity --------- Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
…d structs in `AbiDecoder` (#21926)
Now that `EmbeddedWallet` estimates gas on send, these simulations are redundant
Changes the error messages thrown when oracle version issues are detected. It deemphasizes the "oracle" wording since that's about internals, and emphasizes that the contract has been compiled with an Aztec.nr version that their PXE doesn't know how to handle. It also adds an error page link where we can document more specifics in the future. Closes F-486
… tx liveness issues (#21944) Follow up from troubleshooting a user app. This app was interacting with PXE in a way that it is not designed to work, but ultimately "protecting" this method by queueing it makes it a bit more robust even when misused. Closes F-485
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
Expands capsules to be addressed not only by contract address but also by scope. This changes `loadCapsule`, `storeCapsule`, `deleteCapsule`, and `copyCapsule` through various layers, in most cases by introducing a new scope param. This means different things at different layers: - `CapsuleStore` changes how it creates DB row keys to store capsule content, by adding the scope address as part of key computation. Address=ZERO then becomes global scope. Note this means legacy behavior is possible by providing a zero scope (though this should be frowned upon). - Corresponding oracles now take a scope param. - Transient capsules are also given optional scopes. I initially intended to leave them untouched, but given we currently shadow them with stored capsules on `load`, that would have caused behavioral drift. ## CapsuleArray - Makes CapsuleArray's scope aware. - Makes `CapsuleArray::at` work only with explicit scopes, intended to be the default ## Contract sync Contract sync flows rely heavily on capsules so as a ripple of this change we move from a "per contract" sync, to a "per contract and scope" sync. This in turn resulted in simplification of some ad-hoc types such as MessageContext, NoteValidationRequest and EventValidationRequest. ## Offchain processing This is the original canary that triggered this refactor: it was not possible to cleanly implement offchain inboxes isolated by recipient. Since now capsules are always scoped, this is issue gets organically resolved by dispatching messages to different capsules based on each message's recipient. Closes F-456 Closes F-457 Closes F-458 Closes F-459
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BEGIN_COMMIT_OVERRIDE
fix: interactions clean up (#21933)
fix(stdlib): decode
EthAddress,FunctionSelectorand wrapped field structs inAbiDecoder(#21926)fix: bot gas estimations (#21945)
refactor(aztec-nr): use logging wrappers in compute_note_hash_and_nullifier (#21897)
feat: add error page mapping for incompatible oracles (#21943)
fix(pxe): robust error handling in message processing (#21093)
fix: make PXE#getSyncedBlockHeader a concurrency=1 job to prevent IDB tx liveness issues (#21944)
fix(aztec-up): validate semver in uninstall to prevent path traversal (#21892)
fix(aztec-up): add truncation protection to install scripts (#21896)
feat!: scoped capsules (#21533)
END_COMMIT_OVERRIDE