Commit Graph

1731 Commits

Author SHA1 Message Date
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
Leo 4e6d1079f6 generate.sh: compile buf 2020-08-16 11:09:03 +02:00
Leo 294e256c74 third_party/solana: fix syscall patch
It's not applying, but at least it fails properly now!
2020-08-16 11:04:26 +02:00
Leo 487de66f40 solana: rebase onto master and cherry pick CreateProgram PR 2020-08-16 10:12:55 +02:00
Leo f8b313cab8 ethereum: remove unused Schnorr references from tests 2020-08-16 01:54:49 +02:00
Leo 1094c2cadb ethereum: partially fix npm run test 2020-08-16 01:47:10 +02:00
Leo 4d1610d9f0 eth-devnet deployment 2020-08-16 01:38:10 +02:00
Leo fc7c020553 Add hint how to observe k8s pods 2020-08-15 23:56:33 +02:00
Leo 7fc59ec5f4 Add Solana devnet and have agents talk to it 2020-08-15 23:54:44 +02:00
Leo 61a7d35a02 solana/agent: fix listen address and change port to u16 2020-08-15 23:54:10 +02:00
Leo d8c9b41a01 Add builds for protos and the Solana agent
- Build buf and protoc-gen-go and use it to build Go proto packages
- Rename agent proto package to agent.v1 (to prevent namespace collisions and conform to buf's standards)
- Default to DOCKER_BUILDKIT=1 for CI setup
- Add incremental Docker build for solana/agent
- Move build machinery to top level
2020-08-15 22:15:26 +02:00
Hendrik Hofstadt 08fddb7d54 Update specs 2020-08-15 00:31:26 +02:00
Hendrik Hofstadt 6e5a3fa118 Update ETH smart contract for new signature schema 2020-08-15 00:09:48 +02:00
Hendrik Hofstadt 2a096790d3 new VAA format in Golang 2020-08-14 22:45:45 +02:00
Hendrik Hofstadt ca4e4a3243 WIP SPL token integration 2020-08-14 21:33:46 +02:00
Hendrik Hofstadt 0e69aa4ddc remove requirement for half_q on pub key x
Schnorr signatures don't have the ecdsa malleability vulnerability, also we protect against malleable signatures by tracking consumed VAAs using their body hash.
The check was implemented because the author assumed that ecrecover in the EVM does not accept s < HALF_Q values for malleability protection. There were 2 misconceptions:
1. pubkey_x is passed in as r and not s, 2. the check is not enforced in the precompiled evm instruction.
2020-08-10 21:08:57 +02:00
Hendrik Hofstadt f54fc43118 update claimed vaa doc 2020-08-10 08:48:25 +02:00
Hendrik Hofstadt 47464d7600 basic ETH interaction; WIP Solana interaction 2020-08-10 00:01:18 +02:00
Hendrik Hofstadt 70a1f24220 add rudimentary VAA sending 2020-08-10 00:00:36 +02:00
Hendrik Hofstadt 9749044c25 make wrapped asset check public on eth 2020-08-09 21:16:18 +02:00
Hendrik Hofstadt f5f62e8b3e update protocol spec for foreign -> root transfers 2020-08-09 18:46:11 +02:00
Hendrik Hofstadt 8167285560 update bridge doc 2020-08-09 18:26:58 +02:00
Hendrik Hofstadt c1d0f4dd2d add web skeleton 2020-08-09 18:16:52 +02:00
Hendrik Hofstadt f158bb4b5f add watch-only version of the rust agent 2020-08-08 21:34:25 +02:00
Hendrik Hofstadt 3b96e0cc6d track meta of wrapped assets; update SDK 2020-08-08 12:35:24 +02:00
Hendrik Hofstadt 3aaba4b5bc add create wrapped step to initial inbound transfers 2020-08-07 22:11:19 +02:00
Hendrik Hofstadt 30666fd7ff track wrapped asset meta, test CLI with acc creation 2020-08-07 21:48:22 +02:00
Hendrik Hofstadt ff0b4766ae add instruction constructors 2020-08-07 16:10:30 +02:00
Hendrik Hofstadt 86dd02e0e6 Rework accounts in solana programs 2020-08-07 13:38:09 +02:00
Hendrik Hofstadt c2673c109a prevent old guardians from updating the set 2020-08-07 11:12:46 +02:00
Hendrik Hofstadt 6aa9c874cf extend tests on contract 2020-08-06 23:41:26 +02:00
Hendrik Hofstadt 7add58bef5 clean up contract 2020-08-06 23:36:49 +02:00
Hendrik Hofstadt f52ba57eff Add source reference 2020-08-06 23:34:15 +02:00