* refund address handling improvement
* fix compilation error
* Remove unnecessary line
* restrict to view
* fix comment
* Improve handling of gas limits
* get test to pass - check that the return data is appropriately long before decoding
* modification to checking inequality
* modification to checking inequality - use unchecked
* clean functions around - add untrustedBaseDeliveryPrice
* make quote_length_bytes a constant
* seperate pay into two overloads
* change inequality to equality for checking return data length
* renaming functions
* allow override of refund per gas unused
* test modification
* note
The hash preimages for storage calculations were wrong for two storage
slots. The updated preimages can be verified to be correct with e.g. the
`chisel` command line tool from the foundry suite.
* ethereum: Add Foundry tests written by RV
* ethereum: Add scripts and instructions to run proofs using KEVM
* ethereum: Fix typo on testSetup_after_setup_revert_KEVM
* ethereum: Edit Makefile to skip KEVM tests when running forge test
* ethereum: Fix commented-out lines in Foundry tests
* ethereum: Refactor GovernanceStructs invalid-size tests
* ethereum: Replace assume with bound in Foundry tests
Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>
* ethereum: Apply review suggestions to run-kevm script
Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>
* ethereum: explicit cast to uint8 for some vars
The bound() calls need to be explicitly cast to uint8 from the uint256
that forge-std's bound() returns.
* ethereum: updating some of the RV tests
The definitions don't compile with newer forge/solc.
* ethereum: Add assumption to test that guardian count > 0
Prevents an arithmetic over/underflow error in testCannotVerifySignaturesWithOutOfBoundsSignature, in the expression bound(outOfBoundsGuardian, 0, params.guardianCount - 1)
---------
Co-authored-by: Lucas MT <lucas.tabajara@runtimeverification.com>
Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>
* AutoRelayer: replay protection
* AutoRelayer: store block number on failure and success, use for replay protection and indexing
* AutoRelayer: add 'deliveryAttempted' view fn; clear failure mapping on success
This reverts commit 05cec3d729 (#3059)
The commit was erroneously included in anticipation of a forge version
update, but it actually only generates an error with an outdated
forge-stdlib version.
The old version's `vm.addr` function
(see
ddb69063e4/src/Vm.sol (L15))
has no `pure` modifier, thus any function using it can not be `pure` (or `view`).
The new version (see
66bf4e2c92/src/Vm.sol (L55))
on the other hand does. In fact, with the new version, removing the
modifier produces a warning.
* gRelayer: surrounding files
* modification to get compilation
* restore devnet
* remove generic relayer docker
* remove wait for relayer engine
* keep build time 20
* sh -> bash
* sh -> bash
* Remove comment
* bash -> sh
* Revert "bash -> sh"
This reverts commit 5c37e92fa1.
* bash->sh
* gRelayer: ethereum folder changes for generic-relayer-merge
* add eth-devnet
* Adds .github because workflow needs to install forge
* sdk-ci-tests need to install forge
* don't wait for nonexistent relayer engine
* update package.json and package-lock.json
* Remove unnecessary types from package.json
* ts-node
* gRelayer: ethereum folder changes for generic-relayer-merge
* sdk-ci-tests need to install forge
* don't wait for nonexistent relayer engine
* update package.json and package-lock.json
* remove these changes
* Relayer: Natspec documentation in IWormholeRelayer (#3032)
* WIP
* Fixes
* Updated interfaces
* remove bash
* Forward uses same refund chain id and refund address (#3034)
* WIP
* Fixes
* Forward uses same refund chain id and refund address
* Updated interfaces
* Remove forge build warnings
* Add note to interface for resend
* via-ir on unless in Tilt
* Correct IWormholeReceiver interface
* Wormhole message fee now part of quoteDeliveryPrice (#3043)
* Fix to PR 3043
* Remove compiler warning
* Relayer/address drew review (#3060)
* Fix typo in Create2Factory
* Add event for contract upgrades
* Prevent registering contract if it is already registered
* Prevent allowing unset chainId for default delivery provider governance VAA
* memory to calldata for external functions in WormholeRelayerSend
* continue memory to calldata for external functions
* Fix pricing in delivery provider
* Sanity check new default delivery provider isn't 0 address
* Don't save vaaKey as local variable
* cache the length of array rather than iterate every time for vaaKeys
* Replacing memory with calldata in few locations
* Remove stale file DeliveryProviderMessages
* Remove batch VAA sender script
* Remove batch VAA from WormholeSimulator
* Wait for a confirmation in deploy scripts
* remove unnecessary comments
* Fix Delivery Provider Pricing and add a test
* remove console logs
* Revert "continue memory to calldata for external functions"
This reverts commit f322afb6c0.
* Revert "memory to calldata for external functions in WormholeRelayerSend"
This reverts commit 42fcaad884.
* Revert "Don't save vaaKey as local variable"
This reverts commit a9172379c5.
* Revert "cache the length of array rather than iterate every time for vaaKeys"
This reverts commit d61380a9b0.
* Revert "Replacing memory with calldata in few locations"
This reverts commit 94e47b6e72.
* Revert "Fix typo in Create2Factory"
This reverts commit a9f7bdf461.
* Update contract addresses for via-ir
* Slight improvements to delivery provider implementation
* typed errors for delivery provider
* enable VIA-IR in CI and not in Tilt
* correct contract address for via ir
* WormholeRelayerSend and WormholeRelayerDelivery (#3082)
Newer versions of forge show this warning:
[⠊] Compiling...
[⠢] Compiling 93 files with 0.8.4
[⠘] Solc 0.8.4 finished in 20.09s
Compiler run successful (with warnings)
warning[2018]: Warning: Function state mutability can be restricted to view
--> forge-test/TokenImplementation.t.sol:76:5:
|
| function simulatePermitSignature(
| ^ (Relevant source part starts here and spans across multiple lines).
This change cleans it up.
The BridgeTest contract inherited from both Bridge and forge-std's
Test contracts. This was fine with the ancient version of
forge-std it was using, but newer forge-std has an isFork() from
foundry-rs/forge-std#236. This makes upgrading forge-std to take
advantage of new features like improved invariant testing or smart
fuzzing impossibru.
This makes it a bit cleaner and also fixes some of the logic in the
testTruncate to not be undefined.
Thanks @scnale for the assist on this one!