Commit Graph

15 Commits

Author SHA1 Message Date
derpy-duck 7e150947d5 Relay provider can set chains enabled and disabled 2023-04-04 16:26:32 +00:00
chase-45 7b4d340a23 more redelivery code cleanup 2023-04-03 15:43:31 -04:00
derpy-duck fa50d9d835 Permissionless version 1 implementation (#126)
* Interface changes

* Interface changes

* Contract changes

* mockrelayerintegration changes

* Contract changes (#124)

* Forge tests pass

* merge
2023-03-28 17:43:25 +00:00
derpy-duck 7b384caadc
Remove TODO comment, correct 10^-6 (#108) 2023-02-27 18:49:58 -05:00
Sebastián Claudio Nale a5427bb177 Make refund and reward addresses `payable`. 2023-02-21 12:56:07 -03:00
derpy-duck 1f69c238d7 forge builds! 2023-02-13 17:13:42 -05:00
derpy-duck 20bb4c7f8e
Think about upper limits (#68)
* Change arbitrary contraints

* higher limit asset conversion buffer

* Remove unnecessary constraints on tests, and impose lighter constraints

* Forge fmt

* change to power of 2, and remove fuzz=25 limit

* set deliver gas overhead nonzero (#71)

* Fix previous redelivery tests to test emitting of InvalidRedelivery r… (#69)

* Fix previous redelivery tests to test emitting of InvalidRedelivery rather than the old reverting

* remove extraneous comment

* forge fmt

* Actually fix contracts to work for 2^256
2023-01-31 16:23:58 -05:00
Sebastián Nale 7cd5b5871b Fixes typo in comment. 2023-01-24 21:30:21 -03:00
derpy-duck 546fc1969e
Save Gas: Remove Relay Protection on deliverSingle and redeliverSingle (#45)
* Remove replay protection on deliverSingle and redeliverSingle

* forge fmt

* redelivery fixes, events & relayer refund address

* Got tests passing again (still have to alter a few redelivery tests to validate the new emitted error)

* forge fmt

* Attempt at fixing typescript error

* Forge fmt

* Add indexed

* Fix tests to correctly obtain deliveryVaaHash due to new event structure

* forge fmt

Co-authored-by: chase-45 <chasemoran45@gmail.com>
2023-01-19 14:38:52 -05:00
agodnic 87cfc41bf5
Replace strings with typed errors (#37)
* Replace strings with typed errors

Replace strings with typed errors in `ethereum/contracts/relayProvider/*.sol`.

* Rename misleading identifier

* Update forge assertions to use typed errors

Update RelayProvider unit tests to use typed errors.

* Replace strings with typed errors

Replace strings with typed errors in `ethereum/contracts/coreRelayer/*.sol`.

* Update forge assertions to use typed errors

Update CoreRelayer unit tests to use typed errors.

* `forge fmt`
2023-01-19 09:59:35 -05:00
derpy-duck 177862cd78
Allow governance to update asset conversion buffer, and also remove t… (#44)
* Allow governance to update asset conversion buffer, and also remove the dependency on source chain for asset conversion buffer

* forge fmt
2023-01-18 18:51:06 -05:00
derpy-duck 034a7dd831
Deliver single and request delivery forge tests (#36)
* Tests for 7 errors messages in deliverSingle and 3 error meessages n requestDelivery

* Update forge tests to use new CoreRelayer governance

* Remove console.sol import

* Remove console logs

* Changing limit from 2^62-1 to 2^63-1

* Testing changing wormhole fees for all current tests

* Run forge fmt, remove [fuzz] params

* remove whitespace
2023-01-11 14:11:43 -05:00
chase-45 d49fec47cc relay provider proxies through itself 2023-01-09 14:50:44 -07:00
Joe Howarth d9f9dfb173 run forge fmt 2023-01-05 17:46:58 -07:00
Joe Howarth ab833b38cf
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 8cd55d26ce.

* Revert "Continue stack too deep quest"

This reverts commit f0cde6871e.

* 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 17:26:27 -05:00