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)