Commit Graph

138 Commits

Author SHA1 Message Date
Leo cb757192b3 bridge: wrap agent recv errors 2020-08-28 17:12:16 +02:00
Hendrik Hofstadt f6750a3762 all: consider decimals on wrapped assets, fix VAA posting, fix solana account parsing 2020-08-28 15:10:42 +02:00
Hendrik Hofstadt 8e6dc495dc bridge: remove VAA timeout
Closes #35
2020-08-28 08:49:46 +02:00
Hendrik Hofstadt 1eef0b3bce bridge: use full token address 2020-08-28 08:35:59 +02:00
Leo 5a72d9029a VAA guardian devnet submission 2020-08-27 17:46:40 +02:00
Leo ed6b8d23de Update supervisor library to fix negative backoff
Fixes #9
2020-08-24 21:06:12 +02:00
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 4b24a74547 agent: use max commitment and fix nonce type
It appears that single confirmation level is not useful
for transactions that depend on each other.
2020-08-21 22:53:31 +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 9bb44eb0f5 Enable VAA submission to Solana 2020-08-21 00:06:38 +02:00
Leo c381ed2459 Print initial guardian set bytes for devnet 2020-08-20 23:39:51 +02:00
Leo f1f2d0c8b8 Solana VAA submission stub 2020-08-20 21:48:58 +02:00
Leo da8840e363 Update ABI for 9b3f7999 2020-08-20 21:04:32 +02:00
Leo e1c760af6d Update ABI for 9b3f7999 2020-08-20 20:26:21 +02:00
Hendrik Hofstadt 8f4127f781 Add slot to agent 2020-08-20 19:20:11 +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 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
Leo 8b34a3c534 ethereum: add getGuardianSet accessor 2020-08-18 16:19:28 +02:00
Leo 12873e5819 Add tooling to regenerate the Go ABI 2020-08-17 23:02:06 +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 d049aa08e7 pkg/ethereum: fix watcher lifecycle 2020-08-17 14:56:22 +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 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 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 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 9a4e1f396d Track confirmations in watcher 2020-08-06 19:14:31 +02:00
Hendrik Hofstadt b6c85217b6 Add ETH tracking 2020-08-06 15:43:45 +02:00
Hendrik Hofstadt b3832ab8c7 Fully implement U256; add source_address to transfer VAA 2020-08-05 13:12:54 +02:00
Hendrik Hofstadt dece1a6a90 Fix protocol compatibility and increase VAA test coverage 2020-08-05 12:28:44 +02:00
Hendrik Hofstadt a1ba223361 Remove duplicate CL libraries, add signing logic to VAA 2020-08-05 10:48:43 +02:00
Hendrik Hofstadt 8f333ba0fd Fix chainlink key generation/validation 2020-08-04 23:52:39 +02:00
Hendrik Hofstadt 7993a72dea Add VAA serialization logic 2020-08-04 23:43:16 +02:00
Leo 39eb919aaa Import supervision tree from internal SignOS repo
Once SignOS is public, we can un-vendor this.
2020-08-04 12:15:51 +02:00