Commit Graph

113 Commits

Author SHA1 Message Date
Leo 59d6ece608 bridge: grpc codegen 2020-08-20 18:42:46 +02:00
Hendrik Hofstadt 085af1d6b7 Add reentrancy protection 2020-08-20 16:58:03 +02:00
Hendrik Hofstadt d1850e4c59 Improve webinterface 2020-08-20 16:53:25 +02:00
Hendrik Hofstadt 6d3dea0884 solana: inject bridge program on launch 2020-08-20 14:09:49 +02:00
Leo 134c3d83db Update DEVELOP.md 2020-08-19 18:01:21 +02:00
Leo d1c86a0eaa bridge: use new eth devnet addresses and keygen 2020-08-19 17:38:55 +02:00
Hendrik Hofstadt 59449a30b3 Update VAA structure 2020-08-19 16:41:25 +02:00
Hendrik Hofstadt 135b98e556 Update solana patches 2020-08-19 15:19:17 +02:00
Hendrik Hofstadt 256439b766 Fix solana agent 2020-08-19 15:14:39 +02:00
Hendrik Hofstadt 7bae7fbb22 "working" frontend 2020-08-19 15:09:58 +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 69d8125c67 ethereum: emit guardian set IDs in LogGuardianSetChanged
go-ethereum is having trouble parsing a log with structs.
2020-08-19 11:47:29 +02:00
Hendrik Hofstadt 5cd3db9a14 Working solana transfers from webui 2020-08-18 22:54:18 +02:00
Leo 8b34a3c534 ethereum: add getGuardianSet accessor 2020-08-18 16:19:28 +02:00
Leo 857a2fac07 dev-install.sh: fix idempotency, add instructions to source env 2020-08-18 11:45:33 +02:00
Leo 5ff60ca001 dev-install.sh: bump k3s to v1.18.8+k3s1 2020-08-18 11:39:28 +02:00
Leo 12873e5819 Add tooling to regenerate the Go ABI 2020-08-17 23:02:06 +02:00
Leo a1dcc36df9 Handle ipfslog.SetLogLevel error 2020-08-17 23:02:06 +02:00
Hendrik Hofstadt f8e70efb0b Fixes for actual CPI usage and variable VAA size 2020-08-17 21:02:04 +02:00
Leo 760d5541b7 Move loadGuardianKey and ethLockupProcessor out of main.go 2020-08-17 19:36:17 +02:00
Leo 7903402fa6 Deterministic hashes for ETH lockups
We're missing a nonce for truly unique hashes - for now, two
identical transfers will only be executed once.
2020-08-17 19:29:25 +02:00
Leo bc3714fc73 Add nodeName to override hostname in gossip 2020-08-17 19:22:12 +02:00
Leo 2c2a3c6c8e Add Apache2 license 2020-08-17 19:17:12 +02:00
Leo ca2a2d9686 Remove deleted token crate from workspace 2020-08-17 18:25:46 +02:00
Leo 955bcc93fe bridge: devnet guardian key generation 2020-08-17 18:20:28 +02:00
Hendrik Hofstadt e040449197 Working transfer in 2020-08-17 17:06:21 +02:00
Leo 2f526ff136 Tiltfile: Remove outdated comment 2020-08-17 16:43:09 +02:00
Leo 9171eb89cb Import Hendrik's vaa-test 2020-08-17 16:33:02 +02:00
Leo e548bbbee3 devnet: add send-lockups.js truffle script to generate test lockups 2020-08-17 16:31:48 +02:00
Leo d049aa08e7 pkg/ethereum: fix watcher lifecycle 2020-08-17 14:56:22 +02:00
Leo c4d53247d3 bridge: fix p2p routine restart
Turns out, libp2p cannot be cleaned up so till this is fixed,
we have to exit if p2p dies.

Expose the root context to p2p and cancel it.
2020-08-17 14:55:51 +02:00
Leo 090d0aca84 bridge: split up guardiand/main.go 2020-08-17 12:29:52 +02:00
Leo bdf164a5b5 bridge: signal readiness 2020-08-17 12:25:16 +02:00
Leo f9b3a6195f eth-devnet is deterministic and does not need volumes 2020-08-17 12:15:56 +02:00
Leo 24d38b12ea bridge: default to 15 blocks ETH lockup 2020-08-17 12:14:57 +02:00
Leo 63a601030d devnet: automatically run tests 2020-08-17 12:11:50 +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 6ec5ffb1ce Tiltfile: remove live_update for Ethereum now that the build is fast 2020-08-17 11:58:18 +02:00
Leo b7512c9203 ethereum: only invalidate npm install if package.json changed
Thanks Lorenz :D
2020-08-17 11:19:14 +02:00
Leo 8174679360 Remove unused chainlink imports
We're not going to use Schnorr/threshold signatures for now -
turns out, multisigs are cheaper on ETH.

Ran `go mod tidy`.
2020-08-16 19:05:32 +02:00
Leo 2744c1df25 bridge: heartbeat, eth watcher service 2020-08-16 17:05:58 +02:00
Leo 28fef7efca bridge: make sure the process crashes if we can't connect to any bootstrap peers
Supervisor rescheduling doesn't do the trick since the p2p socket doesn't clean up reliably.
2020-08-16 15:02:11 +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 3451526e01 devnet: add faucet port to solana-devnet service
No need for a separate service, it's the same pod.
2020-08-16 13:59:05 +02:00
Hendrik Hofstadt 49d2872d9c Update devnet and Solana program 2020-08-16 13:21:39 +02:00
Leo c8dae177e6 Tiltfile: document the right sync mode for incremental sync to work 2020-08-16 12:30:23 +02:00
Leo 186129e5e4 Tiltfile: WIP live_update for ethereum contracts 2020-08-16 12:10:03 +02:00
Leo e39469f817 ethereum: install git
Required for properly installing truffle.
2020-08-16 11:25:37 +02:00
Leo 784c35e48d Tiltfile: ignore local node_modules 2020-08-16 11:17:35 +02:00