2022-09-13 09:36:36 -07:00
|
|
|
// SPDX-License-Identifier: Apache 2
|
|
|
|
|
|
|
|
pragma solidity ^0.8.0;
|
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
import "../contracts/interfaces/IRelayProvider.sol";
|
|
|
|
import "../contracts/relayProvider/RelayProvider.sol";
|
|
|
|
import "../contracts/relayProvider/RelayProviderSetup.sol";
|
|
|
|
import "../contracts/relayProvider/RelayProviderImplementation.sol";
|
|
|
|
import "../contracts/relayProvider/RelayProviderProxy.sol";
|
|
|
|
import "../contracts/relayProvider/RelayProviderMessages.sol";
|
|
|
|
import "../contracts/relayProvider/RelayProviderStructs.sol";
|
2022-09-13 09:36:36 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
import "forge-std/Test.sol";
|
2022-09-13 09:36:36 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
contract TestRelayProvider is Test {
|
2022-09-13 09:36:36 -07:00
|
|
|
uint16 constant TEST_ORACLE_CHAIN_ID = 2;
|
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
RelayProvider internal relayProvider;
|
2022-09-13 14:44:12 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
function initializeRelayProvider() internal {
|
2022-09-13 09:36:36 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
RelayProviderSetup relayProviderSetup = new RelayProviderSetup();
|
|
|
|
RelayProviderImplementation relayProviderImplementation = new RelayProviderImplementation();
|
|
|
|
RelayProviderProxy myRelayProvider = new RelayProviderProxy(
|
|
|
|
address(relayProviderSetup),
|
|
|
|
abi.encodeWithSelector(
|
|
|
|
bytes4(keccak256("setup(address,uint16)")),
|
|
|
|
address(relayProviderImplementation),
|
|
|
|
TEST_ORACLE_CHAIN_ID
|
|
|
|
)
|
|
|
|
);
|
2022-09-13 09:36:36 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider = RelayProvider(address(myRelayProvider));
|
2022-09-13 09:36:36 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
require(relayProvider.owner() == address(this), "owner() != expected");
|
|
|
|
require(relayProvider.chainId() == TEST_ORACLE_CHAIN_ID, "chainId() != expected");
|
2022-09-13 09:36:36 -07:00
|
|
|
}
|
|
|
|
|
2022-09-13 14:44:12 -07:00
|
|
|
function testCannotUpdatePriceWithChainIdZero(uint128 updateGasPrice, uint128 updateNativeCurrencyPrice) public {
|
2022-09-13 09:36:36 -07:00
|
|
|
vm.assume(updateGasPrice > 0);
|
|
|
|
vm.assume(updateNativeCurrencyPrice > 0);
|
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
initializeRelayProvider();
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// you shall not pass
|
|
|
|
vm.expectRevert("updateChainId == 0");
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider.updatePrice(
|
2022-09-13 09:36:36 -07:00
|
|
|
0, // updateChainId
|
|
|
|
updateGasPrice,
|
|
|
|
updateNativeCurrencyPrice
|
|
|
|
);
|
|
|
|
}
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
|
2022-09-13 14:44:12 -07:00
|
|
|
function testCannotUpdatePriceWithGasPriceZero(uint16 updateChainId, uint128 updateNativeCurrencyPrice) public {
|
2022-09-13 09:36:36 -07:00
|
|
|
vm.assume(updateChainId > 0);
|
|
|
|
vm.assume(updateNativeCurrencyPrice > 0);
|
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
initializeRelayProvider();
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// you shall not pass
|
|
|
|
vm.expectRevert("updateGasPrice == 0");
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider.updatePrice(
|
2022-09-13 09:36:36 -07:00
|
|
|
updateChainId,
|
|
|
|
0, // updateGasPrice == 0
|
|
|
|
updateNativeCurrencyPrice
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2022-09-13 14:44:12 -07:00
|
|
|
function testCannotUpdatePriceWithNativeCurrencyPriceZero(uint16 updateChainId, uint128 updateGasPrice) public {
|
2022-09-13 09:36:36 -07:00
|
|
|
vm.assume(updateChainId > 0);
|
|
|
|
vm.assume(updateGasPrice > 0);
|
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
initializeRelayProvider();
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// you shall not pass
|
|
|
|
vm.expectRevert("updateNativeCurrencyPrice == 0");
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider.updatePrice(
|
2022-09-13 09:36:36 -07:00
|
|
|
updateChainId,
|
|
|
|
updateGasPrice,
|
|
|
|
0 // updateNativeCurrencyPrice == 0
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
function testCanUpdatePriceOnlyAsOwner(
|
|
|
|
address oracleOwner,
|
|
|
|
uint16 updateChainId,
|
2022-09-13 14:44:12 -07:00
|
|
|
uint128 updateGasPrice,
|
|
|
|
uint128 updateNativeCurrencyPrice
|
2022-09-13 09:36:36 -07:00
|
|
|
)
|
|
|
|
public
|
|
|
|
{
|
|
|
|
vm.assume(oracleOwner != address(0));
|
2022-09-13 14:44:12 -07:00
|
|
|
vm.assume(oracleOwner != address(this));
|
2022-09-13 09:36:36 -07:00
|
|
|
vm.assume(updateChainId > 0);
|
|
|
|
vm.assume(updateGasPrice > 0);
|
|
|
|
vm.assume(updateNativeCurrencyPrice > 0);
|
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
initializeRelayProvider();
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// you shall not pass
|
2022-09-13 14:44:12 -07:00
|
|
|
vm.prank(oracleOwner);
|
2022-09-13 09:36:36 -07:00
|
|
|
vm.expectRevert("owner() != _msgSender()");
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider.updatePrice(updateChainId, updateGasPrice, updateNativeCurrencyPrice);
|
2022-09-13 09:36:36 -07:00
|
|
|
}
|
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
/*
|
|
|
|
TODO: Uncomment these tests once revert messages are back in
|
2022-09-13 09:36:36 -07:00
|
|
|
function testCannotGetPriceBeforeUpdateSrcPrice(
|
|
|
|
uint16 dstChainId,
|
2022-09-13 14:44:12 -07:00
|
|
|
uint128 dstGasPrice,
|
|
|
|
uint128 dstNativeCurrencyPrice
|
2022-09-13 09:36:36 -07:00
|
|
|
)
|
|
|
|
public
|
|
|
|
{
|
|
|
|
vm.assume(dstChainId > 0);
|
|
|
|
vm.assume(dstChainId != TEST_ORACLE_CHAIN_ID);
|
|
|
|
vm.assume(dstGasPrice > 0);
|
|
|
|
vm.assume(dstNativeCurrencyPrice > 0);
|
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
initializeRelayProvider();
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// update the price with reasonable values
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider.updatePrice(dstChainId, dstGasPrice, dstNativeCurrencyPrice);
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// you shall not pass
|
|
|
|
vm.expectRevert("srcNativeCurrencyPrice == 0");
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider.quoteDeliveryOverhead(dstChainId);
|
2022-09-13 09:36:36 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
function testCannotGetPriceBeforeUpdateDstPrice(
|
|
|
|
uint16 dstChainId,
|
2022-09-13 14:44:12 -07:00
|
|
|
uint128 srcGasPrice,
|
|
|
|
uint128 srcNativeCurrencyPrice
|
2022-09-13 09:36:36 -07:00
|
|
|
)
|
|
|
|
public
|
|
|
|
{
|
|
|
|
vm.assume(dstChainId > 0);
|
|
|
|
vm.assume(dstChainId != TEST_ORACLE_CHAIN_ID);
|
|
|
|
vm.assume(srcGasPrice > 0);
|
|
|
|
vm.assume(srcNativeCurrencyPrice > 0);
|
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
initializeRelayProvider();
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// update the price with reasonable values
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
//vm.prank(relayProvider.owner());
|
|
|
|
relayProvider.updatePrice(TEST_ORACLE_CHAIN_ID, srcGasPrice, srcNativeCurrencyPrice);
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// you shall not pass
|
|
|
|
vm.expectRevert("dstNativeCurrencyPrice == 0");
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider.quoteDeliveryOverhead(dstChainId);
|
2022-09-13 09:36:36 -07:00
|
|
|
}
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
*/
|
|
|
|
|
2022-09-13 09:36:36 -07:00
|
|
|
function testUpdatePrice(
|
|
|
|
uint16 dstChainId,
|
2022-09-13 14:44:12 -07:00
|
|
|
uint128 dstGasPrice,
|
2022-09-30 09:18:49 -07:00
|
|
|
uint64 dstNativeCurrencyPrice,
|
2022-09-13 14:44:12 -07:00
|
|
|
uint128 srcGasPrice,
|
2022-09-30 09:18:49 -07:00
|
|
|
uint64 srcNativeCurrencyPrice,
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
uint32 gasLimit,
|
|
|
|
uint32 deliverGasOverhead,
|
|
|
|
uint32 targetWormholeFee
|
2022-09-13 09:36:36 -07:00
|
|
|
)
|
|
|
|
public
|
|
|
|
{
|
|
|
|
vm.assume(dstChainId > 0);
|
|
|
|
vm.assume(dstChainId != TEST_ORACLE_CHAIN_ID);
|
|
|
|
vm.assume(dstGasPrice > 0);
|
|
|
|
vm.assume(dstNativeCurrencyPrice > 0);
|
|
|
|
vm.assume(srcGasPrice > 0);
|
|
|
|
vm.assume(srcNativeCurrencyPrice > 0);
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
vm.assume(uint256(dstGasPrice) * srcNativeCurrencyPrice >= dstNativeCurrencyPrice);
|
2022-09-13 09:36:36 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
initializeRelayProvider();
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// update the prices with reasonable values
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider.updatePrice(dstChainId, dstGasPrice, dstNativeCurrencyPrice);
|
|
|
|
relayProvider.updatePrice(TEST_ORACLE_CHAIN_ID, srcGasPrice, srcNativeCurrencyPrice);
|
|
|
|
|
2022-09-13 09:36:36 -07:00
|
|
|
|
|
|
|
// verify price
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
uint256 expected = ( uint256(dstNativeCurrencyPrice) * (uint256(dstGasPrice)) + (srcNativeCurrencyPrice - 1)) / srcNativeCurrencyPrice;
|
|
|
|
uint256 readValues = relayProvider.quoteGasPrice(dstChainId);
|
|
|
|
require(readValues == expected, "relayProvider.quotePrices != expected");
|
|
|
|
}
|
|
|
|
|
|
|
|
struct UpdatePrice {
|
|
|
|
uint16 chainId;
|
|
|
|
uint128 gasPrice;
|
|
|
|
uint128 nativeCurrencyPrice;
|
2022-09-13 09:36:36 -07:00
|
|
|
}
|
2022-09-13 13:51:57 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
|
2022-09-13 13:51:57 -07:00
|
|
|
function testUpdatePrices(
|
|
|
|
uint16 dstChainId,
|
2022-09-13 14:44:12 -07:00
|
|
|
uint128 dstGasPrice,
|
2022-09-30 09:18:49 -07:00
|
|
|
uint64 dstNativeCurrencyPrice,
|
2022-09-13 14:44:12 -07:00
|
|
|
uint128 srcGasPrice,
|
2022-09-30 09:18:49 -07:00
|
|
|
uint64 srcNativeCurrencyPrice,
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
uint32 gasLimit,
|
|
|
|
uint32 deliverGasOverhead,
|
|
|
|
uint32 targetWormholeFee
|
2022-09-13 13:51:57 -07:00
|
|
|
)
|
|
|
|
public
|
|
|
|
{
|
|
|
|
vm.assume(dstChainId > 0);
|
2022-09-14 11:26:12 -07:00
|
|
|
vm.assume(dstChainId != TEST_ORACLE_CHAIN_ID); // wormhole.chainId()
|
2022-09-13 13:51:57 -07:00
|
|
|
vm.assume(dstGasPrice > 0);
|
|
|
|
vm.assume(dstNativeCurrencyPrice > 0);
|
|
|
|
vm.assume(srcGasPrice > 0);
|
|
|
|
vm.assume(srcNativeCurrencyPrice > 0);
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
vm.assume(dstGasPrice >= dstNativeCurrencyPrice/srcNativeCurrencyPrice);
|
2022-09-13 13:51:57 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
initializeRelayProvider();
|
2022-09-13 13:51:57 -07:00
|
|
|
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
RelayProviderStructs.UpdatePrice[] memory updates = new RelayProviderStructs.UpdatePrice[](2);
|
|
|
|
updates[0] = RelayProviderStructs.UpdatePrice({
|
|
|
|
chainId: TEST_ORACLE_CHAIN_ID,
|
2022-09-13 13:51:57 -07:00
|
|
|
gasPrice: srcGasPrice,
|
|
|
|
nativeCurrencyPrice: srcNativeCurrencyPrice
|
|
|
|
});
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
updates[1] = RelayProviderStructs.UpdatePrice({
|
2022-09-13 14:44:12 -07:00
|
|
|
chainId: dstChainId,
|
|
|
|
gasPrice: dstGasPrice,
|
|
|
|
nativeCurrencyPrice: dstNativeCurrencyPrice
|
|
|
|
});
|
2022-09-13 13:51:57 -07:00
|
|
|
|
|
|
|
// update the prices with reasonable values
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
relayProvider.updatePrices(updates);
|
2022-09-13 13:51:57 -07:00
|
|
|
|
|
|
|
// verify price
|
Move development branch to main (#23)
* refactoring for multidelivery
* partial ts-test fixes
* use typechain in integration tests, update prettier, fix remaining integration tests
* run formatter on solidity files
* gas refunding
* gas forwarding logic
* msg.send -> refundAmount
* minor test refactor & additions
* created relayer engine directory
* more testing & tilt environment config for relayer engine
* starting work on the xMint example contracts
* additions for relayer engine
* minor modifications & todos
* fixed some errors
* refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend
* Merged refactoring + cleaned up some TODOs
* updated ICoreRelayer interface
* adjusted tests for new interface
* Working testSend with new interface'
* refactoring interfaces & files for single VAA design
* GasOracle implementation of new interface
* GasOracle compiles
* Gas oracle upgradable
* Fix compile errors in GasOracleGovernance
* minor core relayer cleanup
* Changes to getters, setters, state
* implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer
* Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer
* Fix encodeDeliveryRequestsContainer
* added single vaa delivery entrypoint logic
* Encode and Decode delivery instructions
* Fixed many compile errors
* First attempt at removing stacktoodeep error
* Commenting out chunks of code to identify stack too deep error
* Continue stack too deep quest
* Revert "Commenting out chunks of code to identify stack too deep error"
This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a.
* Revert "Continue stack too deep quest"
This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37.
* Fix stack too deep error in CoreRelayerMessages
* tests compile, run, pass
* fixing up fee collection assertions
* GasOracle tests altering
* Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction
* adding evm events to delivery execution
* forwarding refactor for single vaa
* relay provider name refactor
* Test file slight refactor to allow for multiple chains
* first impl of hub and spoke example
* Forward test progress
* Forwarding test passes!
* More general parameters for test
* Testing file more modular, calls 'generic relayer'
* redelivery implementation
* removing todos
* Tests can use arbitrary amount of chains
* Address various TODOs
* refactored RelayProvider to be upgradeable via proxy
* Add overhead inteface to RelayProvider & adjusted necessary fee calculations
* added TODOs related to rewardAddress payout
* provider price quoting changes
* provider payments made at source
* Fixed all compile errors
* testForward and testSend pass again!
* Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface
* First round of changes to support individual vaas in offchain relayer
- Use new custom plugin event source api in relayer engine
- Supports mulit delivery
- Config for celo and fuji
* contracts deploy successfully to tilt
* bug fixes, contracts deploy to tilt
* Starting the redelivery test
* Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished
* small plugin changes
* MockRelayerIntegration is used for sending
* prepare offchain relayer to run in both tilt and testnet
* update readme and npm scripts for offchain relayer
* nit: remove console.log(argv)
* solc version bump
* Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete
* chain registration typescript scripts
* Redeliver works!
* Redelivery test works!
* testnet deploy + relayer engine test
* Testing two sends
* Friday changes to round trip on testnet
* Shortening current tests
* Funds are correct! Relayer gets paid!
* Remove extraneous comments
* ts scripts for deployment and config
* Wormhole Fee Test
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
|
|
|
uint256 expected = ( uint256(dstNativeCurrencyPrice) * (uint256(dstGasPrice)) + (srcNativeCurrencyPrice - 1)) / srcNativeCurrencyPrice;
|
|
|
|
uint256 readValues = relayProvider.quoteGasPrice(dstChainId);
|
|
|
|
require(readValues== expected, "relayProvider.quotePrices != expected");
|
2022-09-13 13:51:57 -07:00
|
|
|
}
|
2022-09-13 09:36:36 -07:00
|
|
|
}
|