Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic relayer merge rebased #2835

Merged
merged 194 commits into from
May 2, 2023

Conversation

derpy-duck
Copy link
Contributor

No description provided.

tbjump and others added 30 commits February 22, 2023 06:53
Change-Id: I76f0863da66b14291fbaaa671b1440197dca7bcd
* Deploy base to testnet

* Shouldn't add testnet evmChainId to impl

* Add base to rpc dump command

* Oops, wrong branch!
* Node: Base watcher support for testnet

* Add a comment

* Add base to rpc dump command
Co-authored-by: marcus-jump, tbjump
* Client/js: Add Base testnet support

* Client/js: Update sdk version
Change-Id: I420e905343118083b72fcffd40d461dca733ce83
…cToTelemetry (#2390)

Release Notes
New guardiand cli options:
--publicRpcLogDetail [string]
none -- no logging of gRPC requests at all
minimal -- only log gRPC methods
full (default) -- additionally log user-agent and gRPC request payload
--logPublicRpcToTelemetry [bool]
false do not send publicrpc logs to Google Cloud Logging
true (default) -- (current behavior)

Co-authored-by: tbjump <>
* Node: Rename Arbitrum connector

Change-Id: I3cb2212f923f260ae92f6bd97b747f9839495744

* Rename the class

Change-Id: I9f8dd5efd3d5e058c1ed70750215144908dbafef
* node: remove discord notifier

Change-Id: If309974f73be35bddb3004e62ff9a0e1d06efab8

* node: remove legacy devnet features

Change-Id: I6f9dac21cb44846f638996c3aa5eb8376794cd78
* Node: Circle Integration governance support

* Fix spacing

* Code review rework
Change-Id: I2be913a62fcd405b4b30aa0c61da50e926592741
Having two bootstrap nodes allows an outage of the certus one guardian
to not cause too much hassle with existing spy instances or new
guardians restarting.

Thanks @fchantada and the xLabs team for adding the dns and helping
set this up.
1. Fix a nullpointer dereference bug caused by not cloning everything in (enc *guardianTelemetryEncoder) Clone()
2. Fix a bug that caused logs marked with _privateLogEntry to still be sent to telemetry because when a child logger is created (logger.With(zap.Bool("_privateLogEntry", true))) the extra fields will go into the encoder's buffer and will not be passed to EncodeEntry(entry zapcore.Entry, fields []zapcore.Field). This bug had no production impact because the telemetry logger was broken (see (1))
3. make the telemetry module testable and add unit tests

Co-authored-by: tbjump <>
* Node:Acct: Handle large batch status queries

Change-Id: I29a8f3d88644eae1f20632318d5a497ac08720f5

* Comment change

Change-Id: I1bf3fd020e2e816edb1a81de4fcb5428f7733484
derpy-duck and others added 7 commits May 2, 2023 19:38
* relayer: deterministic deployment fixes

* relayer: fixing some nondeterministic integration test failures

* relayer: sdk, relayer engine, and integration test additons for redelivery

* Update processor.ts

* relayer: fixed tilt contract address

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: chase-45 <88348425+chase-45@users.noreply.github.com>
…2794)

* relayer: deterministic deployment fixes

* relayer: fixing some nondeterministic integration test failures

* Send function for SDK

* gRelayer: Send, getPrice, and getPriceMultipleHops work; tested in testnet!

* gRelayer: don't change config file

* Fix SDK address devnet

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
* relayer: forge fmt

* format interfaces and tests too
* gRelayer-SDK-stringify-improvements

* gRelayer: (Contract change) modify the Delivery event

* gRelayer: (SDK) get new event info

* gRelayer (SDK) fixed typescript bug

* gRelayer: fix sdk bug in parsing override

* remove accidental file
* adding target chain to redelivery instructions

* relayer engine filters out redeliveries w/ invalid target chains

* redelivery safe function & tilt contract addresses

* remove log statement

* fixing tilt contract addresses
* gRelayer-make-relay-provider-calls-safe

* gRelayer-remove-unnecessary-code

* gRelayer: attempt 1 at getting under contract size

* gRelayer: uer contract size limit

* forge fmt

* gRelayer: Address nits in PR
Copy link
Contributor

@JoeHowarth JoeHowarth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@derpy-duck derpy-duck merged commit a2b1778 into generic-relayer-merge May 2, 2023
@derpy-duck derpy-duck deleted the generic-relayer-merge-rebased branch May 2, 2023 20:20
derpy-duck added a commit that referenced this pull request Jun 1, 2023
* node/accountant: defense-in-depth ensure accountant does not create messages outside its domain

* node: fix near watcher tests

Change-Id: I76f0863da66b14291fbaaa671b1440197dca7bcd

* Update CODEOWNERS

Closes #2419.

* Update issue templates and add template list config (#2426)

closes #2425

* Deploy base to testnet (#2422)

* Deploy base to testnet

* Shouldn't add testnet evmChainId to impl

* Add base to rpc dump command

* Oops, wrong branch!

* sdk/js: bumped version to v0.9.11

* Node: Base watcher support for testnet (#2424)

* Node: Base watcher support for testnet

* Add a comment

* Add base to rpc dump command

* node/p2p: Protect P2P peers (#2344)

Co-authored-by: marcus-jump, tbjump

* node: Bedrock changes

* Client/js: Add Base testnet support (#2423)

* Client/js: Add Base testnet support

* Client/js: Update sdk version

* node: calculate digests using Vaa type or using message prefix

* accountant: remove double keccak for submitting observations

* accountant: review comments

* node/tools: update dlv to v1.9.1

Change-Id: I420e905343118083b72fcffd40d461dca733ce83

* update codeowners

* node: add request logging with --publicRpcLogDetail and --logPublicRpcToTelemetry (#2390)

Release Notes
New guardiand cli options:
--publicRpcLogDetail [string]
none -- no logging of gRPC requests at all
minimal -- only log gRPC methods
full (default) -- additionally log user-agent and gRPC request payload
--logPublicRpcToTelemetry [bool]
false do not send publicrpc logs to Google Cloud Logging
true (default) -- (current behavior)

Co-authored-by: tbjump <>

* Node: Rename Arbitrum connector (#2432)

* Node: Rename Arbitrum connector

Change-Id: I3cb2212f923f260ae92f6bd97b747f9839495744

* Rename the class

Change-Id: I9f8dd5efd3d5e058c1ed70750215144908dbafef

* node: remove unused legacy code (#2441)

* node: remove discord notifier

Change-Id: If309974f73be35bddb3004e62ff9a0e1d06efab8

* node: remove legacy devnet features

Change-Id: I6f9dac21cb44846f638996c3aa5eb8376794cd78

* Node: Circle Integration governance support (#2444)

* Node: Circle Integration governance support

* Fix spacing

* Code review rework

* Client/js: Update karura/acala testnet endpoints (#2469)

* Eth: Update testnet karura/acala in truffle cfg (#2473)

Change-Id: I2be913a62fcd405b4b30aa0c61da50e926592741

* node: remove unnecessary lcd dependency for acct

* node: acct increase submission channel size

* node: fix aptos reobservation

* relayer: update docs on running a spy

Having two bootstrap nodes allows an outage of the certus one guardian
to not cause too much hassle with existing spy instances or new
guardians restarting.

Thanks @fchantada and the xLabs team for adding the dns and helping
set this up.

* github-actions: update go version in build.yml

https://groups.google.com/g/golang-announce/c/3-TpUx48iQY

* github-actions: remove unused relayer image build

* node/telemetry: fix nullpointer, _privateLogEntry, tests (#2482)

1. Fix a nullpointer dereference bug caused by not cloning everything in (enc *guardianTelemetryEncoder) Clone()
2. Fix a bug that caused logs marked with _privateLogEntry to still be sent to telemetry because when a child logger is created (logger.With(zap.Bool("_privateLogEntry", true))) the extra fields will go into the encoder's buffer and will not be passed to EncodeEntry(entry zapcore.Entry, fields []zapcore.Field). This bug had no production impact because the telemetry logger was broken (see (1))
3. make the telemetry module testable and add unit tests

Co-authored-by: tbjump <>

* Update CODEOWNERS

* Node/Acct: Handle large batch status queries (#2491)

* Node:Acct: Handle large batch status queries

Change-Id: I29a8f3d88644eae1f20632318d5a497ac08720f5

* Comment change

Change-Id: I1bf3fd020e2e816edb1a81de4fcb5428f7733484

* node/telemetry: Fix message encoding for Google Cloud Logging

* cosmwasm: acct: fix emitter requirements

* Node/Watcher/EVM: Fix TimeOfBlockByHash (#2517)

* Node/Watcher/EVM: Fix TimeOfBlockByHash

* Tweak log messages

* Remove obsolete source file

* Node/acct minor fixes (#2502)

* Node/Acct: logonly should not block anything

Change-Id: Ie398596fcaf296a37a9f9a447f70a12d16c5dbe9

* Node/Acct: Increase audit interval

Change-Id: I90b59cb6a353d98a7eb210a6802946d082e0eda6

* Node/Watcher: Log txHash when reobs fails

Change-Id: I1b0b5d9ca53097d8f766264fb225f7592bd76f5b

* Remove unnecessary log message

Change-Id: I838f5e19d705cb086856199e1316b6e9592ced41

* Remove reference to devnet from log msg

Change-Id: Iffaf850751d742b253a03611b4f75f5af183c10e

* Tweak log msg

Change-Id: I98e48eed99058903a0b26c6db67bb0a06bad365b

* Node: Support VAAs with large payloads (#2518)

* Node: Support VAAs with large payloads

Change-Id: Ie09bdc8ea0813ee90f9b686f3fe95365baa4014f

* Clean up tests

Change-Id: I983a40a2e7763271c8212ac18455b8b45e48fd3e

* wormchain: make recipe easier to use for making release build

* wormchain: dont remove v in tag name for release

* accountant: separate modify_balance into separate module and check test errors

* wormchain: update accountant tests

* node: use new action and module for accountant modify_balance

* accountant: address comments from #2513

* accountant: export governance modules from sdk to double check in contract

* Node: Circle Integration governance fixes (#2507)

* vaa/governance: Document other ActionIds

* node: fix deserialization issue for modify_message

* sdk: remove outdated comment on vaa payload size limit (#2546)

* wormchain: require go version at least 1.19

* Node: Generate readiness labels programmatically (#2540)

* Node: Generate readiness labels programmatically

Change-Id: Ica03a7cc314b92a0521afad053ffa20f03ff6529

* Move obsolete  labels into test code

Change-Id: I682ec4ca2ea36be1f53b3f6d39f2da4191e2805f

* Code review rework

Change-Id: Idc8f17265a0b6ef357ac98707d20cc2486001520

* Redesign based on feedback

* Near tests failing

* Fix panic in solana

* spydk: add done()

* SDK/Node: Sepolia deployment (#2567)

* sdk/js: bumped version to v0.9.12

* node/pkg/watchers: add doc

* Node/Acct: Logging changes (#2574)

* Node/Acct: Logging changes

* Missed some!

* Switch to using logger.With()

* Still missed some.

* Missed one more

* Yet again

* Missed a few

* Don't need .With in AcctGetData

* node/pkg/watchers: add RunWithScissors

* Update tracking issue

closes #2538

* whitepapers: First version of integrity checkers and global accountant (#2406)

* whitepapers: First version of integrity checkers and global accountant

* whitepapers: revise accountant whitepaper

* whitepapers: updates for accountant papers

* Wormhole is connected to both L1 and L2 networks, so L1 was replaced
  with blockchain or network where appropriate.
* Change integrity checker "advantages" to "disadvantages" as that is
  what is trying to be explained
* Explain that a pre-observation is just a concept a bit more as
  the actual global-accountant contract function name is
  `send_observations()` not `submit_preobservations()`
* Removed a lot of passive voice and tries to shorten run-on sentences
* Removed the integrity checkers Todo and Caveats as they are empty
* Moved the Integrity Checkers `Detailed Design` section to just a
  terminology section, which is more appropriate for what it was.

* whitepapers: accountant clarifications

Addressing review feedback from: @conorpp and @hendrikhofstadt

This updates the Submitting Observations to Wormchain section to use
`transfer` in place of a mix of transfer and observation. This makes the
text easier to understand. Additionally, it moves the `Pending` status
line up one bullet point to make it more obvious.

* whitepapers: accountant further clarification

Last review comment from @conorpp

* whitepapers: update accountant nits

* whitepapers: addreses review feedback

Thanks @bruce-riley

---------

Co-authored-by: tbjump <unknown>
Co-authored-by: Conor Patrick <conorpp94@gmail.com>
Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Node/Gov: Fix panic in public RPC (#2601)

* Node/Gov: Fix panic in public RPC

* governor: mitigate nil ptr deref

---------

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* wormchain: updates to add ibc (#2589)

* aptos: pin framework deps to `mainnet_20221115`

* whitepapers: add ibc generic messaging whitepaper (#2588)

* whitepapers: add ibc generic messaging whitepaper

* Address review comments from SEJeff

* Added .md file extension

* Address review comments from evan-gray

* Update whitepaper number to 12

* node: enforce msg.EmitterAddress != 0

* node: revert "node/pkg/watchers: add RunWithScissors" (#2620)

This reverts commit 9b8bed4.

* clients/js: add worm info namespace (#2603)

This PR adds a new namespace worm info, which includes commands showing static data of chain-id, contract addresses and rpc endpoints.

* terra: change nft-bridge name to nft-bridge-terra (#2607)

* terra: change nft-bridge name to nft-bridge-terra for compatibility with solana nft-bridge package

* change nft_bridge.wasm to nft_bridge_terra.wasm in deploy script

* cosmwasm: clean up unused dependencies (#2629)

* Node/Gov: Split up CoinGecko queries (#2573)

* Node/Gov: Split up CoinGecko queries

* Fix typos

* Minor logging change

* Add tests

* cosmwasm: bump k256 dependency to 0.11 (#2630)

* cosmwasm: add test for keys_equal

* cosmwasm: bump k256 from 0.9.4 to 0.11

* Update bad_signature tests to use new error messages

* Node: ibc watcher (#2566)

* Node: IBC watcher

* Rework event parsing, add tests

* Config changes

* Config changes

* Start converting to tendermint

* More functionality

* Minor test changes

* Formatting changes

* Code review rework

* Rework event parsing

* More rework

* More rework

* Tweak some log levels

* More rework

* More rework

* Don't enable Terra2 over IBC

* Fix issue with error reporting

* More review rework

* Switch from connection IDs to channel IDs

* Remove unused errC from go routines

* Node/Governor: Regenerate token list and floor prices (#2465)

* node_update_governor_tokens_and_prices

Change-Id: If4e3b31c97ad85fd59ca8743458a2eef137a946a

* Node/Gov: Update token list

Change-Id: I2379d43afa7777488ae3f37e6d4227b4c966deab

* Add test for empty symbol back in

Change-Id: I6d5f1f55c1b7865144e7accc395e484b47381ef0

* sdk/js: bump injective sdk

* node: add sui watcher for devnet and testnet only

* node: sei testnet support (#2660)

* Sei testnet support

* Set contract addresses

* node/pkg/watchers: add RunWithScissors

* SDK tweaks

* node: revert "node/pkg/watchers: add RunWithScissors" (#2620)

This reverts commit 9b8bed4.

* Make Sei use IBC watcher

---------

Co-authored-by: Paul Noel <panoel007@gmail.com>
Co-authored-by: Paul Noel <35237584+panoel@users.noreply.github.com>

* Node: RunWithScissors should not hang on error if no listener (#2649)

* Node: RunwithScissors should not hang

* Tests should check error text

* Fix data race in tests

* Add comments to explain the tests.

* Cosmwasm package naming updates (#2641)

* sdk: update wormhole-core to wormhole-sdk and fix lib name to be wormhole_sdk

* cosmwasm: update wormhole and token bridge cosmwasm package/lib names

* Fix terra2 deployment script with new artifact names

* SECURITY.md: Update audit list

* Node/Gov: Use component logging (#2667)

* sdk/js: version bump

* cosmwasm: token bridge: add new CompleteTransferResponse struct as data to complete_transfer executions (#2653)

* Client/js: Sepolia and Sei support (#2738)

* Client/js: Sepolia and Sei support

* Change references to terra to sei

* Node: Block height is always zero on Terra2 (#2762)

* Node: Block height is always zero on Terra2

Change-Id: Ie504139fa3cd9fcce78dd53ca9a0cfc797f3bf30

* Remove test logging

Change-Id: I273267171f7201818395f17d87592ae75f0ce5c8

* Node: Don't lock memory in testnet (#2780)

* Node: Don't lock memory in testnet

Change-Id: Id32ce1af82f50a947e80949a54232e11ee7c48ea

* Don't lock in ram for devnet either

Change-Id: I4e3817e726b535661727d05a0c5f65cd613c4900

* update CODEOWNERS

* node/pkg/watcher: watcher audit change

* Node: Add logging around DB writes (#2820)

Change-Id: I1c0da08a39ee1ebbd4d62ccb74d550ec8fb06e0c

* Node: Add Sui mainnet support (#2826)

Change-Id: I6ea3e345c2e907f738fc82298d5497ce858f55fd

* sui: redesign Wormhole and Token Bridge contracts

* sdk/js: add Sui support

Co-authored-by: Evan Gray <battledingo@gmail.com>
Co-authored-by: Kevin Peters <kpeters@jumptrading.com>

* sdk/js: sui get latest package from CurrentPackage

* sui: update devnet addresses

* ci: decrease build timeout to 20min

* adding relayer directory to ethereum

* setting up docker build pipeline

* eth pod fixes

* generic relayer contracts deploy

* moving relayer contracts

* Moved new code

* add sdk

* Move ts-script and ts-test to 'relayer' folder within their folders

* forge tests pass!

* Typescript files compile

* delete ethers contracts

* ignore ethers contracts

* fixed up the deployment scripts, relay contracts deploy again

* Copied contracts from trustless-generic-relayer commit 76adaedbb52fb125d00b774fc7aac9120f5b4c92

* removed mockintegration tilt deployment

* copying over forge tests from trustless-generic-relayer

* fixed import errors

* redis tilt container runnable independent of spy_relayer

* fixing more ts scripts

* applied relayer scripts to evm1 and evm2

* moving relayer-engine-v2 from trustless-generic-relayer repo

* relayer engine sdk temporarily imports out of ethereum folder

* more deployment fixes & testing

* parser and other relayer engine fixes

* working end-to-end test in tilt

* readd sourceProvider to DeliveryInstructionsContainer

* relayer engine parses payloads with sourceProvider

* truffle config fix

* Mock integration script adjustments

* fixed truffle build pipeline

* ts import fixes & formatter

* Changes to get integration tests running in tilt

* dockerized relayer engine, everything runs in tilt

* Tilt ignore ts-test and node_modules

* Typescript SDK builds and is successfully part of typescript tests

* rework generic relayer re app config

* re config improvements

* added consistency level to IWormholeRelayer interface

* Updates prices in `RelayProvider` in batch.

* Batch config functions in `RelayProvider`.

* Remove `payable` from core relayer address in RelayProvider.

* Make a couple of administrative functions external.

* Uses batch update to configure `RelayProvider` contract.

* Removes obsolete line in `RelayProviderStructs`.

* Makes deployment messages slightly more friendly.

* Minor cleanup.

* Removes redundant default relay provider configuration.

* Simplification in relay provider deploy script.

* Removes redundant type in `RelayProvider` deployment script.

* Fixes missing update to supported chains.

* Fixes relayer contracts deployment in containers.

* Reuses code in `getSigner` TS helper.

* Adjusts ignores in docker image builds.

* Renames category in foundry config to silence warning.

* Mark utility shell scripts as executable.

* added delivery address helper to interface

* add docker build automation

* try to name dockerfile path in ci

* Generic relayer merge contract simplifications and more tests (#2627)

* Improve DeliveryData test

* Relay provider modify set target chain order

* Fix todo comment in build script in package json

* Remove safe call of isChainSupported

* Revert "Remove safe call of isChainSupported"

This reverts commit 99946d0.

* Remove forgecoverageoutput

* Fix compile error

* Use the overload with no messages and just a payload

* Fixed cross chain refunds and cross chain refund test

* CoreRelayerMessages fixes

* Remove coverage output

* MessageInfo takes chainId as a parameter now

* less warnings

* Fix error in processor

* Replace MessageInfo with VaaKey

* remove target in docker workflow

* Uses `foundry-rs/foundry-toolchain@v1` github action to install foundry.

Fixes `ethereum-upgrade` CI job.

* fix redis config

* integration testing

* support wallet monitor integrated with relayer-engine (#2639)

* deployment fixes

* minor testnet deployment to fuji and celo

* save

* fix dockerfile??

* dockerfile forge instll try 3

* dockerfile forge instll try 4

* dockerfile forge instll try 5

* small re config changes

* update parsing

* Generic relayer remove multidelivery multiforwards (#2648)

* Contract changes to remove multiforward and multisend

* Fix all typescript errors?!

* Forge test for multiple forwrads

* Fix multiforward test

* Fix tilt ci (#2664)

* Remove console log in contract

* Scope NPM packages

* Fix multiforward forge test

* fixing sdk build errors

* sdk ci image builds again

* added relayer tests into sdk CI

* added generic_relayer & redis to ci

* Fix glob

* install forge deps in ci sdk test container

* Fix `ctx.fetchVaas`  (#2668)

* use commit with RE fix

* re-add standard opts

* format

* cleanup imports and comments

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* GR: update codeowners

* redelivery implementation (#2663)

* redelivery implementation

* revert test on deliverWithOverrides

* remove onchain maxRefund check

---------

Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* Update docker push workflow (#2740)

* update docker push workflow

* use make...

* fixed a typechain variable naming collision (#2742)

* Refund Tests + Bugfix (#2735)

* WIP

* WIP

* Test about funds for a send

* Fix forward bug in payment of relayer + Add funds correct test for forward

* Remove makefile change

* Attempt to fix problem that gaslimit wasn't updated

* Rewrite CoreRelayer to fix bug

* Remove unnecessary struct

* Refund tests for send and forward failure (#2750)

* Refund test for send failure

* Test funds correct for a forward failure

* relayer: Fix multiforward integration test + Patch MockRelayerImplementation deployment bug + Improve Forge Governance Upgrade Test (#2656)

* Fix multiforward integration test by patching mockrelayerintegration bug

* Fixed multiforward test, improved upgrade forge test

* Fix multiforward forge test

* Scope NPM packages

* relayer: (forge test) Fix gas amount in testFundsCorrectForASend

* relayer: fix several ci issues (#2745)

* Installs forge dependencies in `eth-node` image.

* changes sdk.sh to use bash

* removing relayer tests from SDK image

* relayer: deployment script can self-sign with multiple signers

* relayer: update dockerignore

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: Evan Gray <battledingo@gmail.com>
Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* Relayer/upgradeable forward wrapper issue #2758 (pr #2767)

* grelayer: start #2758, create2 factory, merge lib & forward wrapper, forward wrapper stored as immutable var

* debug governance

* fw inherits from lib

* forge tests work

* cleanup

* fix typechain imports

* fix salt

* calldata packing :(

* relayer: things work

* relayer: moving code into corerelayerlibrary

* relayer: other file changes for code moving

* remove debugging statement

* fixing tilt deployment scripts

* relayer: relayer-engine does not start in ci

* passthrough number of guardians

* relayer: fix self signing script for multiple signers

* relayer fix ordering of guardian key load

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: chase-45 <88348425+chase-45@users.noreply.github.com>

* gRelayer: Redelivery test & comment fixes (#2756)

* redelivery test & comment fixes

* Rewrite resend

* gRelayer: (forge-test) Fix test to use new name for redelivery instruction fields

---------

Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* Relayer: relayer/sdk and integration improvements (#2777)

* grelayer: start #2758, create2 factory, merge lib & forward wrapper, forward wrapper stored as immutable var

* debug governance

* fw inherits from lib

* forge tests work

* cleanup

* fix typechain imports

* fix salt

* calldata packing :(

* relayer: things work

* relayer: moving code into corerelayerlibrary

* relayer: other file changes for code moving

* remove debugging statement

* fixing tilt deployment scripts

* relayer: relayer-engine does not start in ci

* passthrough number of guardians

* relayer: fix self signing script for multiple signers

* relayer fix ordering of guardian key load

* relayer: deployment script & relayer engine cleanup

---------

Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* gRelayer: (forge-test) test VaaHash version of VaaKey (#2763)

* gRelayer: (forge-test) test VaaHash version of VaaKey

* gRelayer: (forge-tests) Sender is mockrelayerintegration

* gRelayer: (forge-test) Funds test for delivery failure due to revert (#2759)

* Additional funds test for delivery failure

* Remove console log

* gRelayer: (forge-test) Consistency level test (#2761)

* relayer: (forge-test) Consistency level test

* Add comment for clarity

* gRelayer: stable testnet deploy 4-24 (#2779)

* log estimated tx cost; fix upgrade script

* full chain list

* deployment done

* gRelayer: (forge-test) Test funds correct for cross chain refunds, su… (#2782)

* gRelayer: (forge-test) Test funds correct for cross chain refunds, succeed and revert

* Some comments

* gRelayer: remove whitespace

* gRelayer: (forge-test) No funds lost in a forward failure or a forward success (#2757)

* WIP

* WIP

* Test about funds for a send

* Fix forward bug in payment of relayer + Add funds correct test for forward

* Remove makefile change

* Attempt to fix problem that gaslimit wasn't updated

* Rewrite CoreRelayer to fix bug

* Remove unnecessary struct

* Refund tests for send and forward failure (#2750)

* Refund test for send failure

* Test funds correct for a forward failure

* No funds lost in a forward failure

* Fix merge conflict

* remove cosnole logs

* gRelayer: redelivery tests (#2784)

* gRelayer-forge-test-seperate-redelivery-override-errors-and-test-them

* gRelayer: (forge-test) upgrade forge mock generic relayer to allow redeliveries, perform redelivery tests

* gRelayer: (forge-test) funds correct test for redelivery

* gRelayer: Make IWormholeRelayer.sol accurate (#2789)

* Relayer: redelivery SDK, engine, and integration test additions (#2791)

* relayer: deterministic deployment fixes

* relayer: fixing some nondeterministic integration test failures

* relayer: sdk, relayer engine, and integration test additons for redelivery

* Update processor.ts

* relayer: fixed tilt contract address

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: chase-45 <88348425+chase-45@users.noreply.github.com>

* gRelayer: Send, getPrice, and getPriceMultipleHops functions in SDK  (#2794)

* relayer: deterministic deployment fixes

* relayer: fixing some nondeterministic integration test failures

* Send function for SDK

* gRelayer: Send, getPrice, and getPriceMultipleHops work; tested in testnet!

* gRelayer: don't change config file

* Fix SDK address devnet

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>

* relayer: forge fmt (#2798)

* relayer: forge fmt

* format interfaces and tests too

* gRelayer: sdk status improvements (#2802)

* gRelayer-SDK-stringify-improvements

* gRelayer: (Contract change) modify the Delivery event

* gRelayer: (SDK) get new event info

* gRelayer (SDK) fixed typescript bug

* gRelayer: fix sdk bug in parsing override

* remove accidental file

* Relayer/resend improvements (#2818)

* adding target chain to redelivery instructions

* relayer engine filters out redeliveries w/ invalid target chains

* redelivery safe function & tilt contract addresses

* remove log statement

* fixing tilt contract addresses

* relayer: comment pass (#2815)

* gRelayer: make relayprovider calls safe (#2822)

* gRelayer-make-relay-provider-calls-safe

* gRelayer-remove-unnecessary-code

* gRelayer: attempt 1 at getting under contract size

* gRelayer: uer contract size limit

* forge fmt

* gRelayer: Address nits in PR

* removed output files

---------

Co-authored-by: tbjump <unknown>
Co-authored-by: Hendrik Hofstadt <hendrik@nexantic.com>
Co-authored-by: A5 Pickle <5342825+a5-pickle@users.noreply.github.com>
Co-authored-by: Adam A <20446095+aadam-10@users.noreply.github.com>
Co-authored-by: bruce-riley <96066700+bruce-riley@users.noreply.github.com>
Co-authored-by: Kevin Peters <kpeters@jumptrading.com>
Co-authored-by: marcus-jump <117692400+marcus-jump@users.noreply.github.com>
Co-authored-by: Paul Noel <panoel007@gmail.com>
Co-authored-by: Conor Patrick <conorpp94@gmail.com>
Co-authored-by: Evan Gray <battledingo@gmail.com>
Co-authored-by: tbjump <103955289+tbjump@users.noreply.github.com>
Co-authored-by: Hendrik Hofstadt <1405758+hendrikhofstadt@users.noreply.github.com>
Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>
Co-authored-by: Evan Gray <56235822+evan-gray@users.noreply.github.com>
Co-authored-by: Nikhil Suri <nikhilsuri@comcast.net>
Co-authored-by: pongvin <anderle00@gmail.com>
Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
Co-authored-by: Paul Noel <35237584+panoel@users.noreply.github.com>
Co-authored-by: Alber <arblugo@gmail.com>
Co-authored-by: A5 Pickle <a5-pickle@users.noreply.github.com>
Co-authored-by: heyitaki <akshath@live.com>
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>
Co-authored-by: scnale <sebinale@gmail.com>
Co-authored-by: Solano <solanoepalacio@gmail.com>
Co-authored-by: chase-45 <88348425+chase-45@users.noreply.github.com>
derpy-duck added a commit that referenced this pull request Jun 2, 2023
* node/accountant: defense-in-depth ensure accountant does not create messages outside its domain

* node: fix near watcher tests

Change-Id: I76f0863da66b14291fbaaa671b1440197dca7bcd

* Update CODEOWNERS

Closes #2419.

* Update issue templates and add template list config (#2426)

closes #2425

* Deploy base to testnet (#2422)

* Deploy base to testnet

* Shouldn't add testnet evmChainId to impl

* Add base to rpc dump command

* Oops, wrong branch!

* sdk/js: bumped version to v0.9.11

* Node: Base watcher support for testnet (#2424)

* Node: Base watcher support for testnet

* Add a comment

* Add base to rpc dump command

* node/p2p: Protect P2P peers (#2344)

Co-authored-by: marcus-jump, tbjump

* node: Bedrock changes

* Client/js: Add Base testnet support (#2423)

* Client/js: Add Base testnet support

* Client/js: Update sdk version

* node: calculate digests using Vaa type or using message prefix

* accountant: remove double keccak for submitting observations

* accountant: review comments

* node/tools: update dlv to v1.9.1

Change-Id: I420e905343118083b72fcffd40d461dca733ce83

* update codeowners

* node: add request logging with --publicRpcLogDetail and --logPublicRpcToTelemetry (#2390)

Release Notes
New guardiand cli options:
--publicRpcLogDetail [string]
none -- no logging of gRPC requests at all
minimal -- only log gRPC methods
full (default) -- additionally log user-agent and gRPC request payload
--logPublicRpcToTelemetry [bool]
false do not send publicrpc logs to Google Cloud Logging
true (default) -- (current behavior)

Co-authored-by: tbjump <>

* Node: Rename Arbitrum connector (#2432)

* Node: Rename Arbitrum connector

Change-Id: I3cb2212f923f260ae92f6bd97b747f9839495744

* Rename the class

Change-Id: I9f8dd5efd3d5e058c1ed70750215144908dbafef

* node: remove unused legacy code (#2441)

* node: remove discord notifier

Change-Id: If309974f73be35bddb3004e62ff9a0e1d06efab8

* node: remove legacy devnet features

Change-Id: I6f9dac21cb44846f638996c3aa5eb8376794cd78

* Node: Circle Integration governance support (#2444)

* Node: Circle Integration governance support

* Fix spacing

* Code review rework

* Client/js: Update karura/acala testnet endpoints (#2469)

* Eth: Update testnet karura/acala in truffle cfg (#2473)

Change-Id: I2be913a62fcd405b4b30aa0c61da50e926592741

* node: remove unnecessary lcd dependency for acct

* node: acct increase submission channel size

* node: fix aptos reobservation

* relayer: update docs on running a spy

Having two bootstrap nodes allows an outage of the certus one guardian
to not cause too much hassle with existing spy instances or new
guardians restarting.

Thanks @fchantada and the xLabs team for adding the dns and helping
set this up.

* github-actions: update go version in build.yml

https://groups.google.com/g/golang-announce/c/3-TpUx48iQY

* github-actions: remove unused relayer image build

* node/telemetry: fix nullpointer, _privateLogEntry, tests (#2482)

1. Fix a nullpointer dereference bug caused by not cloning everything in (enc *guardianTelemetryEncoder) Clone()
2. Fix a bug that caused logs marked with _privateLogEntry to still be sent to telemetry because when a child logger is created (logger.With(zap.Bool("_privateLogEntry", true))) the extra fields will go into the encoder's buffer and will not be passed to EncodeEntry(entry zapcore.Entry, fields []zapcore.Field). This bug had no production impact because the telemetry logger was broken (see (1))
3. make the telemetry module testable and add unit tests

Co-authored-by: tbjump <>

* Update CODEOWNERS

* Node/Acct: Handle large batch status queries (#2491)

* Node:Acct: Handle large batch status queries

Change-Id: I29a8f3d88644eae1f20632318d5a497ac08720f5

* Comment change

Change-Id: I1bf3fd020e2e816edb1a81de4fcb5428f7733484

* node/telemetry: Fix message encoding for Google Cloud Logging

* cosmwasm: acct: fix emitter requirements

* Node/Watcher/EVM: Fix TimeOfBlockByHash (#2517)

* Node/Watcher/EVM: Fix TimeOfBlockByHash

* Tweak log messages

* Remove obsolete source file

* Node/acct minor fixes (#2502)

* Node/Acct: logonly should not block anything

Change-Id: Ie398596fcaf296a37a9f9a447f70a12d16c5dbe9

* Node/Acct: Increase audit interval

Change-Id: I90b59cb6a353d98a7eb210a6802946d082e0eda6

* Node/Watcher: Log txHash when reobs fails

Change-Id: I1b0b5d9ca53097d8f766264fb225f7592bd76f5b

* Remove unnecessary log message

Change-Id: I838f5e19d705cb086856199e1316b6e9592ced41

* Remove reference to devnet from log msg

Change-Id: Iffaf850751d742b253a03611b4f75f5af183c10e

* Tweak log msg

Change-Id: I98e48eed99058903a0b26c6db67bb0a06bad365b

* Node: Support VAAs with large payloads (#2518)

* Node: Support VAAs with large payloads

Change-Id: Ie09bdc8ea0813ee90f9b686f3fe95365baa4014f

* Clean up tests

Change-Id: I983a40a2e7763271c8212ac18455b8b45e48fd3e

* wormchain: make recipe easier to use for making release build

* wormchain: dont remove v in tag name for release

* accountant: separate modify_balance into separate module and check test errors

* wormchain: update accountant tests

* node: use new action and module for accountant modify_balance

* accountant: address comments from #2513

* accountant: export governance modules from sdk to double check in contract

* Node: Circle Integration governance fixes (#2507)

* vaa/governance: Document other ActionIds

* node: fix deserialization issue for modify_message

* sdk: remove outdated comment on vaa payload size limit (#2546)

* wormchain: require go version at least 1.19

* Node: Generate readiness labels programmatically (#2540)

* Node: Generate readiness labels programmatically

Change-Id: Ica03a7cc314b92a0521afad053ffa20f03ff6529

* Move obsolete  labels into test code

Change-Id: I682ec4ca2ea36be1f53b3f6d39f2da4191e2805f

* Code review rework

Change-Id: Idc8f17265a0b6ef357ac98707d20cc2486001520

* Redesign based on feedback

* Near tests failing

* Fix panic in solana

* spydk: add done()

* SDK/Node: Sepolia deployment (#2567)

* sdk/js: bumped version to v0.9.12

* node/pkg/watchers: add doc

* Node/Acct: Logging changes (#2574)

* Node/Acct: Logging changes

* Missed some!

* Switch to using logger.With()

* Still missed some.

* Missed one more

* Yet again

* Missed a few

* Don't need .With in AcctGetData

* node/pkg/watchers: add RunWithScissors

* Update tracking issue

closes #2538

* whitepapers: First version of integrity checkers and global accountant (#2406)

* whitepapers: First version of integrity checkers and global accountant

* whitepapers: revise accountant whitepaper

* whitepapers: updates for accountant papers

* Wormhole is connected to both L1 and L2 networks, so L1 was replaced
  with blockchain or network where appropriate.
* Change integrity checker "advantages" to "disadvantages" as that is
  what is trying to be explained
* Explain that a pre-observation is just a concept a bit more as
  the actual global-accountant contract function name is
  `send_observations()` not `submit_preobservations()`
* Removed a lot of passive voice and tries to shorten run-on sentences
* Removed the integrity checkers Todo and Caveats as they are empty
* Moved the Integrity Checkers `Detailed Design` section to just a
  terminology section, which is more appropriate for what it was.

* whitepapers: accountant clarifications

Addressing review feedback from: @conorpp and @hendrikhofstadt

This updates the Submitting Observations to Wormchain section to use
`transfer` in place of a mix of transfer and observation. This makes the
text easier to understand. Additionally, it moves the `Pending` status
line up one bullet point to make it more obvious.

* whitepapers: accountant further clarification

Last review comment from @conorpp

* whitepapers: update accountant nits

* whitepapers: addreses review feedback

Thanks @bruce-riley

---------

Co-authored-by: tbjump <unknown>
Co-authored-by: Conor Patrick <conorpp94@gmail.com>
Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Node/Gov: Fix panic in public RPC (#2601)

* Node/Gov: Fix panic in public RPC

* governor: mitigate nil ptr deref

---------

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* wormchain: updates to add ibc (#2589)

* aptos: pin framework deps to `mainnet_20221115`

* whitepapers: add ibc generic messaging whitepaper (#2588)

* whitepapers: add ibc generic messaging whitepaper

* Address review comments from SEJeff

* Added .md file extension

* Address review comments from evan-gray

* Update whitepaper number to 12

* node: enforce msg.EmitterAddress != 0

* node: revert "node/pkg/watchers: add RunWithScissors" (#2620)

This reverts commit 9b8bed4.

* clients/js: add worm info namespace (#2603)

This PR adds a new namespace worm info, which includes commands showing static data of chain-id, contract addresses and rpc endpoints.

* terra: change nft-bridge name to nft-bridge-terra (#2607)

* terra: change nft-bridge name to nft-bridge-terra for compatibility with solana nft-bridge package

* change nft_bridge.wasm to nft_bridge_terra.wasm in deploy script

* cosmwasm: clean up unused dependencies (#2629)

* Node/Gov: Split up CoinGecko queries (#2573)

* Node/Gov: Split up CoinGecko queries

* Fix typos

* Minor logging change

* Add tests

* cosmwasm: bump k256 dependency to 0.11 (#2630)

* cosmwasm: add test for keys_equal

* cosmwasm: bump k256 from 0.9.4 to 0.11

* Update bad_signature tests to use new error messages

* Node: ibc watcher (#2566)

* Node: IBC watcher

* Rework event parsing, add tests

* Config changes

* Config changes

* Start converting to tendermint

* More functionality

* Minor test changes

* Formatting changes

* Code review rework

* Rework event parsing

* More rework

* More rework

* Tweak some log levels

* More rework

* More rework

* Don't enable Terra2 over IBC

* Fix issue with error reporting

* More review rework

* Switch from connection IDs to channel IDs

* Remove unused errC from go routines

* Node/Governor: Regenerate token list and floor prices (#2465)

* node_update_governor_tokens_and_prices

Change-Id: If4e3b31c97ad85fd59ca8743458a2eef137a946a

* Node/Gov: Update token list

Change-Id: I2379d43afa7777488ae3f37e6d4227b4c966deab

* Add test for empty symbol back in

Change-Id: I6d5f1f55c1b7865144e7accc395e484b47381ef0

* sdk/js: bump injective sdk

* node: add sui watcher for devnet and testnet only

* node: sei testnet support (#2660)

* Sei testnet support

* Set contract addresses

* node/pkg/watchers: add RunWithScissors

* SDK tweaks

* node: revert "node/pkg/watchers: add RunWithScissors" (#2620)

This reverts commit 9b8bed4.

* Make Sei use IBC watcher

---------

Co-authored-by: Paul Noel <panoel007@gmail.com>
Co-authored-by: Paul Noel <35237584+panoel@users.noreply.github.com>

* Node: RunWithScissors should not hang on error if no listener (#2649)

* Node: RunwithScissors should not hang

* Tests should check error text

* Fix data race in tests

* Add comments to explain the tests.

* Cosmwasm package naming updates (#2641)

* sdk: update wormhole-core to wormhole-sdk and fix lib name to be wormhole_sdk

* cosmwasm: update wormhole and token bridge cosmwasm package/lib names

* Fix terra2 deployment script with new artifact names

* SECURITY.md: Update audit list

* Node/Gov: Use component logging (#2667)

* sdk/js: version bump

* cosmwasm: token bridge: add new CompleteTransferResponse struct as data to complete_transfer executions (#2653)

* Client/js: Sepolia and Sei support (#2738)

* Client/js: Sepolia and Sei support

* Change references to terra to sei

* Node: Block height is always zero on Terra2 (#2762)

* Node: Block height is always zero on Terra2

Change-Id: Ie504139fa3cd9fcce78dd53ca9a0cfc797f3bf30

* Remove test logging

Change-Id: I273267171f7201818395f17d87592ae75f0ce5c8

* Node: Don't lock memory in testnet (#2780)

* Node: Don't lock memory in testnet

Change-Id: Id32ce1af82f50a947e80949a54232e11ee7c48ea

* Don't lock in ram for devnet either

Change-Id: I4e3817e726b535661727d05a0c5f65cd613c4900

* update CODEOWNERS

* node/pkg/watcher: watcher audit change

* Node: Add logging around DB writes (#2820)

Change-Id: I1c0da08a39ee1ebbd4d62ccb74d550ec8fb06e0c

* Node: Add Sui mainnet support (#2826)

Change-Id: I6ea3e345c2e907f738fc82298d5497ce858f55fd

* sui: redesign Wormhole and Token Bridge contracts

* sdk/js: add Sui support

Co-authored-by: Evan Gray <battledingo@gmail.com>
Co-authored-by: Kevin Peters <kpeters@jumptrading.com>

* sdk/js: sui get latest package from CurrentPackage

* sui: update devnet addresses

* ci: decrease build timeout to 20min

* adding relayer directory to ethereum

* setting up docker build pipeline

* eth pod fixes

* generic relayer contracts deploy

* moving relayer contracts

* Moved new code

* add sdk

* Move ts-script and ts-test to 'relayer' folder within their folders

* forge tests pass!

* Typescript files compile

* delete ethers contracts

* ignore ethers contracts

* fixed up the deployment scripts, relay contracts deploy again

* Copied contracts from trustless-generic-relayer commit 76adaedbb52fb125d00b774fc7aac9120f5b4c92

* removed mockintegration tilt deployment

* copying over forge tests from trustless-generic-relayer

* fixed import errors

* redis tilt container runnable independent of spy_relayer

* fixing more ts scripts

* applied relayer scripts to evm1 and evm2

* moving relayer-engine-v2 from trustless-generic-relayer repo

* relayer engine sdk temporarily imports out of ethereum folder

* more deployment fixes & testing

* parser and other relayer engine fixes

* working end-to-end test in tilt

* readd sourceProvider to DeliveryInstructionsContainer

* relayer engine parses payloads with sourceProvider

* truffle config fix

* Mock integration script adjustments

* fixed truffle build pipeline

* ts import fixes & formatter

* Changes to get integration tests running in tilt

* dockerized relayer engine, everything runs in tilt

* Tilt ignore ts-test and node_modules

* Typescript SDK builds and is successfully part of typescript tests

* rework generic relayer re app config

* re config improvements

* added consistency level to IWormholeRelayer interface

* Updates prices in `RelayProvider` in batch.

* Batch config functions in `RelayProvider`.

* Remove `payable` from core relayer address in RelayProvider.

* Make a couple of administrative functions external.

* Uses batch update to configure `RelayProvider` contract.

* Removes obsolete line in `RelayProviderStructs`.

* Makes deployment messages slightly more friendly.

* Minor cleanup.

* Removes redundant default relay provider configuration.

* Simplification in relay provider deploy script.

* Removes redundant type in `RelayProvider` deployment script.

* Fixes missing update to supported chains.

* Fixes relayer contracts deployment in containers.

* Reuses code in `getSigner` TS helper.

* Adjusts ignores in docker image builds.

* Renames category in foundry config to silence warning.

* Mark utility shell scripts as executable.

* added delivery address helper to interface

* add docker build automation

* try to name dockerfile path in ci

* Generic relayer merge contract simplifications and more tests (#2627)

* Improve DeliveryData test

* Relay provider modify set target chain order

* Fix todo comment in build script in package json

* Remove safe call of isChainSupported

* Revert "Remove safe call of isChainSupported"

This reverts commit 99946d0.

* Remove forgecoverageoutput

* Fix compile error

* Use the overload with no messages and just a payload

* Fixed cross chain refunds and cross chain refund test

* CoreRelayerMessages fixes

* Remove coverage output

* MessageInfo takes chainId as a parameter now

* less warnings

* Fix error in processor

* Replace MessageInfo with VaaKey

* remove target in docker workflow

* Uses `foundry-rs/foundry-toolchain@v1` github action to install foundry.

Fixes `ethereum-upgrade` CI job.

* fix redis config

* integration testing

* support wallet monitor integrated with relayer-engine (#2639)

* deployment fixes

* minor testnet deployment to fuji and celo

* save

* fix dockerfile??

* dockerfile forge instll try 3

* dockerfile forge instll try 4

* dockerfile forge instll try 5

* small re config changes

* update parsing

* Generic relayer remove multidelivery multiforwards (#2648)

* Contract changes to remove multiforward and multisend

* Fix all typescript errors?!

* Forge test for multiple forwrads

* Fix multiforward test

* Fix tilt ci (#2664)

* Remove console log in contract

* Scope NPM packages

* Fix multiforward forge test

* fixing sdk build errors

* sdk ci image builds again

* added relayer tests into sdk CI

* added generic_relayer & redis to ci

* Fix glob

* install forge deps in ci sdk test container

* Fix `ctx.fetchVaas`  (#2668)

* use commit with RE fix

* re-add standard opts

* format

* cleanup imports and comments

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* GR: update codeowners

* redelivery implementation (#2663)

* redelivery implementation

* revert test on deliverWithOverrides

* remove onchain maxRefund check

---------

Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* Update docker push workflow (#2740)

* update docker push workflow

* use make...

* fixed a typechain variable naming collision (#2742)

* Refund Tests + Bugfix (#2735)

* WIP

* WIP

* Test about funds for a send

* Fix forward bug in payment of relayer + Add funds correct test for forward

* Remove makefile change

* Attempt to fix problem that gaslimit wasn't updated

* Rewrite CoreRelayer to fix bug

* Remove unnecessary struct

* Refund tests for send and forward failure (#2750)

* Refund test for send failure

* Test funds correct for a forward failure

* relayer: Fix multiforward integration test + Patch MockRelayerImplementation deployment bug + Improve Forge Governance Upgrade Test (#2656)

* Fix multiforward integration test by patching mockrelayerintegration bug

* Fixed multiforward test, improved upgrade forge test

* Fix multiforward forge test

* Scope NPM packages

* relayer: (forge test) Fix gas amount in testFundsCorrectForASend

* relayer: fix several ci issues (#2745)

* Installs forge dependencies in `eth-node` image.

* changes sdk.sh to use bash

* removing relayer tests from SDK image

* relayer: deployment script can self-sign with multiple signers

* relayer: update dockerignore

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: Evan Gray <battledingo@gmail.com>
Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* Relayer/upgradeable forward wrapper issue #2758 (pr #2767)

* grelayer: start #2758, create2 factory, merge lib & forward wrapper, forward wrapper stored as immutable var

* debug governance

* fw inherits from lib

* forge tests work

* cleanup

* fix typechain imports

* fix salt

* calldata packing :(

* relayer: things work

* relayer: moving code into corerelayerlibrary

* relayer: other file changes for code moving

* remove debugging statement

* fixing tilt deployment scripts

* relayer: relayer-engine does not start in ci

* passthrough number of guardians

* relayer: fix self signing script for multiple signers

* relayer fix ordering of guardian key load

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: chase-45 <88348425+chase-45@users.noreply.github.com>

* gRelayer: Redelivery test & comment fixes (#2756)

* redelivery test & comment fixes

* Rewrite resend

* gRelayer: (forge-test) Fix test to use new name for redelivery instruction fields

---------

Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* Relayer: relayer/sdk and integration improvements (#2777)

* grelayer: start #2758, create2 factory, merge lib & forward wrapper, forward wrapper stored as immutable var

* debug governance

* fw inherits from lib

* forge tests work

* cleanup

* fix typechain imports

* fix salt

* calldata packing :(

* relayer: things work

* relayer: moving code into corerelayerlibrary

* relayer: other file changes for code moving

* remove debugging statement

* fixing tilt deployment scripts

* relayer: relayer-engine does not start in ci

* passthrough number of guardians

* relayer: fix self signing script for multiple signers

* relayer fix ordering of guardian key load

* relayer: deployment script & relayer engine cleanup

---------

Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>

* gRelayer: (forge-test) test VaaHash version of VaaKey (#2763)

* gRelayer: (forge-test) test VaaHash version of VaaKey

* gRelayer: (forge-tests) Sender is mockrelayerintegration

* gRelayer: (forge-test) Funds test for delivery failure due to revert (#2759)

* Additional funds test for delivery failure

* Remove console log

* gRelayer: (forge-test) Consistency level test (#2761)

* relayer: (forge-test) Consistency level test

* Add comment for clarity

* gRelayer: stable testnet deploy 4-24 (#2779)

* log estimated tx cost; fix upgrade script

* full chain list

* deployment done

* gRelayer: (forge-test) Test funds correct for cross chain refunds, su… (#2782)

* gRelayer: (forge-test) Test funds correct for cross chain refunds, succeed and revert

* Some comments

* gRelayer: remove whitespace

* gRelayer: (forge-test) No funds lost in a forward failure or a forward success (#2757)

* WIP

* WIP

* Test about funds for a send

* Fix forward bug in payment of relayer + Add funds correct test for forward

* Remove makefile change

* Attempt to fix problem that gaslimit wasn't updated

* Rewrite CoreRelayer to fix bug

* Remove unnecessary struct

* Refund tests for send and forward failure (#2750)

* Refund test for send failure

* Test funds correct for a forward failure

* No funds lost in a forward failure

* Fix merge conflict

* remove cosnole logs

* gRelayer: redelivery tests (#2784)

* gRelayer-forge-test-seperate-redelivery-override-errors-and-test-them

* gRelayer: (forge-test) upgrade forge mock generic relayer to allow redeliveries, perform redelivery tests

* gRelayer: (forge-test) funds correct test for redelivery

* gRelayer: Make IWormholeRelayer.sol accurate (#2789)

* Relayer: redelivery SDK, engine, and integration test additions (#2791)

* relayer: deterministic deployment fixes

* relayer: fixing some nondeterministic integration test failures

* relayer: sdk, relayer engine, and integration test additons for redelivery

* Update processor.ts

* relayer: fixed tilt contract address

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: chase-45 <88348425+chase-45@users.noreply.github.com>

* gRelayer: Send, getPrice, and getPriceMultipleHops functions in SDK  (#2794)

* relayer: deterministic deployment fixes

* relayer: fixing some nondeterministic integration test failures

* Send function for SDK

* gRelayer: Send, getPrice, and getPriceMultipleHops work; tested in testnet!

* gRelayer: don't change config file

* Fix SDK address devnet

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>

* relayer: forge fmt (#2798)

* relayer: forge fmt

* format interfaces and tests too

* gRelayer: sdk status improvements (#2802)

* gRelayer-SDK-stringify-improvements

* gRelayer: (Contract change) modify the Delivery event

* gRelayer: (SDK) get new event info

* gRelayer (SDK) fixed typescript bug

* gRelayer: fix sdk bug in parsing override

* remove accidental file

* Relayer/resend improvements (#2818)

* adding target chain to redelivery instructions

* relayer engine filters out redeliveries w/ invalid target chains

* redelivery safe function & tilt contract addresses

* remove log statement

* fixing tilt contract addresses

* relayer: comment pass (#2815)

* gRelayer: make relayprovider calls safe (#2822)

* gRelayer-make-relay-provider-calls-safe

* gRelayer-remove-unnecessary-code

* gRelayer: attempt 1 at getting under contract size

* gRelayer: uer contract size limit

* forge fmt

* gRelayer: Address nits in PR

* removed output files

---------

Co-authored-by: tbjump <unknown>
Co-authored-by: Hendrik Hofstadt <hendrik@nexantic.com>
Co-authored-by: A5 Pickle <5342825+a5-pickle@users.noreply.github.com>
Co-authored-by: Adam A <20446095+aadam-10@users.noreply.github.com>
Co-authored-by: bruce-riley <96066700+bruce-riley@users.noreply.github.com>
Co-authored-by: Kevin Peters <kpeters@jumptrading.com>
Co-authored-by: marcus-jump <117692400+marcus-jump@users.noreply.github.com>
Co-authored-by: Paul Noel <panoel007@gmail.com>
Co-authored-by: Conor Patrick <conorpp94@gmail.com>
Co-authored-by: Evan Gray <battledingo@gmail.com>
Co-authored-by: tbjump <103955289+tbjump@users.noreply.github.com>
Co-authored-by: Hendrik Hofstadt <1405758+hendrikhofstadt@users.noreply.github.com>
Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>
Co-authored-by: Evan Gray <56235822+evan-gray@users.noreply.github.com>
Co-authored-by: Nikhil Suri <nikhilsuri@comcast.net>
Co-authored-by: pongvin <anderle00@gmail.com>
Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
Co-authored-by: Paul Noel <35237584+panoel@users.noreply.github.com>
Co-authored-by: Alber <arblugo@gmail.com>
Co-authored-by: A5 Pickle <a5-pickle@users.noreply.github.com>
Co-authored-by: heyitaki <akshath@live.com>
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: Joe Howarth <jhowarth@jumptrading.com>
Co-authored-by: scnale <sebinale@gmail.com>
Co-authored-by: Solano <solanoepalacio@gmail.com>
Co-authored-by: chase-45 <88348425+chase-45@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.