Yuriy Savchenko
eeb560cb5c
Terra integration added to e2e tests
2021-01-19 16:50:26 +01:00
Hendrik Hofstadt
82fd4293e2
Fix guardian set expiration on Solana ( #155 )
...
* fix guardian set expiration on Solana
2021-01-19 16:44:48 +01:00
Leo
9f2f609bc1
Bump Go and pin all Docker images to digests
2021-01-19 16:15:54 +01:00
Hendrik Hofstadt
efa03ef73c
Implement upgradeability ( #151 )
...
* Implement contract upgrade VAA action
* naming and (╯°□°)╯︵ ┻━┻
* Carefully unflip table and replace broken cutlery ┬─┬ノ( ◕◡◕ ノ)
* fix and automate upgradeability
* document contract upgrade call
* Update comments
* Exhaustiveness check in VAA payload switch
* Fix typo
Co-authored-by: Leo <leo@certus.one>
2021-01-19 13:01:45 +01:00
Hendrik Hofstadt
274bb7c97d
Owner and sysvar check hardening ( #154 )
...
* owner and sysvar check hardening
2021-01-12 23:21:30 +01:00
Hendrik Hofstadt
12a6ae31bc
Watch slots for Solana liveness monitoring ( #141 )
...
* add slot notifications to the agent
* fix proto field naming
2021-01-11 12:43:05 +01:00
Hendrik Hofstadt
03ef5e1017
Don't evict governance VAA signatures ( #137 )
...
* don't evict governance VAA signatures
They need to persist for data availability (to be cross-submitted to other chains)
2020-12-17 11:27:46 +01:00
Leo
e2f517f91c
solana: fix typo in clap help
2020-12-07 11:20:27 +01:00
Leo
8b10b96362
solana: use clap for command line arguments
2020-12-06 22:45:45 +01:00
Leo
f7f4f6d74b
solana: add clap crate and update cargo dependencies
2020-12-06 22:15:43 +01:00
Hendrik Hofstadt
bec598b41a
Fix subsidization and fees ( #127 )
...
* Revert "solana: partially revert #82 subsidization changes"
This reverts commit 2967653e
* fix subsidization
* fix deleted grpc tag dependency
* revert devnet changes
* verify system instruction action
* ┬─┬ノ(ಠ_ಠノ)
2020-11-30 11:09:08 +01:00
Leo
5997f133c3
solana: use loopback address to connect to other containers in same pod
...
There's a bit of a chicken-and-egg problem here - the liveness probe
cannot succeed until all containers in the pod are ready, and the
service load balancer won't work until it's ready.
2020-11-29 19:19:37 +01:00
Leo
2967653e06
solana: partially revert #82 subsidization changes
...
... while keeping the borrowing fixes. Please review carefully whether
any of the remaining changes should've been reverted as well.
Fails due to account ownership check for debits, new tests caught it.
2020-11-29 17:07:15 +01:00
Leo
fddbd01f9d
solana: update Rust and Solana to latest stable releases
...
Unfortunately, the new release has a much chattier message_processor,
but we cannot do anything about that without losing value debug info.
2020-11-29 17:07:15 +01:00
Leo
de8d1dee31
devnet: pin Dockerfile syntax to digest
...
This speeds up the build by ~1.5s by avoiding a remote lookup on
Docker Hub every time this is built (WTF).
2020-11-29 17:07:15 +01:00
Leo
a2f48fdee3
solana/cli: fetch token account balance
...
The request needs to include the decimals (part of the derivation path).
2020-11-29 17:07:15 +01:00
Leo
45837241ed
devnet: add readiness checks to most components
2020-11-29 17:07:15 +01:00
Leopold Schabel
8306a83833
solana/agent: listen on UNIX socket ( #122 )
...
This allows us to use UNIX filesystem permissions for access control.
Previously, any process in the network namespace could connect to it,
which is insecure for obvious reasons.
Verified that correct permissions are set:
```
# ls -lisa /run/bridge/
total 8
31996269 4 drwxrwxrwx 2 root root 4096 Nov 23 21:58 .
14676759 4 drwxr-xr-x 1 root root 4096 Nov 23 21:58 ..
31996306 0 srwx------ 1 root root 0 Nov 23 21:58 agent.sock
```
Fixes #119
2020-11-24 09:48:44 +01:00
Hendrik Hofstad
3e57f475e1
solana: fix borrow issues
2020-11-20 14:23:05 +01:00
Hendrik Hofstadt
8510140165
subsidize guardian transactions using fees ( #82 )
...
* subsidize guardian transactions using fees
* reuse transfer function
* evict signature state on inbound transfers
* fix mutability issues due to copying
* add fee refund
* unify fee calculation
* add fee documentation
* Unflip tables
* type annotation
2020-11-19 22:47:09 +01:00
Leo
fdc2be10b3
solana: verify that new guardian set isn't empty
...
ghstack-source-id: 4fc1d9415250ba5a9bea3c464111328f109924fd
Pull Request resolved: https://github.com/certusone/wormhole/pull/101
2020-11-19 12:57:21 +01:00
Hendrik Hofstadt
cee28540bd
Upgrade SDK; add balance rpc call ( #80 )
2020-11-13 14:14:56 +01:00
Leo
86fdfa859b
devnet: deterministic Solana accounts and lockup generator
2020-11-10 22:53:36 +01:00
Leo
f3107ebed4
solana: add uncommitted Cargo.lock files
...
If there's a reason they are missing, then I didn't realize :-)
Ref #29
ghstack-source-id: 9052f64e7624fb32b50a46d24f66c618476dbfc2
Pull Request resolved: https://github.com/certusone/wormhole/pull/68
2020-10-28 22:47:12 +01:00
Leo
13f79a96b3
devnet: use real account and nonce for send-lockups.js
...
ghstack-source-id: fb233fa7275fc52d96edc6dfa1f08a7bf26b8736
Pull Request resolved: https://github.com/certusone/wormhole/pull/61
2020-10-28 22:47:12 +01:00
Hendrik Hofstadt
dadb287220
bridge: fix quorum calculation ( #69 )
2020-10-28 21:22:15 +01:00
Hendrik Hofstadt
cf90bbec0d
cli: create_wrapped command, deterministic generation
2020-10-28 20:37:06 +01:00
Hendrik Hofstadt
8d7a35683e
bridge: fix quorum ( #56 )
2020-10-25 08:57:04 +01:00
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