Commit Graph

267 Commits

Author SHA1 Message Date
derpy-duck 6adc8985c1 forge fmt 2023-04-03 22:29:50 +00:00
derpy-duck e8a8ee4e92 Merge with interface changes 2023-04-03 22:29:01 +00:00
derpy-duck 1efb72ce55 Forward failures now cause full reverts 2023-04-03 20:51:19 +00:00
derpy-duck b81ea55642 WIP commit, feel free to revert 2023-04-03 20:50:09 +00:00
derpy-duck f21eef7082 Some code cleanup fixes 2023-04-03 20:48:19 +00:00
chase-45 76553c3219 null delivery address check 2023-04-03 16:00:32 -04:00
chase-45 7b4d340a23 more redelivery code cleanup 2023-04-03 15:43:31 -04:00
chase-45 2667a2d977 added requesting sender to delivery container 2023-04-03 14:55:07 -04:00
chase-45 cf1fb8db66 removing unused fields and checks 2023-04-03 14:37:48 -04:00
Joe Howarth a2e2d37d0a Compiles w/o redelivery 2023-04-03 13:33:31 -05:00
Joe Howarth b165e49a98 save 2023-04-03 13:33:31 -05:00
Joe Howarth 306edbf6b8 rebase on top of contract changes 2023-04-03 13:33:31 -05:00
Joe Howarth 0675f91122 cleanup 2023-04-03 13:33:31 -05:00
Joe Howarth 1bbf6b3f36 Feat: relayer engine v2 support + vaa fetching via manifest 2023-04-03 13:33:31 -05:00
derpy-duck 00e49bb8ae Redeliveries removed 2023-03-31 21:23:55 +00:00
derpy-duck d266e7c74c sdk cleanup 2023-03-28 17:43:25 +00:00
derpy-duck 7761ac629a Fix mock forge generic relayer to not use vaa hashes 2023-03-28 17:43:25 +00:00
derpy-duck 6a89f7a805 typo fix and sdk fix 2023-03-28 17:43:25 +00:00
derpy-duck b55f3d239f SDK updated - but not tested yet 2023-03-28 17:43:25 +00:00
derpy-duck 0798e1afb7 Update specs/comments 2023-03-28 17:43:25 +00:00
derpy-duck cdaef45b1b Remove messages from redelivery instruction 2023-03-28 17:43:25 +00:00
derpy-duck 9f519aef02 Fix redeliveryTest typescript error 2023-03-28 17:43:25 +00:00
derpy-duck 6e0991e612 typescript and sdk hopefully build 2023-03-28 17:43:25 +00:00
derpy-duck b9bef84607 typescript and sdk hopefully build 2023-03-28 17:43:25 +00:00
derpy-duck 737130d28e New MessageInfo type with payload id when encoding 2023-03-28 17:43:25 +00: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 cb83fbb3ef Interface changes 2023-03-28 17:43:25 +00:00
scnale 2ed875bef7
Updates prices in `RelayProvider` in batch. (#122) 2023-03-24 14:04:02 -04:00
derpy-duck 9e282508f7
Improve forge test coverage + Seperate tests into individual tests (#119)
* fast tests

* forge fmt

* Remove parameter from forge test generic relayer

* WIP

* WIP

* Move Forge Mock Generic Relayer to seperate file

* Split revert redelivery tests into first few seperate tests

* redelivery test changes

* WIP

* tests pass

* Redelivery tests less D.R.Y and seperated into individual tests

* Delivery tests less D.R.Y and seperated into individual tests

* Resend checks in seperate tests

* Forward test coverage!

* 100% test coverage in CoreRelayer and CoreRelayerDelivery!

* remove test coverage files

* Governance tests

* governance stack

* forge fmt

* removed console.sol
2023-03-23 14:14:48 -05:00
Joe Howarth 48e206168b
Fix: get rx retry and overlapping block ranges (#120)
* Fix: get rx retry and overlapping block ranges

* ScopedLogger => Logger
2023-03-15 15:36:13 -07:00
chase-45 2ea98eaa8d
Typescript SDK (#79)
* sdk additions, query delivery status functions

* import fixes

* imports

* Fixes for getDeliveryStatusBySourceTx

* Fix typo in invalidRedeliveryTopics

* Use negative number feature of queryFilter

* 2047 -> 2040

* WIP

* Typescript test for statusByTx

* small changes

* revert reason WIP

* continued WIP for getting revert reason

* Remove reason parsing

* WIP adding default RPCs

* compiles

* SDK nicely prints delivery information!

* SDK nicely prints delivery information!

* Change error msg

* Tests pass, including test for resending a failed forward!

* Enum

* update SDK in relayer engine

* remove testgovernance file

* Nice error logging around not finding a delivery

* Update relayer engine sdk

* Respond to PR comments

* Fix test

* fixed new lines

* helper

---------

Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-03-15 15:32:33 -07:00
Gabriel Zimmermann 844a407a3f
Adds k8s namespace & upgrade relayer engine (#113)
* Adds k8s namespace

* Upgrade relayer engine version

---------

Co-authored-by: Joe Howarth <josephehowarth@gmail.com>
2023-03-14 11:58:55 -07:00
Joe Howarth 68892ae849
Refactor plugin into mulitple file with more consistent names and helpers (#88) 2023-03-14 11:05:20 -07:00
Joe Howarth eff19d28aa
Continuously send messages to create load (#118)
* save

* Continuously send messages to create load

* add metrics
2023-03-14 10:45:03 -07:00
derpy-duck 92dbc20c8b
Forge tests faster (#117)
* fast tests

* forge fmt

* add --via-ir to build

* remove forge test-fast; just run forge test for the same effect

* remove outdated and unused folder
2023-03-10 10:41:12 -05:00
derpy-duck db355a2f1d
Revert if delivery address is 0, and add forge tests testing this (#115)
* Revert if delivery address is 0, and add forge tests testing this

* Test passes
2023-03-02 13:37:12 -05:00
derpy-duck 11874c5c76 event fix 2023-03-02 10:02:46 -05:00
derpy-duck 27cbbc7804 forge fmt' 2023-03-02 10:02:46 -05:00
derpy-duck 81cb32981a Nice CoreRelayerDelivery comments 2023-03-02 10:02:46 -05:00
derpy-duck dab942c980 WIP 2023-03-02 10:02:46 -05:00
derpy-duck c2117b6ef1 deliverSingle is nice 2023-03-02 10:02:46 -05:00
Joe Howarth a0484dead1
Contract deploys (#112)
* Contract deploys

* save
2023-02-28 16:42:53 -05:00
derpy-duck 6fee6ba1e4
Nice comments in the code (#111)
* resend doesn't take nonce as parameter

* Replace 'delivery failure' with 'receiver failure' in specs

* helper send method

* Fix interface to match not having nonce for resend

* Fix forge tests to not have nonce as a parameter

* fix redeliveryTest

* Split CoreRelayer into CoreRelayer and CoreRelayerDelivery

* fix build error

* forge fmt

* fix interface of getdefaultrelayprovider

* Nice comments for main functions in CoreRelayer.sol

* Nice comments for CoreRelayerMessages

* forge fmt

* merge

* Removes wormholeMessageFee from storage to avoid excessive gas costs.

---------

Co-authored-by: Sebastián Claudio Nale <sebinale@gmail.com>
2023-02-28 10:09:01 -05:00
Sebastián Nale a292dc253d Adds `AssetConversion` struct to avoid multiple reads or stores. 2023-02-27 21:20:51 -03:00
derpy-duck 7b384caadc
Remove TODO comment, correct 10^-6 (#108) 2023-02-27 18:49:58 -05:00
derpy-duck 7416880825
Miscellaneous fixes (#104)
* resend doesn't take nonce as parameter

* Replace 'delivery failure' with 'receiver failure' in specs

* helper send method

* Fix interface to match not having nonce for resend

* Fix forge tests to not have nonce as a parameter

* fix redeliveryTest

* fix build error

* forge fmt

* fix interface of getdefaultrelayprovider
2023-02-27 18:49:38 -05:00
scnale 24d682bca4
Mark assembly as `memory safe` (#107)
* Adds `memory-safe` tag to assembly sections in `BytesLib`.

This improves codegen in the compiler and reduces the chance of
untraceable internal codegen errors when dealing with stack variables
that can't be referenced with an instruction.

Also, it removes unused functions in `BytesLib` to reduce code surface.

* Renames functions and contracts in reentrancy negative test.

* Adds `unchecked` block for overflow check.
2023-02-27 15:59:00 -07:00
derpy-duck f7de3d649d
Code cleanup (#109)
* DRY: Remove duplicate structs

* Move encode/decode/convert-request-to-instruction related files to CoreRelayerMessages

* remove rolloverchain; now it is just the chain of the first request

* forge test fix to accomdoate for removing two getters

* DRY: Remove repeated error messages

* Remove miscellaneous comments

* DRY send and forward

* replace relayprovider interface with address to match the IWormholeRelayer interface

* forge fmt

* Remove byteslib from CoreRelayer

* Remove the encoding and decoding of the delivery request -> just store the struct itself!

* forge fmt

* Rewriting of checks in send/resend/forward

* test passes

* DRY - Emit only one event

* DRY

* forge fmt

* Fix typescript error

* using IWormholeRelayer

* Consistent naming

* call wormhole.messageFee() once

* Remove unnecessary line

* Compute the length once, not every iteration

* forge tests pass
2023-02-27 14:32:57 -05:00
scnale a1df44b3ee
Eliminates redundant `await`s. (#98)
* Eliminates redundant `await`s.

* Adds a couple of missing `await`s.
2023-02-21 16:17:39 -05:00
omahs eb531a9105 Fix: typos 2023-02-21 10:43:39 -07:00