-
Notifications
You must be signed in to change notification settings - Fork 22
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
Fix ccq #57
Merged
Merged
Fix ccq #57
Conversation
This file contains 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
djb15
reviewed
Nov 8, 2024
djb15
approved these changes
Nov 13, 2024
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.
Not a full security review, but the changes generally look good to me!
I glanced through most of the methods that I believe just contain cosmetic changes, but I spent some time on the signature verification and it looks sensible + more gas efficient than before
bruce-riley
approved these changes
Nov 13, 2024
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.
fixes:
fix bug where valid query response could be rejected during times of guardian rotation
fixed missing bounds check when parsing 4 bytes for funcSig
deleted WormholeMock (which had an empty
quorum
implementation => tests actually never checked correctness of quorum)functional:
turned QueryResponse abstract contract into library
moved query types into standalone library
implemented quorum calculations directly instead of using a cross-contract call
removed superfluous guardian set not empty check
replaced string reverts for no quorum and verification failed with custom errors to unify error reporting
split
validateEthCallData
's implementation into two separate, independent functionsintroduced usage of
BytesParsing.sliceUint32PrefixedUnchecked
refactored tests to use a fork and WormholeOverride
added NoQuorum testcase
cosmetic:
reduced indent to 2 spaces
renamed
QueryResponse
toQueryResponseLib
renamed
ParsedQueryResponse
toQueryResponse
renamed
ParsedPerChainQueryResponse
toPerChainQueryResponse
renamed
SOL_ACCOUNT
toSOLANA_ACCOUNT
andSOL_PDA
toSOLANA_PDA
for consistency (also with the TS SDK types)renamed
verifyQueryResponseSignatures
toverifyQueryResponse
since it also establishes quorumremoved
getResponseHash()
and renamed synonymously namedgetResponseDigest()
tocalcPrefixedResponseHash()
renamed
EthCallData
toEthCallRecord
to avoid ambiguityrenamed EthCall structs'
result
field toresults
to fix inconsistent plural between eth and solana structsrenamed
blockTime
toblockTimeInMicroSeconds
andminBlockTime
tominBlockTimeInSeconds
removed leading underscores of function parameter names
removed trailing spaces
deleted redundant/misleading/nonsensical comments
enforced max line length of 100 characters (except in tests)