Commit Graph

463 Commits

Author SHA1 Message Date
Leo 187355b0c8 solana: fix devnet_setup.sh sleep 2020-10-22 13:09:05 +02:00
Leo faf9a71cef agent: return gRPC Internal error on submission failure
This allows us to distinguish between temporary and permanent failure.

Unless we check the instruction error that occured, we can't know
whether the submission error is a permanent failure and Internal
is therefore the appropriate code to use.

ghstack-source-id: aff1de9516
Pull Request resolved: https://github.com/certusone/wormhole/pull/47
2020-10-22 12:20:12 +02:00
Hendrik Hofstadt e266bf1a7c
Implement assistant & Reimplement wrapped asset precreation (#42)
* all: readd early wrapped meta creation; initial transfer wizard

* web: complete transfer assistant

* web: allow multiple accounts per wrapped mint
2020-10-14 11:49:13 +02:00
Hendrik Hofstadt ddd2c901bd solana: create sig verify account in instruction
This allows multiple guardians to submit the signatures in parallel without causing costs with all transactions because conflicting txs won't be mined.
2020-10-03 21:20:24 +02:00
Hendrik Hofstadt 25533f0264
bridge: add secp check instruction (#41)
* bridge: add secp check instruction

* solana: update to secp solana upstream

* solana: iteration on secp

* solana: fix secp instruction

serialization indices were off and secp ix data was serialized twice

* solana: optimize ix serialization

* agent: send multiple chunks of signatures

* doc: update protocol spec

* solana: store signatures in siginfo; reconstruct signed VAA in webinterface

* solana: reformat

* solana: add rustfmt config
2020-10-01 16:42:45 +02:00
Hendrik Hofstadt 4ba7885c62 solana: add retry/poking mechanism
Closes #6
2020-08-31 21:05:38 +02:00
Hendrik Hofstadt 941220bc85 bridge: optimize VAA claim derivation
Instead of hashing the body manually, we pass the body to the address derivation syscall.
2020-08-31 20:09:06 +02:00
Hendrik Hofstadt fb603d468c agent: remove keepalive routine 2020-08-31 14:20:36 +02:00
Hendrik Hofstadt 45a25e0386 bridge: prevent multiple signatures from single guardian 2020-08-31 09:26:38 +02:00
Hendrik Hofstadt b4b0c61dfc bridge: require single step guardian set index changes 2020-08-31 09:25:41 +02:00
Hendrik Hofstadt a1387dafea agent: print errors 2020-08-28 17:14:32 +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 ed0a6d4b2e bridge: use proper source address 2020-08-28 08:36:33 +02:00
Hendrik Hofstadt 042ff4a14b bridge: properly handle VAA submissions 2020-08-24 12:56:19 +02:00
Leo 206eca5ac5 Set a recipient address in devnet_setup.sh
Lockup VAAs are now accepted on ETH.
2020-08-22 11:10:13 +02:00
Hendrik Hofstadt 3d771ea41d cli: add recipient to lock command 2020-08-22 11:02:50 +02:00
Leo c65d221ab3 Run devnet_setup.sh as solana-devnet sidecar 2020-08-22 10:52:51 +02:00
Leo fbf6e17d3e Use skip_preflight for CLI transactions
The preflight bank is set to max committment level, so we
wouldn't see previous txs with single confirmation.
2020-08-22 10:43:34 +02:00
Hendrik Hofstadt 738967c8d0 bridge: fix quorum checks 2020-08-22 01:10:45 +02:00
Hendrik Hofstadt 0d5bef7366 agent: handle connection failures 2020-08-22 00:18:03 +02:00
Hendrik Hofstadt 6b113853bd solana: fix missing transfer info and cli checks 2020-08-21 23:41:54 +02:00
Hendrik Hofstadt 2cd0d38e3d Merge branch 'master' of github.com:certusone/wormhole 2020-08-21 22:56:32 +02:00
Hendrik Hofstadt e3dcc654fb bridge: simplify lockup serialization 2020-08-21 22:56:21 +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
Hendrik Hofstadt 0c8cf93f85 solana: wait for full confirmation 2020-08-21 21:58:43 +02:00
Leo 86ccc1c617 Solana devnet fixtures and lockup generator 2020-08-21 20:48:58 +02:00
Hendrik Hofstadt 549f7ad69c solana: track time on lockups 2020-08-21 19:51:45 +02:00
Hendrik Hofstadt 5f253415d5 cli: add airdrop call 2020-08-21 18:55:59 +02:00
Hendrik Hofstadt a8d2f36a12 agent: inject static account key 2020-08-21 18:10:54 +02:00
Hendrik Hofstadt e0c2fbf990 agent: add lockup_address 2020-08-21 17:58:35 +02:00
Hendrik Hofstadt a1e548e4b9 solana: don't rebuild solana when bridge changes 2020-08-21 16:29:44 +02:00
Hendrik Hofstadt 6070cf25eb agent: load key from disk 2020-08-21 15:53:59 +02:00
Hendrik Hofstadt 6a548e5695 bridge: use constant for max guardians 2020-08-21 15:02:02 +02:00
Hendrik Hofstadt 51ed6323b4 bridge: improve build caching 2020-08-21 14:52:38 +02:00
Hendrik Hofstadt 1d960405d1 bridge: check quorum 2020-08-21 12:45:40 +02:00
Leo f1f2d0c8b8 Solana VAA submission stub 2020-08-20 21:48:58 +02:00
Leo c6efc410cb solana: remove extra uncached build
Derp
2020-08-20 20:19:06 +02:00
Hendrik Hofstadt a4fecd36f0 solana: build token program using latest solana version 2020-08-20 20:12:44 +02:00
Hendrik Hofstadt 8f4127f781 Add slot to agent 2020-08-20 19:20:11 +02:00
Leo 894e058091 Build Solana smart contract 2020-08-20 18:56:26 +02:00
Hendrik Hofstadt 59449a30b3 Update VAA structure 2020-08-19 16:41:25 +02:00
Hendrik Hofstadt 256439b766 Fix solana agent 2020-08-19 15:14:39 +02:00
Hendrik Hofstadt 5cd3db9a14 Working solana transfers from webui 2020-08-18 22:54:18 +02:00
Hendrik Hofstadt f8e70efb0b Fixes for actual CPI usage and variable VAA size 2020-08-17 21:02:04 +02:00
Leo ca2a2d9686 Remove deleted token crate from workspace 2020-08-17 18:25:46 +02:00
Hendrik Hofstadt e040449197 Working transfer in 2020-08-17 17:06:21 +02:00
Hendrik Hofstadt 49d2872d9c Update devnet and Solana program 2020-08-16 13:21:39 +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 f54fc43118 update claimed vaa doc 2020-08-10 08:48:25 +02:00
Hendrik Hofstadt 70a1f24220 add rudimentary VAA sending 2020-08-10 00:00:36 +02:00
Hendrik Hofstadt 8167285560 update bridge doc 2020-08-09 18:26:58 +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 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 90e75b3d22 Add token CLI copy that can create a bridge 2020-08-05 10:08:25 +02:00
Hendrik Hofstadt 7ddf910faa
Implement initial solana program (#3)
* add rust program

* update rust program

* first VAA actions

* implement full transfer

* remove token copy

* restructure and copy
2020-08-03 14:55:58 +02:00