Leo
08156ca438
bridge: move initial guardian set fetching to pkg/ethereum/watcher.go
...
This removes the special case in the processor. The initial guardian set
is now treated like a regular guardian set update, and the devnet
update check is executed on every update.
Fixes an edge case where processing a guardian set update would fail
with a spurious `abi: attempting to unmarshall an empty string while arguments are expected`
error, leaving the node in a bad state since restarting ethwatch
wouldn't cause the guardian set to be re-fetched.
ghstack-source-id: e580a65e90
Pull Request resolved: https://github.com/certusone/wormhole/pull/46
2020-10-22 12:20:12 +02:00
Leo
7e366b5da6
Update all Go dependencies to latest
...
...except for libp2p, which broke compatibility
between go-libp2p and go-libp2p-core:
https://github.com/libp2p/go-libp2p-core/issues/168
I explicitly updated all transitive dependencies using
go get -u ./..., so the top-level go.mod file grew to include those.
2020-10-16 20:48:53 +02:00
Leo
26387f43f5
Improve a log message for better comprehensibility
2020-10-08 18:00:37 +02:00
Hendrik Hofstadt
2747839bd4
bridge: use hash instead of big for signingMsg
...
Using Big could truncate padding which lead to hashes of len != 32
Closes #10
2020-08-31 20:17:51 +02:00
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