Commit Graph

52 Commits

Author SHA1 Message Date
bruce-riley a99c4a1a7c
node: arbitrum mainnet deploy changes (#1786)
* arbitrum mainnet deploy changes

* Change test for no governed tokens on Arbitrum

* Add arbitrum to to devnet guardian config
2022-10-27 14:50:01 -04:00
bruce-riley ea50bee9d2
Node: Upgrade to solana-go v1.7.1 (#1799)
Change-Id: Ia83b193d524e4c8571bfb8f3dd3075da8b5581cf
2022-10-27 11:14:42 -05:00
bruce-riley ed41a9a4ea
node: update solana watcher to use new solana-go version (#1760)
* node: remove the replace directive for solana-go

This commit that necessitated the fork:

    25b9f3025b

Has been merged upstream:

    9a01ac4f45

We need to pull in the latest solana-go to get support for MaxSupportedTransactionVersion.

* node: upgrade solana-go

This is the output from:

    go get -u github.com/gagliardetto/solana-go

It is required for the MaxSupportedTransactionVersion from:

    6ead48adf2

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>
2022-10-24 12:22:56 -05:00
Evan Gray 6c6661f621 js: make packages comply with ci rule 2022-10-20 17:11:13 -05:00
bruce-riley 67f57b797e
XPLA Mainnet Deploy (#1703)
* Prepare to deploy Xpla to mainnet

* Update SDK version

* Fix messed up error message

* Allow tests to pass with no XPLA tokens

* Make deploy script support testnet

* Update token bridge addresses after redeploy
2022-10-12 16:47:03 -04:00
Hendrik Hofstadt 02cf08531e
node: move watchers to dedicated package (#1647)
* node: reorganize watchers into own package

Change-Id: Idda82def1c8e1e07376bdc46a50fc02bd6f2386d

* node: rename terra to cosmwasm

Change-Id: Iebe5ccc7c66b772962425a42997bd2cfb66c6908
2022-09-28 15:27:13 +02:00
Hendrik Hofstadt ddd4f26f20
Refactor ethwatcher (#1618)
* reduce code duplication in ethereum watcher

Change-Id: I1d78e9cb86cb126e42959ef5805c0ee1b83e23a6

* reorganize finalizers

Change-Id: I64c61ebd8a03d4ba9f27ce82fbc4cae8b35f19d2

* rename ethereum to evm

Change-Id: I6d1e56df65c74edb3643b3506adcff8588e0a87b

* reorganize connectors

Change-Id: I21b31fb00f34dd6501e957b8f528723d5f548a52

* restructure into modular connectors

Change-Id: I111403a29464acfccad18b261658f59176a8795d
2022-09-28 13:15:57 +02:00
Chirantan Ekbote 12459c4a2a Add a wormhole go sdk
The wormhole sdk is a new go module in the sdk/ directory.  This
initially contains the *_consts.go files from the common package in the
top-level sdk package and the entire vaa package as a sub-package.

For go reasons this needs to be in the sdk directory itself (rather than
a sdk/go subdir).  To prevent the go tooling from looking into the other
non-go subdirs, add an empty go.mod file in each one.  See
golang issue 42965 for more details on why we can't have nice
things (I'm deliberately not linking to stop github from spamming that
issue).
2022-09-15 14:35:46 +01:00
kev1n-peters cda45a85ab
Moonbeam mainnet deploy (#1579)
* Moonbeam mainnet deploy

* Add eth migrate command to just deploy bridges

* node: Added moonbeam emitter addresses and governor limits

Co-authored-by: Bruce Riley <briley@jumptrading.com>
2022-09-12 18:41:39 -05:00
Chirantan Ekbote 5cc2c07157 node: Remove deprecated grpc method
This is triggering the lint check.
2022-09-07 10:02:35 +09:00
bruce-riley bfeaa93716
node: governor auto release (#1452)
* Initial code

* Add test cases

* Get rid of excessive logging of price updates

* Add big tx size to available notional query

* Add tool to verify  price query still works

* Fix lint error

* Rename check_query.go

* Set big transaction sizes

* More rework

* Add unit-test for big transfer config

* Fix unit tests after updates for Near

* Add a couple more test cases

Co-authored-by: claudijd <jclaudius@jumptrading.com>
2022-08-30 11:28:18 -05:00
bruce-riley 7d956818f0
node: governor tweaks (#1422)
* Non-critical tweaks for the next scheduled deploy

* Make tests fail if mainnet config is invalid

* Make the test pass

* Add test to verify testnet config

* Add support for included token list to script

* Initial include list and algorand token addresses

* Fix typo in algorand token

* Lowering min notional to zero
2022-08-16 15:22:24 -05:00
bruce-riley 7402259fc7
Chain governor (#1277)
* Rebase

* Reload from db on start up

Change-Id: I1deac9db28ad1157ea7e0c84af41c35b38497f4e

* Console commands

Change-Id: Ic242038312b7c837443a2df8823f100b3cdffd77

* Query prices from CoinGecko

Change-Id: I9a8c282ba374d32ef7045d11979a27ede3c52827

* Move chain config to separate file

Change-Id: I6a790eca765bce1f2caf48134e225df5c4daff15

* More code cleanup

Change-Id: Id12affa78cdc2d394d6dab0c53bb7ad06df8007e

* Few minor tweaks

Change-Id: I6cb511599d669e0b3d716d9f314ac0f26935ee92

* Create separate tests for different packages

Change-Id: Idb4da6817c9daad2a7420abc11bdaa702ae056dc

* Fix lint errors

Change-Id: I137c9e7e4574aee9c9fec22e91e19eee0e86a349

* Simplify chainlock message tests

* Add more governor db test coverage

* Next batch of review rework

Change-Id: Ife54852fca6c6990d1ffb3d60a8dd7f49d526f0a

* Still more rework

Change-Id: I43a8aa7fa4e1a7cea4d7fde68c963123c1ca8d53

* More rework

Change-Id: I9382412af4ffeda74967a834a6b0195a9d28b720

* Fix lint errors

Change-Id: Idaafce9b0314192557b7207911375d000bac5ae2

* Add rest and prometheus support

Change-Id: Ib870ed7eb305ef1ebbf6a7cedabc665c37c19171

* Add separate configs for testnet and devnet

Change-Id: I76b11d8940a8dc9935b3f276a008ed20ef60b850

* Update mainnet tokens to fix decimals

Change-Id: Iab018827766bc7748038b7be2f51342afb79b87c

* Let small enqueued VAAs go out when big ones can't

Change-Id: I7d3ef88d4579702d0c6ff4eaf5a8524799610ff6

* Tweak testnet config parameters

Change-Id: Id2c54151a7183ab3fb4af8060929198f6021ba4e

* Rework / enhancements from testnet testing

Change-Id: I1387b1d22667fa6ffe0bb1832dbc0b31196505d3

* Use known emitter maps

Change-Id: If330ee9d30ac3c2d1c6dca674f7777dc759de230

* Fix typo and out of date comments

Change-Id: I54a19792104ccc6ca023020303a710ef3ba18f74

Co-authored-by: claudijd <jclaudius@jumptrading.com>
2022-07-19 14:08:06 -04:00
Chirantan Ekbote 7a1b1344a1 node: processor: Make observation state generic
We need to reuse almost all of the gossip infrastructure for accounting
transactions, with the only difference being that accounting will use a
`Transfer` message rather than a `VAA`.

Make the observation stored in the processor state generic so that it
can be either a VAA or a Transfer.  The rest of the code is shared.
2022-07-19 10:51:15 +09:00
bruce-riley d7b7cefa99
Guardian support for Injective (#1327) 2022-07-06 10:19:57 -04:00
Bruce Riley b96ba36d25 Terra2 Mainnet Guardian Changes 2022-06-22 11:12:30 -04:00
tbjump 4575fe05d9
Better lint and formatting (#1263)
Enforce goimports, add tooling and documentation, and run it on the repo.
2022-06-21 12:18:16 -07:00
Evan Gray 5931368ed7 node: terra2 support 2022-06-21 10:47:16 -04:00
Bruce Riley dcce155f43 Acala mainnet deploy 2022-06-03 14:44:22 -04:00
bruce-riley 018908a420
Klaytn mainnet deploy (#1185)
* Klaytn mainnet deploy
2022-05-16 10:06:17 -04:00
Jeff Schroeder da0fb0ddf7 node/hack/repair_terra: token bridge messages only
Ensure that the sequence numbers are just for the terra token bridge.
2022-05-13 15:26:14 -04:00
Jeff Schroeder f1d28915f8 node/hack/repair_terra: add a rate limiter
Otherwise the terra fcd tells us to gfy after too many requests.
2022-05-13 15:26:14 -04:00
Csongor Kiss 68693689cf node/repair: allow multiple sequences in a tx 2022-05-13 15:26:14 -04:00
Jeff Schroeder e70830002e repair_eth: work better when messages are skipped
Otherwise there can be a nil pointer deref for polygon when it skips
the VAA.
2022-05-13 13:22:55 -04:00
Bruce Riley d266438654 Celo mainnet deploy changes 2022-05-13 13:11:28 -04:00
bruce-riley a94a3cf2fb
Karura mainnet deploy (#1142)
* Start of move to mainnet

* Rework to safe mode check

* Update truffle-config

* Should not check safe mode in dev mode
2022-05-02 14:28:17 -04:00
Jeff Schroeder 0981dc19bc node/hack/repair_eth: skip missed message
Otherwise, the script will run until the max number of times and
never complete.
2022-04-29 07:21:03 -04:00
Jeff Schroeder 542acdf0d6 node/hack/repair_eth: more cat & mouse for polygon
* Added the `User-Agent` header to all requests to the block explorer
  so cloudflare's browser check is happier.
* Add an option to sleep between loops hitting the block explorer. More
  than 1 / second on polygonscan gets you blocked temporarily.

These changes are required to repair missed messages on polygon.
2022-04-29 07:21:03 -04:00
bruce-riley d04328b858
Celo testnet support (#1051)
* Initial Celo support

Change-Id: Iee98ee29a8b09af9ca76945792b750d96a170702

* Watcher support

* Fix high level make file

* Remove node binary committed by mistake

* Port change from EthWatcher to CeloWatcher

* Use docker to build ABIs

* Refactor watcher to eliminate massive redunancy

* Fix lint-and-tests to handle multiple defs on link

* Minor code cleanup

* Celo should use ganache in devnet

* Prep for mainnet deploy

* Code review rework

* Remove celo from sdk package.json
2022-04-28 12:20:38 -04:00
Jeff Schroeder a4c91d8f1b
Minor updates to repair_eth (#1120)
* node/hack/repair_eth: use a cookiejar for http

Otherwise, explorers like polygonscan, which implement a cloudflare WAF,
will block all requests.

* node/hack/repair_eth: add -showError flag

When an explorer is having problems or blocks a repair http request, it returns an error like:

    Failed to get current height: failed to decode response: invalid character '<' looking for beginning of value

This allows showing the actual response body to better troubleshoot the problem.
2022-04-27 14:33:43 -04:00
bruce-riley 05d84b4d6f
Add fantom to repair script (#1109)
Change-Id: Ic81b1082b72bb0cd66d9f15e951f6df2b92972ad
2022-04-26 07:50:07 -05:00
Paul Noel 763f80b45d
Repair eth for Aurora (#1065)
* node/hack/repair_eth: update for Aurora

Change-Id: Ic073cb7806ce611a0d0c742b864dfa5cd57f39da

* bridge_ui/utils: update for Aurora

Change-Id: I19089355910d1252d139267ce1398e1dcdd46095

* node/hack/repair_eth: add comments

Change-Id: I2361d317e24446590334d39bc2e52f68d75932c5

* node/hack/repair_eth: fix comments

Change-Id: I4fd3e04d74f4f0b1c3731c556a106663bb36b66d
2022-04-11 16:27:20 -04:00
Leopold Schabel d68232c447
hack/repair_solana: improve sequence guessing (#1003) 2022-04-11 21:07:09 +02:00
Jonathan Claudius 8dd3536fb2
Add README and crypto/rand for encrypt.go tool (#1057) 2022-04-08 19:37:53 -04:00
Leopold Schabel c9ae0880fa
node/hack/repair_eth: add max retries to skip over broken entries (#977)
commit-id:b1119b32
2022-03-08 20:51:55 +01:00
Paul Noel 3b10f124a1
node/hack/repair_terra re-observation (#871)
* node/hack/repair_terra added file

Change-Id: Ie015cb3364c56211ba51550cfae307836071532a

* node/hack/repair_terra code inspection fixes

Change-Id: I91dfeeedf7d7f04591cc8ef47fde52f933a45d0a
2022-02-21 17:43:40 -05:00
Paul Noel 7af9d22221 node/hack/repair: oasis support
Change-Id: I2b7b825ab49dad68e7072a4f488bbc411cbaabd6
2022-02-15 17:20:03 -05:00
Leo d2d6128c12 node/hack/repair_eth: add tx replay via Etherscan API
commit-id:023a6afb
2022-02-15 16:47:20 -05:00
Leo 799c1e9942 node/hack/repair: rename to repair_solana
commit-id:9cf72c8a
2022-02-15 16:47:20 -05:00
Leo de7cfe6cc7 node/hack/findmissing: add simple script to find all missing messages
This is different from "admin find-missing-messages" insofar as
having a hardcoded list of emitters.

commit-id:b934f672
2022-02-15 16:47:20 -05:00
Leo 8bf1176401 node/pkg/common: add list of known mainnet emitters
commit-id:f4d2389f
2022-02-15 16:47:20 -05:00
Leo 93ee5f3d31 node: remove duplicated public RPC node definitions
commit-id:452deba7
2022-02-15 16:47:20 -05:00
Leo 632e8acbee node/hack/repair: remove state directory
commit-id:74906ad4
2022-02-15 16:47:20 -05:00
Leo c28b492e03 node: add reobservation requests for Eth chains
commit-id:e4fa6adf
2022-02-12 01:06:06 +01:00
Leo 8f63e123a5 node/pkg/ethereum: add MessageEventsForTransaction
This retrieves a single transaction's MessagePublication events. This
has the same security assumptions than listening to the log events -
namely, ensuring the right contract has emitted them.

Tested locally with a mainnet transaction.

commit-id:64347ecc
2022-02-12 01:06:06 +01:00
Leo 7144d6b538 node/hack: add repair script
Fetches the list of missing Solana messages, finds the corresponding
on-chain transactions, sends an ObservationRequest to the network
and waits for consensus.

Hacky one-off script with a couple of edge cases (doesn't filter
failed txs, crashes if the boundary is not a valid tx). We can later
refactor this and add it to the find-missing-messages admin command
if we keep needing it.

commit-id:9b338dfa
2022-02-08 12:41:48 +01:00
Leo af2bd5be36 node/cmd: add public telemetry for logs
commit-id:582fc943
2022-01-11 15:10:12 +01:00
Leo 26a946fef7 node/pkg/solana: update recovery.cfg
commit-id:facc30f4
2022-01-11 15:10:12 +01:00
Leo 8aedb5b315 hack/lookup_txes: be smarter about searching within a range
commit-id:944810ec
2021-12-20 16:05:22 +01:00
Leo 9cc37e3923 node/notify/discord: mention node operator groups
Change-Id: I891adf9342c84efefb8f4f908ae0b2881b118d7e
2021-11-05 15:42:15 +00:00