Commit Graph

130 Commits

Author SHA1 Message Date
Leo ef2aab5998 Decouple lifecycle of processor and ethwatch
We now do an independent fetch of the guardian set.
2020-08-22 00:21:57 +02:00
Leo 30d921ec25 Always cancel contexts to avoid leaking goroutines 2020-08-21 23:48:02 +02:00
Leo 5b8c6e89bd Ethereum lockup VAA submission to devnet 2020-08-21 23:40:03 +02:00
Leo 72289be8ee Wire up Solana lockup watcher 2020-08-21 20:49:33 +02:00
Leo b663e2dc56 Generalize token lockup processor 2020-08-21 13:00:44 +02:00
Leo 10621625f0 Handle supervisor.RunGroup error 2020-08-21 13:00:44 +02:00
Leo 935411c036 Refactor all node key management into nodekeys.go 2020-08-21 13:00:44 +02:00
Leo d317164345 Rename ethwatch to ethlockup and run it in a runnable group with the watcher
This ensures that we re-fetch the guardian set when ethlockup dies.
2020-08-21 11:17:55 +02:00
Leo 9bb44eb0f5 Enable VAA submission to Solana 2020-08-21 00:06:38 +02:00
Leo b6b2d21bde Fix race condition where p2p is faster than ETH 2020-08-20 22:24:33 +02:00
Leo ec6e261c43 Receive own signatures 2020-08-20 22:05:25 +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
Hendrik Hofstadt 59449a30b3 Update VAA structure 2020-08-19 16:41:25 +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 a1dcc36df9 Handle ipfslog.SetLogLevel error 2020-08-17 23:02:06 +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 955bcc93fe bridge: devnet guardian key generation 2020-08-17 18:20:28 +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 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 24d38b12ea bridge: default to 15 blocks ETH lockup 2020-08-17 12:14:57 +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 a7d17cf5aa Add persistent keys and bootstrap peer
This connects all nodes to a full mesh.
2020-08-04 12:15:51 +02:00
Leo dd8b2ade81 libp2p stub that can find peers on a private network
Test Plan:

    go run github.com/certusone/wormhole/bridge/cmd/guardiand -network wormhole-dev -port 9000 &
    go run github.com/certusone/wormhole/bridge/cmd/guardiand -network wormhole-dev -bootstrap /ip4/127.0.0.1/udp/9000/quic/p2p/<id> -port 9001
2020-08-04 12:15:51 +02:00