Commit Graph

256 Commits

Author SHA1 Message Date
Paul Noel a66d208af6 node: remove pre-bedrock optimism code 2023-06-13 08:51:50 -04:00
bruce-riley ee676b28d1
Node: Remove wormchain watcher (#3074)
Change-Id: I498099496791859f6f5a39cc0642a49239a09972
2023-06-12 13:49:43 -05:00
tbjump e432378fbb node: move adminrpc from guardiand into own package 2023-06-06 09:13:48 -07:00
bruce-riley 07a01b6511
Node: Add wormchain deploy admin commands (#2964)
* Node: Add wormchain deploy admin commands

Change-Id: Id9c7fa75acf545ba8bb5be5184690f14b66bbe49

* Node: Fix parsing of WasmHash

Change-Id: If44badaecf96df8aed2625a99cecdcb4a09ef6ce

* Fix lint error

Change-Id: Ic4822034b66724203f021883e583dec61244cbd7
2023-06-02 10:06:34 -05:00
tbjump e7abd1d968 node: unify environment config with common/mode.go 2023-05-25 11:11:33 -07:00
tbjump a5a37495bb node: log golang version on startup 2023-05-24 09:52:58 -07:00
tbjump db462668a6 node: bugfix: inverted meaning of publicRpcLogToTelemetry 2023-05-24 09:52:58 -07:00
tbjump 6a231e8149 node: add options --telemetryServiceAccountFile and --telemetryProject 2023-05-24 09:52:58 -07:00
Nikhil Suri ee7d0765f9
sdk: add new governance VAA for IbcReceiverUpdateChainConnection (#2590)
* sdk: add new governance VAA for IbcReceiverUpdateChainConnection

* Enforce connectionId to be 64 bytes, add tests in rust sdk

* Update PrependBufferBytesFixed to LeftPadBytes, add template function + command for IBC governance VAA

* Add >64 length check for ibcReceiverUpdateChainConnectionConnectionId in runIbcReceiverUpdateChainConnectionTemplate command

* Update naming of governance VAA to reflect new mapping of channelId -> chainId

* Add TargetChainID to admin commands

* Node: Add IBC update channel to admin verify cmd

---------

Co-authored-by: Bruce Riley <briley@jumptrading.com>
2023-05-12 06:11:21 -04:00
tbjump 91fd0e0517 node: fix linter warnings 2023-05-05 07:13:40 -07:00
tbjump 28fb0f0ec8 node/adminserver: fix linter warnings 2023-05-05 07:13:40 -07:00
bruce-riley cfeda55cce
Node/Gacct: Fix deadlock when publishing xfers (#2843)
* Node/Gacct: Fix deadlock when publishing xfers

Change-Id: Ia4dd4eebb9c02fa81a98f368c527e15cca8574ac

* Fix lint errors

Change-Id: Iaef3fefca87de298edbbf43009584c30252b9fe7
2023-05-04 09:57:30 -05:00
bruce-riley 67c7c86419
Node: Add Sui mainnet support (#2826)
Change-Id: I6ea3e345c2e907f738fc82298d5497ce858f55fd
2023-05-02 09:24:57 -05:00
bruce-riley e695fad0be
Node: Don't lock memory in testnet (#2780)
* Node: Don't lock memory in testnet

Change-Id: Id32ce1af82f50a947e80949a54232e11ee7c48ea

* Don't lock in ram for devnet either

Change-Id: I4e3817e726b535661727d05a0c5f65cd613c4900
2023-04-26 10:05:16 -05:00
bruce-riley 8a866c3c1d
node: sei testnet support (#2660)
* Sei testnet support

* Set contract addresses

* node/pkg/watchers: add RunWithScissors

* SDK tweaks

* node: revert "node/pkg/watchers: add RunWithScissors" (#2620)

This reverts commit 9b8bed4dbf.

* Make Sei use IBC watcher

---------

Co-authored-by: Paul Noel <panoel007@gmail.com>
Co-authored-by: Paul Noel <35237584+panoel@users.noreply.github.com>
2023-04-18 09:34:01 -04:00
Paul Noel 40a638de4c node: add sui watcher for devnet and testnet only 2023-04-18 09:03:09 -04:00
bruce-riley 53703d8ffc
Node: ibc watcher (#2566)
* Node: IBC watcher

* Rework event parsing, add tests

* Config changes

* Config changes

* Start converting to tendermint

* More functionality

* Minor test changes

* Formatting changes

* Code review rework

* Rework event parsing

* More rework

* More rework

* Tweak some log levels

* More rework

* More rework

* Don't enable Terra2 over IBC

* Fix issue with error reporting

* More review rework

* Switch from connection IDs to channel IDs

* Remove unused errC from go routines
2023-04-17 09:54:36 -05:00
tbjump 58f55288f3 node: enforce msg.EmitterAddress != 0 2023-04-11 12:55:49 -07:00
bruce-riley a846036b6e
Node/Acct: Logging changes (#2574)
* Node/Acct: Logging changes

* Missed some!

* Switch to using logger.With()

* Still missed some.

* Missed one more

* Yet again

* Missed a few

* Don't need .With in AcctGetData
2023-04-06 13:32:00 -05:00
bruce-riley f9758b38e7
SDK/Node: Sepolia deployment (#2567) 2023-04-03 09:24:17 -05:00
bruce-riley a52acb52a3
Node: Generate readiness labels programmatically (#2540)
* Node: Generate readiness labels programmatically

Change-Id: Ica03a7cc314b92a0521afad053ffa20f03ff6529

* Move obsolete  labels into test code

Change-Id: I682ec4ca2ea36be1f53b3f6d39f2da4191e2805f

* Code review rework

Change-Id: Idc8f17265a0b6ef357ac98707d20cc2486001520

* Redesign based on feedback

* Near tests failing

* Fix panic in solana
2023-03-27 12:50:21 -05:00
Conor Patrick 50a5977baf node: fix deserialization issue for modify_message 2023-03-23 18:10:04 -05:00
bruce-riley 18e8e14402
Node: Circle Integration governance fixes (#2507) 2023-03-16 09:13:50 -05:00
Conor Patrick 6324a239f9 accountant: address comments from #2513 2023-03-16 08:48:25 -05:00
Conor Patrick 0f123dedb1 node: use new action and module for accountant modify_balance 2023-03-16 08:48:25 -05:00
bruce-riley 0dc0aefa08
Node/acct minor fixes (#2502)
* Node/Acct: logonly should not block anything

Change-Id: Ie398596fcaf296a37a9f9a447f70a12d16c5dbe9

* Node/Acct: Increase audit interval

Change-Id: I90b59cb6a353d98a7eb210a6802946d082e0eda6

* Node/Watcher: Log txHash when reobs fails

Change-Id: I1b0b5d9ca53097d8f766264fb225f7592bd76f5b

* Remove unnecessary log message

Change-Id: I838f5e19d705cb086856199e1316b6e9592ced41

* Remove reference to devnet from log msg

Change-Id: Iffaf850751d742b253a03611b4f75f5af183c10e

* Tweak log msg

Change-Id: I98e48eed99058903a0b26c6db67bb0a06bad365b
2023-03-14 09:32:46 -05:00
Evan Gray be7ac27130 node: remove unnecessary lcd dependency for acct 2023-03-07 13:11:17 -05:00
bruce-riley 5023ffec2b
Node: Circle Integration governance support (#2444)
* Node: Circle Integration governance support

* Fix spacing

* Code review rework
2023-03-06 13:23:48 -06:00
Hendrik Hofstadt 36c34bec1c
node: remove unused legacy code (#2441)
* node: remove discord notifier

Change-Id: If309974f73be35bddb3004e62ff9a0e1d06efab8

* node: remove legacy devnet features

Change-Id: I6f9dac21cb44846f638996c3aa5eb8376794cd78
2023-03-03 16:14:39 +01:00
tbjump 73841556ba
node: add request logging with --publicRpcLogDetail and --logPublicRpcToTelemetry (#2390)
Release Notes
New guardiand cli options:
--publicRpcLogDetail [string]
none -- no logging of gRPC requests at all
minimal -- only log gRPC methods
full (default) -- additionally log user-agent and gRPC request payload
--logPublicRpcToTelemetry [bool]
false do not send publicrpc logs to Google Cloud Logging
true (default) -- (current behavior)

Co-authored-by: tbjump <>
2023-03-01 07:10:04 -08:00
Conor Patrick d4e0445785 node: calculate digests using Vaa type or using message prefix 2023-02-27 08:52:42 -06:00
Paul Noel ae7de3d575 node: Bedrock changes 2023-02-23 22:26:28 -05:00
marcus-jump 6a1271c824
node/p2p: Protect P2P peers (#2344)
Co-authored-by: marcus-jump, tbjump
2023-02-23 15:51:27 -08:00
bruce-riley a2d09dad4b
Node: Base watcher support for testnet (#2424)
* Node: Base watcher support for testnet

* Add a comment

* Add base to rpc dump command
2023-02-23 18:37:35 -05:00
Evan Gray 718cd3b1b3 node: new message support in vaa verify 2023-02-17 13:46:27 -05:00
Conor Patrick bbec427145 accountant: minor cleanup 2023-02-16 18:03:47 -05:00
Paul Noel b1525333eb node/cmd: add optimism 2023-02-16 15:17:43 -06:00
Conor Patrick bd7406afbf node: add keccak256 as an admin command 2023-02-16 09:36:09 -06:00
Conor Patrick b35480f966 accountant: address review comments for modify governance vaa 2023-02-15 06:23:25 -08:00
Conor Patrick 4640b6ae73 node: add modify governance vaa for token bridge 2023-02-15 06:23:25 -08:00
Paul Noel ca72e25a48 node: add dump-rpcs command 2023-02-13 14:47:30 +00:00
Conor Patrick 7e982cb032 wormchain: address comments for migrating wasmd contracts 2023-02-07 12:15:11 -06:00
Conor Patrick aac92a19e7 wormchain: add migrating contracts with vaa 2023-02-07 12:15:11 -06:00
Bruce Riley 04f5415c84 Node/Acct: audit stuck pending
Change-Id: I643ce699b5d5e21129d957dae8677e8f2fccdbfd
2023-01-29 23:54:43 -05:00
Jeff Schroeder cd93c57d66 node: strip leading 0x for send-observation-request
This allows copying and pasting transactions from montioring tools or
an explorer to be reobserved.
2023-01-23 10:32:15 -05:00
tbjump 5323453b81
node: add channel read/write type constraints (#1931) 2023-01-20 13:15:13 -08:00
jumpsiegel 3580f51ccf
node/pythnet: websocket subscription (#2219)
* node/pythnet: websocket subscription
2023-01-18 11:24:55 -05:00
Kevin Peters 0a7f0dabf5 node: New default current guardian set index (3) 2023-01-17 11:12:58 -06:00
bruce-riley 09aee3cfde
Node/Acct: Renaming (#2245)
Change-Id: I20783b4ae4e445a54d45280e19332af87336a92a
2023-01-17 07:30:50 -06:00
bruce-riley 499c8424e4
Node: Initial guardiand changes for accounting (#2181)
* node: guardiand support for accounting

Change-Id: I97fe1f6d6d71a5803881ff4c793e3c30f22b14d8

* Node: Tie accounting into the guardian

Change-Id: I31600d18176f516b75b3eb046fd7ac6e54e1b133

* Node: accounting tests and metrics

Change-Id: Ieb139772edf464ed1ab202861babeaf0f857ad6b

* Node: minor tweak to accounting metrics

Change-Id: Iad2b7e34870734f0c5e5d538c0ac86269a9a4728

* Node: load accounting key

Change-Id: I228ce23e63b556d751000b97097202eda48650aa

* More work in progress

Change-Id: I85088d26c05cf02d26043cf6ee8c67efd13f2ea4

* Node: send observations to accounting contract

Change-Id: Ib90909c2ee705d5e2a7e6cf3a6ec4ba7519e2eb1

* Node: Fix lint error in accounting tests

Change-Id: Id73397cf45107243a9f68ba82bed3ccf2b0299b5

* Node: Need to copy libwasmvm.so

Change-Id: I2856c8964ca082f1f4014d6db9fb1b2dc4e64409

* Node: Rename wormchain to wormconn

Change-Id: I6782be733ebdd92b908228d3984a906aa4c795f7

* Node: moving accounting check after governor

Change-Id: I064c77d30514715c6f8b6b5da50806a5e1adf657

* Node: Add accounting status to heartbeat

Change-Id: I0ae3e476386cfaccc5c877ee1351dbe41c0358c7

* Node: start of accounting integration work

Change-Id: I8ad206eb7fc07aa9e1a2ebc321f2c490ec36b51e

* Node: More broadcast tx stuff

Change-Id: Id2cc83df859310c013665eaa9c6ce3033bb1d9c5

* Node: Can actually send a request to accounting

Change-Id: I6af5d59c53939f58b2f13ae501914bef260592f2

* Node: More accounting tx broadcast stuff

Change-Id: If758e49f8928807e87053320e9330c7208aad490

* Node: config changes for accounting

Change-Id: I2803cceb188d04c557a52aa9aa8ba7296da8879f

* Node: More accounting changes

Change-Id: Id979af0ec6ab8484bc094072f3febf39355351ca

* Node/Acct: Use new observation request format

* Node/acct: use new contract interface

* Node/acct: fix minor copy/paste error

* Node: Clean up comments and lint errors

* Node: disable accounting in dev by default

* Node: Fix test failure

* Remove test code

* Switch messages to debug, rename Run()

* check for "out of gas"

* Use worker routine to submit observations

* Rename mutex to reflect what it protects

* Create handleEvents func

* Remove FinalizeObservation

* Node/Acct: Trying to use tm library for watcher

* Node/acct: switch watcher to use tm library

* Node/Acct: Need separate WS parm for accounting

* Node/Acct: Fix compile error in tests

* Node/Acct: Minor rework

* Node: add wormchain as a dep to remove stale code

* Node/Acct: GS index is not correct in requests

* Node/Acct: Peg connection error metric

* Node/Acct: Add wormchain to node docker file

* Node/Acct: Fix for double base64 decode

* Node/Acct: Change public key to sender address

* Node/Acct: Fix lint error

* Node/Acct: key pass phrase change

* Node/Acct: Pass guardian index in obs req

* Node/Acct: No go on submit observation

* Node/Acct: Don't double encode tx_hash

* Node/Acct: Remove unneeded base64 encoding

* Node/Acct: handle submit channel overflow

* Node/Acct: Added a TODO to document a review issue

* Node/Acct: Fix for checking if channel is full

Co-authored-by: Conor Patrick <conorpp94@gmail.com>
2023-01-16 06:33:01 -06:00
tbjump 5c41d343ca node: add logging for public rpc requests 2023-01-14 15:07:30 -05:00
Josh Siegel 3de4f875dc node/cosmwasm: restructure a little
node/cosmwasm: convert from gorilla to nhooyr
2023-01-13 07:33:50 -06:00
Josh Siegel 1178f6ed6c node/ether: scissors updates 2023-01-12 14:46:45 -06:00
Hendrik Hofstadt fc64658ce8
node: add admin command to sign existing VAAs (#2183)
* node: add admin command to sign existing VAAs

Change-Id: Ia59c077db1817a3f35ec30544c307448e01455ca

* node: add tests for signing of existing VAAs

Change-Id: I16fca1181fc9d96abb4ebdfad91bc686da517090
2023-01-10 17:54:35 +01:00
Josh Siegel b3d2f838cd algorand/recover: Address #2192 2023-01-05 05:05:40 -06:00
Josh Siegel 04ed27cb3f node: Simplify WrapWithScissors and make AlgorandWatcher use it 2023-01-05 05:05:40 -06:00
Josh Siegel 4ddeca4dbd node: switch to use recovery and cleanly restart watcher 2023-01-04 13:49:32 -06:00
kev1n-peters c94ad13c8c
node: Injective mainnet support (#2084) 2022-12-07 13:43:44 -06:00
Nikhil Suri 0e7c085d71
node: inject wormchain cosmwasm governance messages (#2057)
* node: inject wormchain cosmwasm governance messages

* Use nested hash for defense in depth

* Use keccak.Reset() instead of creating new hash objects

* fix msg_server_wasmd_test

* Updated based on jynnantonix comments

* Check return value of binary.Write

* Include actual error in binary.Write panic case
2022-12-06 11:10:32 -08:00
Paul Noel 976d8430c6
Optimism finality (#2037)
* node/pkg: update optimism finality

* node/pkg: fix tilt test

* node/pkg: CI changes
2022-12-02 07:38:45 -06:00
Conor Patrick 63a5654c02 wormchain: add admin-sign command to continue wormchain validator enrollment 2022-11-30 09:23:19 -06:00
jumpsiegel 091ee0877d
WH-1934: upgrade golang to 1.19 (#1941)
* upgrade to golang 1.19.3

Co-authored-by: tbjump <>
Co-authored-by: tbjump <unknown>
2022-11-28 07:48:27 -06:00
tbjump cddfe74b67
node: forward public REST requests to public gRPC (#1695)
* forward public REST requests to public gRPC

* handle publicPRC address differently

* add config flag publicGRPCSocketPath

* start publicrpcsocket and forward publicweb to publicrpcsocket

* clarify error message

* add --publicGRPCSocket to testnet

Co-authored-by: tbjump <>
2022-11-18 07:36:22 -08:00
jumpsiegel 402a2d1a30
Basic Sui watcher support (#1951) 2022-11-18 08:14:22 -06:00
Josh Siegel 3413f09b8f WH-1921: stub out btc chain @ Closes #1921 2022-11-15 14:45:55 -06:00
bruce-riley ee1868205d
Node: Rework min/max confs for EVM watchers (#1849)
* Node: Rework max/min confs for EVM

* Increase maxWaitConfirmations
2022-11-14 20:38:04 -05:00
bruce-riley 6de97de242
Node: Neon Watcher Redesign (#1899)
* Node: Neon Watcher Redesign: Issue #1898

* Minor code tweaks

* Get rid of log message

* Updated a comment
2022-11-14 08:07:45 -06:00
bruce-riley ce1ca0b155
Node: Polygon watcher redesign (#1858) 2022-11-11 08:12:16 -06:00
bruce-riley 9ae4186e68
Node: Simplify unsafeDevMode testing (#1892)
Change-Id: Ieca0f5d2765ee55b716bc4015900fd52f79d1dfe
2022-11-10 16:27:39 -06:00
bruce-riley 074c98a952
Optimism mainnet deploy (#1869)
* Optimism mainnet deploy

* node: added OP token to manual_tokens

* Add to readiness

* File should not have been committed

* Remove readiness since it goes with watcher

* Allow optimism watcher in mainnet

* Add to devnet config

Co-authored-by: Christine Eun <ceun@jumptrading.com>
2022-11-10 13:56:38 -06:00
bruce-riley bc1a740cfa
node: optimism watcher support (#1746) 2022-11-10 07:50:08 -06:00
Evan Gray 9fa943eecd node: support for heartbeat spying fixes #1768 2022-10-31 11:40:55 -04:00
bruce-riley 61454a39bd
Node: remove support for Ropsten (#1818)
* Node: Remove support for Ropsten

* Node: Remove support for Ropsten

* Fix build  error
2022-10-31 09:14:01 -05:00
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 16f79539b8 Should not have checked in unsafeDevMode to false 2022-10-27 12:43:01 -04:00
Bruce Riley 6a6c258015 Node: arbitrum watcher redesign 2022-10-27 12:43:01 -04:00
Conor Patrick 91bd9a5c36 rename all wormholechain and wormhole-chain references 2022-10-24 17:59:52 -04:00
Hendrik Hofstadt e45e04bb09
node: move wormchain watcher (#1783)
Change-Id: If26681fe1a19396032947d22587d4c899153849c
2022-10-24 18:01:32 +02:00
jumpsiegel 6f38e42119
dev.v2: Modernize algorand watcher and improve logging (#1766) 2022-10-24 09:08:05 -05:00
Paul Noel 40279fe668
node/cmd - refactor (#1762)
* node/cmd - refactor

* node/cmd - add logging

* node/cmd - refactor

* node/cmd - add logging

* node/cmd: address inspection comments
2022-10-20 11:43:43 -05:00
ckeun 557a32b8f4
node: Added gov gossip support to p2p (#1755)
* node: Added gov gossip support to p2p

* node: Added nil parms for spy & guardian
2022-10-19 22:32:05 -05:00
Josh Siegel 6b670e3abf aptos/watcher: allow it to run in mainnet 2022-10-15 15:17:36 +01:00
Josh Siegel 2a31454d29 aptos/watcher: Update comments and errors 2022-10-15 15:17:36 +01:00
Josh Siegel 1a7098553c aptos/watcher: aptos and sui were missing from a bunch of spots 2022-10-15 15:17:36 +01:00
Josh Siegel daf689cf2a node: aptos watcher 2022-10-15 15:17:36 +01:00
Jeff Schroeder ab9252efab Fix xpla readiness for mainnet
The xpla readiness was correctly registered for testnet, but not for
mainnet. This fixes that small omission.
2022-10-12 21:59:40 -04: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
tbjump d5368b32c4
Revert "node: governor listen to quorum gossip (#1487)" (#1682)
This reverts commit 0dbd0b6628.
2022-10-06 07:57:25 -05:00
bruce-riley dd2b8e2bd2
node: poller timeout (#1670)
* node: poller timeout

Change-Id: Ia324f1ac482fa9c5bea2b501970f0b22b16e67ce

* Add a comment explaining readiness change

* Add comment explaining why we are using a timeout

* Retry if polling fails
2022-10-06 00:19:31 -05:00
Paul Noel 9657f41561
node: XPLA watcher (#1676) 2022-10-05 08:05:31 -05:00
Chirantan Ekbote 7f4b0d1a09 Wormhole chain integration
This is a squashed commit of all the changes needed to integrate
wormhole chain into the main repo.
2022-10-03 17:34:42 +09:00
bruce-riley 0dbd0b6628
node: governor listen to quorum gossip (#1487)
* governor listen to quorum gossip

* governor listen to quorum gossip

* Fix build error in tests

* See p2p from other guardians in devnet

* Fix test broke during merge

* Change delete function being used

* Don't reload duplicates on startup
2022-09-30 12:28:26 -05:00
Evan Gray 6a8ac2304f node: don't require algorandIndexerToken 2022-09-30 09:07:53 -04:00
Bruce Riley aebbbdcb9a Code review rework 2022-09-29 22:38:27 -04:00
Bruce Riley d45a1e95cb Implement finalizer 2022-09-29 22:38:27 -04:00
Bruce Riley 0b6cc9ab44 Basic guardian support 2022-09-29 22:38:27 -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
bruce-riley fb9f93e892
node: add command to purge pythnet VAAs (#1636)
* Add command to purge pythnet VAAs

* Add test for purging a single emitter address

* Fix lint error

* Using the wrong delete primative

Change-Id: I80d5294c17279d4e49220d81807e5964a5591721
2022-09-26 09:04:30 -05:00
Jeff Schroeder 239e27ca91
Remove solana and pythnet websocket flags (#1649)
They're both unused since the solana watcher uses http and not a
websocket for getting info.
2022-09-26 14:56:39 +01:00