Commit Graph

458 Commits

Author SHA1 Message Date
Leo b9780afe2a tools: add build tag on tools.go to fix IJ error
Change-Id: I26eef5fb4275a240be06c829a193fd41694d7465
2021-06-08 14:20:25 +02:00
Leo 00a92b0278 README.md: add mini FAQ
Change-Id: Id0379f56f1fcdaea3a58cf719d8593e799ddd55a
2021-06-04 14:42:50 +02:00
jschuldt 0e602ed91d Add explorer web app and web proto codegen
- update buf to latest to support ts-proto plugin

- add NodeJS dev dependency for web-proto codegen

Change-Id: I881f9da7461d5d4ff28a64304a2adc33037598d1
2021-06-02 16:05:16 +00:00
Justin Schuldt 3b294c586a Use full import path in proto's go_package
Change-Id: I1f3592512804ad92506914eda67d9ce59effdc0e
2021-06-01 19:04:49 +00:00
Leo 4f306fdb8b solana/agent: always submit signature verify transactions
The first transaction acquires a pseudo-lock by setting
initial_creation = true, which will fail if a signature account
already exists. However, this is unsafe since the operation
consists of multiple operations and is not atomic - if the first
validator fails to submit a full set of signature transactions,
other guardians will not retry submitting signature verification txs.

We disable this mechanism to never set initial_creation, which
causes guardians to spend more fees in exchange for fault tolerance.

Instead of failing with an AlreadyExists error, duplicate transactions
will now succeed as a no-op and all nodes will attempt to submit
the full series of signature transactions.

Co-authored-by: Hendrik Hofstadt <hendrik@nexantic.com>
Change-Id: I0c418497f19cc97c9ae7a11b206035d6e70c1b66
2021-05-31 13:33:47 +00:00
Leo 79cc6a9f46 bridge: allow specifying skip_preflight in debug VAA submission
This allows forcibly submitting a failing VAA on-chain in cases where
the preflight check would hinder debugging.

It does not change behavior of guardiand.

Co-authored-by: Hendrik Hofstadt <hendrik@nexantic.com>
Change-Id: I63df22049ad27f659dc0638190edd20628b7a338
2021-05-31 13:33:43 +00:00
Leo c1c2c7ae49 solana/agent: add extra context to SubmitVAA errors
Co-authored-by: Hendrik Hofstadt <hendrik@nexantic.com>
Change-Id: I5e2b9120e0626ba4e5021f3012802e2d3978584e
2021-05-31 13:33:40 +00:00
Leo a2ff5ca73c bridge/debug: add post-vaa-solana command
Co-authored-by: Hendrik Hofstadt <hendrik@nexantic.com>
Change-Id: I482487f39eae1a3aebd1c7fdbe10e5b9c2dd44ad
2021-05-31 13:33:36 +00:00
Leo 45639b18fb bridge/pkg/solana: fix package name and remove unused lockChan
Increase VAA submission timeout.
Change-Id: I5e774f2930e2f0d865d733eee2f0bb01da1b82f3
2021-05-31 13:33:32 +00:00
Leo b04dd1cc2f bridge/debug: refactor
Move the debug command out of vaa.go in preparation for adding
additional comments.
Change-Id: Id387eace5d488952331f5d7f16c43b235676df24
2021-05-31 13:27:34 +00:00
jschuldt a3ed2fbd72 Add gRPC proxy for guardian's publicRPC interface.
Change-Id: Iafdf57536724b2eaaec1c62132717ab9019b177d
2021-05-24 19:23:18 +00:00
jschuldt 16157d339d Add publicrpc endpoint for external clients.
- Distribute raw heartbeats via new proto package publicrpc

- Manage channel subscription on client req/close.

- Expose publicprc endpoint in devnet Service.

Change-Id: Ic96d624733961aa56e00b03c3b5cff6af11523a4
2021-05-24 13:38:58 -05:00
Leo 3aee599ada CONTRIBUTING.md: fix typo
Change-Id: I32292c61d66fa974cab9a5c43719d7d8ed7dd9a3
(cherry picked from commit f1de6086f1)
2021-04-19 19:49:02 +00:00
Leo 48b3c0a3f8 CONTRIBUTING.md: fix typo
Change-Id: Id18341b27bb9509e2b0a0c19ebc998878766818c
2021-04-15 23:55:45 +02:00
Leo dfd01fae98 Add codereview.cfg
Enables usage of git-codereview in this repo, which may be useful to
non-IntelliJ users.

See https://pkg.go.dev/golang.org/x/review/git-codereview#hdr-Configuration

Change-Id: If9ec6eae678c54bad86b126f9b9284b1a9c7ddd9
2021-04-15 00:21:59 +02:00
Leo 3d652fdc20 Add CONTRIBUTING.md
This document adds guidance on the Wormhole development process for new
contributors, and answers the most commonly asked questions.

Change-Id: Id793163721f7d68e24c372020b9b31c4cb222744
2021-04-15 00:21:57 +02:00
Leopold Schabel 610bb93578 Merge "README.md: remove mention of test application" into main 2021-04-14 19:42:09 +00:00
Leo dd1e536a81 README.md: remove mention of test application
Bartosz had added this when he did the Arweave deployment, but it's not
really meant for end users and has been causing a fair bit of confusion.
Remove it and wait for nice wallet integrations.

Change-Id: Ifee0e11d265c07da1158bd19e1e7324281caa882
2021-04-14 15:20:28 +00:00
Leo f9d7308b16 design: import existing design document template
Change-Id: I7cc3735089b58faf3537cd0b59dad45b8ecec101
2021-04-14 16:35:15 +02:00
Stanisław Drozd a330c89d1a
Fix *.so copy in solana-devnet, correct crate feature for cli+agent (#198) 2021-04-08 12:47:35 +02:00
Leopold Schabel cc3482a607
Replace third_party/solana by solana-test-validator (#197)
We no longer need to carry a patch and build Solana, and can use
solana-test-validator (with sleepy PoH!) instead. This significantly reduces
build times and will make downstream testing much easier.

Also remove the remnants of do.sh and the old BPF toolchain.

Test Plan: Ran E2E tests.
2021-04-07 20:16:19 +02:00
Stanisław Drozd 6de425a990
BPF SDK hotfix and devnet startup improvement (#196)
* Tiltfile: Make the guardian k8s_resource depend on solana-devnet

This makes guardian network convergence faster as the guardian pods
don't have to suffer from increasing redeploy back-off delays. This
should impact performance neglibibly as solana-devnet is still the
heaviest build we perform (at the time of this writing saturating a
32-thread Ryzen 9 CPU on my build machine.)

* hotfix bpf-sdk: bump bpf-sdk; use cargo-build-bpf
2021-04-07 15:13:01 +02:00
Stanisław Drozd bfa8a974e5
terra/Cargo.lock: Run `cargo update` (#194) 2021-04-02 00:20:17 +02:00
Stanisław Drozd 954e868436
Updates for newest beta bpf-sdk, small do.sh refactor (#193)
* Updates for newest beta bpf-sdk

* do.sh: sed typo
2021-03-23 16:21:34 +01:00
Yuriy Savchenko 7a97381f18 Terra E2E tests fixed, asset registration refactoring 2021-03-23 16:19:41 +01:00
Yuriy Savchenko f694fbdf0f Removed contract activity killswitch, fee is now hardcoded, test scripts updated 2021-03-23 16:19:41 +01:00
Yuriy Savchenko 06242ffc74 Fee storage type changed to optional 2021-03-23 16:19:41 +01:00
Yuriy Savchenko 097093e1f1 Added configurable fee for locking assets, owner method to transfer fee from the contract, query to get contract state (with fee) 2021-03-23 16:19:41 +01:00
Yuriy Savchenko 10c2fa4eea Added VAA verification query to the Terra smart contract, refactoring 2021-03-23 16:19:41 +01:00
Leopold Schabel f5560eb3ff
Fix guardian set initialization race condition (#191)
Fixes #184
2021-03-23 14:07:47 +01:00
Ryo Onodera 2ba9381066
Add/Clarify comments (#187) 2021-02-26 13:48:44 +01:00
Leo 69b7d3e99e Update to Rust 1.49 2021-02-12 13:48:44 +01:00
Leo 2cf4d50c23 bridge: add terra block height to heartbeats 2021-02-10 02:00:45 +01:00
Leo 9c1d6ee00c bridge: add network heights and guardian address to heartbeat message 2021-02-10 01:57:54 +01:00
Leo aacff406e4 bridge: build with race detector enabled 2021-02-10 01:57:54 +01:00
B e68c1b240d
Update react router (#180)
* feat: add deployment

* feat: switch router

* Merge pull request #1 from certusone/master

Add deployment (#179)
2021-02-06 18:08:16 +01:00
B ea6f3badec
Add deployment (#179)
* feat: add deployment
2021-02-05 21:28:07 +01:00
Leopold Schabel b0a9e98648
Asynchronously fetch Terra block height (#177) 2021-02-05 15:16:31 +01:00
Leo c51a2da83f Update operations.md 2021-02-04 20:09:33 +01:00
Yuriy Savchenko 8bf501879b
Added Terra node height monitoring (#176)
* Added Terra node height monitoring
2021-02-04 19:48:54 +01:00
Leo 7c16981443 Add example Grafana dashboard 2021-02-04 18:38:19 +01:00
Leo 966d0f0bc6 bridge/pkg/terra: add stub metrics 2021-02-04 14:20:49 +01:00
Leo 04e3ad772a bridge: add "debug decode-vaa" 2021-02-04 11:48:31 +01:00
Yuriy Savchenko f36ecc34f7
Terra support enabled in production mode (#173)
* Terra support enabled in production mode
2021-02-04 11:26:01 +01:00
Hendrik Hofstadt 075658922f update web ui for mainnet 2021-02-03 12:09:55 +01:00
Leo 8735b587cb bridge/pkg/ethereum: fix guardian set update processing
We reused an expired context. No direct impact because the routine would crash
and re-fetch the guardian set.
2021-02-03 00:09:46 +01:00
Hendrik Hofstadt 8478735ea7
don't subsidize guardian set creation (#172)
* don't subsidize guardian set creation

This works around https://github.com/solana-labs/solana/issues/9711 which causes issues when the guardian set creation is subsidized and another CPI call is done subsequently
2021-02-02 21:20:48 +01:00
Leo 02c750bc7e bridge: fix terra devnet retry 2021-02-02 12:35:17 +01:00
Leo 201581b1de Update operations.md 2021-02-01 23:56:50 +01:00
Leo 67b8f4dfa2 third_party/solana: update to v1.4.25 2021-02-01 22:22:28 +01:00