Commit Graph

38 Commits

Author SHA1 Message Date
Leo e58730168d node: add no-op required dataDir flag
Change-Id: I8090550bbfb26686dcc5f30c3c3dcd66aae8ec10
2021-07-21 19:52:51 +00:00
Leo abe95522b1 node: remove terra fee payer argument
Forgot this when cleaning up the Terra submitter

Change-Id: Ied5af6570decf68e5e29c0d793da5e02509a2245
2021-07-21 18:41:42 +02:00
Hendrik Hofstadt c0228415f8 Fix devnet
Change-Id: I1d62e6323cc2169cce43581f9aeefb537bc84a76
2021-07-20 23:34:37 +02:00
Leo ce6b39e3be devnet,docs: remove agent build and deployment
Change-Id: I04ab07f6db21918297e891de5475f61d22f58cc5
2021-07-20 23:17:47 +02:00
Leo d509693367 node: remove Solana VAA submitter and agent connection
Change-Id: I6201b00f3cbf9f0fee0cc14ce8fdc8ca8583ce97
2021-07-20 23:17:47 +02:00
Hendrik Hofstadt af4e29978d Add commitment level to VAAs
This allows requesting attestations for various commitment/confirmation levels. This is helpful for low-latency applications like Pyth.

Change-Id: Ib49ace163365106b227613d2f66b787b3e5f5461
2021-07-19 07:11:45 +00:00
Hendrik Hofstadt 0004dd6c2a Reimplement terra bridge in guardian software
Change-Id: Ic57d0ae91355d2415f13657f463e8929212b1c97
2021-07-05 18:02:04 +00:00
jschuldt 16157d339d Add publicrpc endpoint for external clients.
- Distribute raw heartbeats via new proto package publicrpc

- Manage channel subscription on client req/close.

- Expose publicprc endpoint in devnet Service.

Change-Id: Ic96d624733961aa56e00b03c3b5cff6af11523a4
2021-05-24 13:38:58 -05:00
Leo b5d8993f44 devnet: Add new command line flags for native Solana poller 2021-01-21 11:40:58 +01:00
Leo 8b10b96362 solana: use clap for command line arguments 2020-12-06 22:45:45 +01:00
Leo 60b5117fbb Enable Terra support in devnet by default 2020-12-03 16:31:53 +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 c31777d1b3 e2e: add bidirectional end-to-end tests 2020-11-29 17:07:15 +01:00
Leo 561852d499 bridge: simple readiness check 2020-11-29 17:07:15 +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 7545d2b803 terra: disable in production mode
ghstack-source-id: c22885f121
Pull Request resolved: https://github.com/certusone/wormhole/pull/103
2020-11-19 12:57:21 +01:00
Leo d9f8174d76 bridge: implement bridge key serialization
ghstack-source-id: f218021514
Pull Request resolved: https://github.com/certusone/wormhole/pull/90
2020-11-19 12:57:21 +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 a4058512d5 bridge: migrate cmd/ to cobra
Reviewer note: Does not touch any of the business logic. Avoided
renaming files whereever possible to make it easier to spot differences.

Verbatim migration, in a future CL, we could replace some of the
flag validation code with cobra features and eliminate the global vars.

Moved the dlv tool definition out of the way for the top-level wrapper.

tools/bin/cobra is a helper utility that generates boilerplate
(we slightly deviate from their default scheme by having guardiand
in a separate package, rather than stuffing everything into cmd/)

ghstack-source-id: caec9a38a6
Pull Request resolved: https://github.com/certusone/wormhole/pull/67
2020-10-28 22:47:12 +01:00
Leo 509d9c3d73 bridge: use mlockall(2) to prevent pages from being swapped out
The extra capability is harmless and is, at worst, a DoS risk.

ghstack-source-id: d30b50dbca
Pull Request resolved: https://github.com/certusone/wormhole/pull/55
2020-10-22 16:51:56 +02:00
Leo d877e975fc devnet: disable dlv by default 2020-10-22 12:55:24 +02:00
Leo 174003f879 devnet: fix dlv command line 2020-10-22 12:39:07 +02:00
Leo c698d4e3b9 bridge: in-place debugging using dlv
Optional support for in-place debugging using an external
IDE debugger. Disabled by default.

The dlv binary is always compiled in the Dockerfile -
this is cheap due to it only depending on go.mod.

ghstack-source-id: 58532e3017
Pull Request resolved: https://github.com/certusone/wormhole/pull/44
2020-10-22 12:20:11 +02:00
Leo c65d221ab3 Run devnet_setup.sh as solana-devnet sidecar 2020-08-22 10:52:51 +02:00
Leo 86ccc1c617 Solana devnet fixtures and lockup generator 2020-08-21 20:48:58 +02:00
Hendrik Hofstadt 549f7ad69c solana: track time on lockups 2020-08-21 19:51:45 +02:00
Hendrik Hofstadt a8d2f36a12 agent: inject static account key 2020-08-21 18:10:54 +02:00
Hendrik Hofstadt dfa8f64de0 devnet: set correct bridge id 2020-08-21 12:47:53 +02:00
Leo 9bb44eb0f5 Enable VAA submission to Solana 2020-08-21 00:06:38 +02:00
Leo f1f2d0c8b8 Solana VAA submission stub 2020-08-20 21:48:58 +02:00
Leo d1c86a0eaa bridge: use new eth devnet addresses and keygen 2020-08-19 17:38:55 +02:00
Leo d6ef9c932c bridge: listen to eth lockups and aggregate signatures from all nodes
Improved devnet setup to generate deterministic node and guardian keys.

Devnet setup routine that configures a dynamic guardian set on Ethereum.

Configurable number of nodes in Tiltfile.
2020-08-19 14:24:38 +02:00
Leo c44dcb24c9 Tiltfile: disable broken agent build 2020-08-19 11:58:00 +02:00
Leo 955bcc93fe bridge: devnet guardian key generation 2020-08-17 18:20:28 +02:00
Leo dc7a2147b7 devnet: fix generation of deterministic contract addresses
We previously had an extra contract that was deleted, which
changed the contract addresses.

As a workaround, deploy Wormhole twice to fix the tests.
2020-08-17 12:03:16 +02:00
Leo 2744c1df25 bridge: heartbeat, eth watcher service 2020-08-16 17:05:58 +02:00
Leo 369ab27200 devnet: reduce guardian replicas to 5
Enough for a 2/3+ majority, significantly less annoying to work with
(the rolling deployment updates pods one at the time).
2020-08-16 14:03:59 +02:00
Leo 7fc59ec5f4 Add Solana devnet and have agents talk to it 2020-08-15 23:54:44 +02:00