Resolve Various Audit Findings, December 2024 #176
Merged
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.
Description
This PR resolves audit findings from Open Zeppelin. It resolves:
Some notes on the changes
The router trait is changed to now include two methods for fallbacks: one with arguments and one without. The actual usage of the route function decides which method to call depending on the explanations here from the Solidity team:
The macro will ensure only function is marked as #[fallback] and ensures it falls into either of the two camps: with args or no args. Additionally, purity enforcement of fallback is now added if not marked as payable explicitly.
We also add proper receive method semantics to the router.