Commit Graph

171 Commits

Author SHA1 Message Date
Leo a0633645cb bridge: delete vaa-test commands
These no longer compile, and using a manual process to generate test
fixtures is not ideal anyway.

Change-Id: Ic1f378f330699909a403ba429a527c825fd0fba9
2021-04-17 14:59:24 +00:00
Yuriy Savchenko 7a97381f18 Terra E2E tests fixed, asset registration refactoring 2021-03-23 16:19:41 +01:00
Yuriy Savchenko f694fbdf0f Removed contract activity killswitch, fee is now hardcoded, test scripts updated 2021-03-23 16:19:41 +01:00
Leopold Schabel f5560eb3ff
Fix guardian set initialization race condition (#191)
Fixes #184
2021-03-23 14:07:47 +01:00
Leo 2cf4d50c23 bridge: add terra block height to heartbeats 2021-02-10 02:00:45 +01:00
Leo 9c1d6ee00c bridge: add network heights and guardian address to heartbeat message 2021-02-10 01:57:54 +01:00
Leo aacff406e4 bridge: build with race detector enabled 2021-02-10 01:57:54 +01:00
Leopold Schabel b0a9e98648
Asynchronously fetch Terra block height (#177) 2021-02-05 15:16:31 +01:00
Yuriy Savchenko 8bf501879b
Added Terra node height monitoring (#176)
* Added Terra node height monitoring
2021-02-04 19:48:54 +01:00
Leo 966d0f0bc6 bridge/pkg/terra: add stub metrics 2021-02-04 14:20:49 +01:00
Leo 04e3ad772a bridge: add "debug decode-vaa" 2021-02-04 11:48:31 +01:00
Yuriy Savchenko f36ecc34f7
Terra support enabled in production mode (#173)
* Terra support enabled in production mode
2021-02-04 11:26:01 +01:00
Leo 8735b587cb bridge/pkg/ethereum: fix guardian set update processing
We reused an expired context. No direct impact because the routine would crash
and re-fetch the guardian set.
2021-02-03 00:09:46 +01:00
Leo 02c750bc7e bridge: fix terra devnet retry 2021-02-02 12:35:17 +01:00
Yuriy Savchenko d9bb5f6802
Added missing e2e tests between Terra and Ethereum/Solana (#168)
* Added missing e2e tests between Terra and Ethereum/Solana

* Review comments fixed

* Uncommented Solana<->ETH code, missing Ethereum utils file added
2021-02-01 20:38:13 +01:00
Leo 5256d2025a bridge: refuse to use deterministic keys in production 2021-01-29 12:40:55 +01:00
Leo 6d555789d6 Add version stamp to binary and include in heartbeat 2021-01-28 21:46:09 +01:00
Hendrik Hofstadt 2b30a30601
upgrade solana sdk version (#166)
* upgrade solana sdk version

Commitment levels were deprecated and the fastest confirmation level is `Processed`.

Also the upgradeable loader now requires the program to be writeable.

* Add deprecation comment

* update agent commitment level
2021-01-28 17:44:54 +01:00
Leo ff298ffac6 bridge: fix one more Terra typo 2021-01-27 14:52:32 +01:00
Leo b23f43ed1e bridge: add metrics for ethereum, p2p and solana 2021-01-27 14:46:01 +01:00
Leo bc356a5e51 bridge: count misses for settled VAAs 2021-01-27 01:58:18 +01:00
Leo c5b59ac6a0 bridge: fix terraChainID typo
I share the blame for missing this during review :P
2021-01-27 01:58:18 +01:00
Leo 7201b64a77 bridge/e2e: fix panic in testSolanaToTerraLockup 2021-01-27 01:58:18 +01:00
Leo a33505e0f9 bridge/e2e: group tests by chain 2021-01-27 01:58:18 +01:00
Leo 3282e9dbb9 bridge/e2e: increase timeouts for use with 19 validators 2021-01-27 01:58:18 +01:00
Leo 3449ca4d6e bridge: retry Terra devnet submission
This fixes an e2e test race condition.
2021-01-25 20:18:00 +01:00
Leo c48c198188 bridge: always sign lockups and store gs in aggregation state
This fixes #160 by making sure that nodes will sign *any*
lockup they see using their guardian key, and storing
the gs in the aggregation state when we see a lockup.
2021-01-25 20:18:00 +01:00
Leo 14441680d0 bridge: add initial set of basic Prometheus metrics 2021-01-25 20:17:58 +01:00
Leo 5679f67c85 bridge/e2e: fix nil panic in testEthereumLockup 2021-01-21 20:17:23 +01:00
Leo fd4b61b736 bridge/e2e: increase Terra timeout to make it less flaky 2021-01-21 14:39:06 +01:00
Leo 76cb95c51b bridge/pkg/processor: ignore observations while waiting for guardian set fetch
Fixes crash https://gist.github.com/leoluk/17d77fef7c0fd44dd6c3fe3e65bb23a7.
2021-01-21 14:25:27 +01:00
Leo b7c6eb7f3c bridge: upgrade libp2p to v0.13.0 2021-01-21 12:51:19 +01:00
Leo f563de8e31 bridge: upgrade all dependencies to latest patch releases 2021-01-21 12:51:19 +01:00
Hendrik Hofstadt fd6c54de83
bridge/pkg/solana: use polling GetProgramAccounts watcher (#156)
This mitigates https://github.com/solana-labs/solana/issues/9909 by
polling GetProgramAccounts with a server-side filter. It also removes
the agent dependency for the lockup observation logic - the agent is now
used for transaction construction only.
2021-01-21 11:31:32 +01:00
Leo 108f050c0e Clarify public keys vs public key's hashes in comments and docs 2021-01-21 00:59:50 +01:00
Leo cc1e4d0bdc bridge: remove mentions of lockup observations
We now support different kinds of observed events, not just lockups.
Change the log messages and comments accordingly.
2021-01-21 00:35:52 +01:00
Leo 562eaf5ce7 Log aggregation state of incomplete VAAs 2021-01-21 00:28:15 +01:00
Leo c0eef2fe9b adminGuardianSetUpdateToVAA: check for duplicate guardian keys
Sanity check.
2021-01-21 00:25:38 +01:00
Leo ea21b1782f Explicitly document required command line arguments
Cobra does not support automatic documentation of positional arguments
(see https://github.com/spf13/cobra/issues/378).
2021-01-21 00:01:34 +01:00
Leo d0d00f4972 Fix crash when testSolanaLockup is executed for the first time
We forgot to initialize the big.Int.
2021-01-19 17:03:48 +01:00
Yuriy Savchenko eeb560cb5c Terra integration added to e2e tests 2021-01-19 16:50:26 +01:00
Yuriy Savchenko 701154457c New tests and fixes in Terra Wormhole contracts
- added new descriptive errors in terra wormhole contract
- 0-expiration guardian sets error fixed
- added script for test VAAs generation
- added full test coverage for the VAA processing in the contract
- fixed cargo clippy/fmt warnings
2021-01-19 16:50:26 +01:00
Leo 9f2f609bc1 Bump Go and pin all Docker images to digests 2021-01-19 16:15:54 +01:00
Hendrik Hofstadt efa03ef73c
Implement upgradeability (#151)
* Implement contract upgrade VAA action

* naming and (╯°□°)╯︵ ┻━┻

* Carefully unflip table and replace broken cutlery ┬─┬ノ( ◕◡◕ ノ)

* fix and automate upgradeability

* document contract upgrade call

* Update comments

* Exhaustiveness check in VAA payload switch

* Fix typo

Co-authored-by: Leo <leo@certus.one>
2021-01-19 13:01:45 +01:00
Leo ad5950ffe7 Make it official that we support exactly 19 validators
Fixes #86
2021-01-11 15:07:28 +01:00
Leo 770393b94e bridge: rename misleading "pending" counter
It includes completed transactions that haven't been timed out yet.
2020-12-08 11:12:11 +01:00
Leo b077104086 bridge: log own peer ID at startup 2020-12-06 20:26:12 +01:00
Leo 594592e2f6 devnet: use wormhole namespace by default 2020-12-05 16:32:37 +01:00
Yuriy Savchenko cc412605c7
Terra key moved out from env variable, VAA submission on Terra made async (#129)
* Terra fee payer key moved from environment variable into the separate file

* Removed closed issues from the comments, VAA submition made async

* Review comments fixed
2020-11-30 19:24:39 +01:00
Leo 106fecca00 bridge: always gate Terra features on the main feature flag 2020-11-30 17:13:48 +01:00