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
Hendrik Hofstadt
bec598b41a
Fix subsidization and fees ( #127 )
...
* Revert "solana: partially revert #82 subsidization changes"
This reverts commit 2967653e
* fix subsidization
* fix deleted grpc tag dependency
* revert devnet changes
* verify system instruction action
* ┬─┬ノ(ಠ_ಠノ)
2020-11-30 11:09:08 +01:00
Leo
120dfab49e
bridge: type alias for readiness components
2020-11-29 17:07:15 +01:00
Leo
c31777d1b3
e2e: add bidirectional end-to-end tests
2020-11-29 17:07:15 +01:00
Leo
30278397f7
bridge: add erc20 abi for use in tests
2020-11-29 17:07:15 +01:00
Leo
de8d1dee31
devnet: pin Dockerfile syntax to digest
...
This speeds up the build by ~1.5s by avoiding a remote lookup on
Docker Hub every time this is built (WTF).
2020-11-29 17:07:15 +01:00
Leo
561852d499
bridge: simple readiness check
2020-11-29 17:07:15 +01:00
Leo
36a025b088
Update to Go 1.15.5 to account for CVE-2020-28362
2020-11-27 19:20:07 +01:00
Leo
540fbbb31b
Clarify that we do not automatically rate limit spammy guardians
2020-11-27 19:08:13 +01:00
Leopold Schabel
8306a83833
solana/agent: listen on UNIX socket ( #122 )
...
This allows us to use UNIX filesystem permissions for access control.
Previously, any process in the network namespace could connect to it,
which is insecure for obvious reasons.
Verified that correct permissions are set:
```
# ls -lisa /run/bridge/
total 8
31996269 4 drwxrwxrwx 2 root root 4096 Nov 23 21:58 .
14676759 4 drwxr-xr-x 1 root root 4096 Nov 23 21:58 ..
31996306 0 srwx------ 1 root root 0 Nov 23 21:58 agent.sock
```
Fixes #119
2020-11-24 09:48:44 +01:00
Leo
471417cd6e
bridge: use GPG-armored binary protobufs for keys
2020-11-20 22:40:42 +01:00
Leo
0152a00114
all: rename LockupObservation to SignedObservation
...
We observe things other than lockups, account for it.
2020-11-20 22:35:00 +01:00
Leo
3e3e9dd651
bridge: fix typo in flag errors
2020-11-20 21:18:29 +01:00
Yuriy Savchenko
ee5d07c929
Fixes to VAA submission to Terra smart contract ( #115 )
...
* Terra smart contract binary interface changed from vector to base64 string
* Added initial guardian set submission to Terra
2020-11-19 20:05:05 +01:00
Leo
a3c745ace7
bridge/pkg/ethereum: remove channel unsubscribes
...
Unsubscribe() does blocking I/O that ignores the runnable context
and can block forever: #107
It would appear that removing the Unsubscribe calls is the only
way to work around this go-ethereum bug.
ghstack-source-id: 93f287efc09be7eb12921a431effb282aea78510
Pull Request resolved: https://github.com/certusone/wormhole/pull/109
2020-11-19 12:57:21 +01:00
Leo
66430cb5be
bridge: implement guardian set update submission node admin service
...
Tested on a live devnet via `scripts/test-injection.sh 0`.
ghstack-source-id: 92489c2455e677433414dfa66c6917a577e4c4a5
Pull Request resolved: https://github.com/certusone/wormhole/pull/104
2020-11-19 12:57:21 +01:00
Leo
7545d2b803
terra: disable in production mode
...
ghstack-source-id: c22885f1219fe9a0cb2a84983743c0c198366660
Pull Request resolved: https://github.com/certusone/wormhole/pull/103
2020-11-19 12:57:21 +01:00
Leo
5f8ca60ab1
bridge: refactor out broadcastSignature to prepare for injection path
...
ghstack-source-id: e3b8aee5a055bdd4b2492de5204ac7cffb6d24da
Pull Request resolved: https://github.com/certusone/wormhole/pull/102
2020-11-19 12:57:21 +01:00
Leo
798ffec09c
bridge: implement keygen command
...
Tested using `/guardiand keygen /bar --desc foobar`.
ghstack-source-id: 9f96ce7c0c7527cde47ecb64099543379fbabf3c
Pull Request resolved: https://github.com/certusone/wormhole/pull/91
2020-11-19 12:57:21 +01:00
Leo
d9f8174d76
bridge: implement bridge key serialization
...
ghstack-source-id: f218021514618ae1eb8f03d7cc158b1114c45297
Pull Request resolved: https://github.com/certusone/wormhole/pull/90
2020-11-19 12:57:21 +01:00
Yuriy Savchenko
84600ad9f5
terra: include block timestamp in VAAs ( #94 )
...
Fixes #93
2020-11-18 19:16:29 +01:00
Leo
bbf479871f
pkg/devnet: split up deterministic key generation functions
...
Only moved code, no functional changes.
2020-11-18 14:30:25 +01:00
Leo
7d617095e2
terra: fix watcher ws argument
2020-11-16 16:59:58 +01:00
Leo
07da9f10ef
go mod tidy
2020-11-16 13:51:22 +01:00
Leo
f072e8c36a
Clean up some style nits.
2020-11-16 13:34:19 +01:00
Yuriy Savchenko
1ca2e29916
Terra support added ( #79 )
...
This commit adds initial support for the Terra blockchain.
2020-11-16 13:28:07 +01:00
Leo
aed8f6637c
Remove outdated TODO comments
2020-11-13 11:44:09 +01:00
Leo
58ba151013
bridge/pkg/p2p: actually increment counter
2020-11-06 12:50:54 +01:00
Leo
2df0fe50c0
bridge/pkg/p2p: clarify comment
2020-11-06 12:48:12 +01:00