Commit Graph

88 Commits

Author SHA1 Message Date
bruce-riley 669e2bc40e
CCQ/Node: Guardian Changes (#3423)
* CCQ/Node: Guardian Changes

* Code review rework
2023-10-12 13:20:42 -05:00
bruce-riley 41fa0ecc0e
Node: Don't request reobservation on reobservations (#3397)
* Node: Don't request reobservation on reobservation

* Acct should handle reloading old pending transfers
2023-09-29 10:42:44 -05:00
bruce-riley 06d8f2d268
Node: Keygen changes (#3401) 2023-09-27 12:06:12 -05:00
bruce-riley 1d7976917a
Node: Add StartRunnable to scissors (#3322) 2023-08-25 11:52:16 -05:00
bruce-riley bd89e4e3ab
Node: Processor delay metrics (#3210) 2023-07-19 10:23:16 -05:00
bruce-riley c9c5fa0598
Node: Remove more info logging (#3171) 2023-07-06 09:33:12 -05:00
tbjump 149d898ac6 node: refactor guardiand/node.go 2023-06-26 07:07:37 -07:00
tbjump a1ce981b49 node: cleanup buffer size configuration 2023-06-26 07:07:37 -07:00
tbjump 697767d3a5 node: rm dep github.com/test-go/testify 2023-06-13 11:07:43 -04:00
tbjump e7abd1d968 node: unify environment config with common/mode.go 2023-05-25 11:11:33 -07:00
tbjump 91fd0e0517 node: fix linter warnings 2023-05-05 07:13:40 -07:00
bruce-riley c8e18ba72c
Node: RunWithScissors should not hang on error if no listener (#2649)
* Node: RunwithScissors should not hang

* Tests should check error text

* Fix data race in tests

* Add comments to explain the tests.
2023-04-18 09:05:20 -05: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
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
bruce-riley 2658868ba6
Node: Support VAAs with large payloads (#2518)
* Node: Support VAAs with large payloads

Change-Id: Ie09bdc8ea0813ee90f9b686f3fe95365baa4014f

* Clean up tests

Change-Id: I983a40a2e7763271c8212ac18455b8b45e48fd3e
2023-03-14 14:32:30 -04: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
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
tbjump c6745e50f8 node/grpc: add logging of x-forwarded-for to gRPC middleware 2023-02-14 06:54:33 -08:00
Bruce Riley e39891bbfd Node: Move setting of scissors metrics up a line 2023-01-29 14:07:13 -05:00
Bruce Riley c585810766 Node: Initialize scissors metrics
Change-Id: I018a663aa5b9ea902f934ab71c23b1786c8aeeb0
2023-01-29 14:07:13 -05: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
Josh Siegel 0872f4ff16 algorand/recover: format fix 2023-01-05 05:05:40 -06: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
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
jumpsiegel 402a2d1a30
Basic Sui watcher support (#1951) 2022-11-18 08:14:22 -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 e1a6a1f85a
Node: governor not handling duplicates properly (#1772)
* Node: governor not handling duplicates properly

* Minor tweaks

* Logging changes to help debugging
2022-10-27 14:32:09 -04:00
Josh Siegel daf689cf2a node: aptos watcher 2022-10-15 15:17:36 +01: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 0b6cc9ab44 Basic guardian support 2022-09-29 22:38:27 -04: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
Hendrik Hofstadt 5993a231fa
node: prevent reobservation of unreliable messages (#1627) 2022-09-26 13:11:22 +02:00
Chirantan Ekbote 9989730d8f node: common: Fix racy test
Use a channel instead of concurrently accessing the same variable from 2
different goroutines.
2022-09-21 09:47:15 +09: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
Bruce Riley df25eb737c Fix algorand token bridge in guardian
Change-Id: I1612ac29664f203407dea553a54962e5a8930c5d
2022-09-07 10:42:43 -05:00
Chirantan Ekbote d0eb7dd96c node: Fix formatting with go 1.19
Produced by running `goimports -w .` in the node/ directory.
2022-09-07 10:02:35 +09:00
Chirantan Ekbote 9e92f9dbbf node: Update libp2p to v0.22.0
Needed to build with newer go toolchains (up to 1.19).  Many of the
libp2p subpackages have been merged as sub-directories of the main
libp2p package so update the imports to use the newer versions.
2022-09-07 10:02:35 +09:00
bruce-riley 4a42c29c0f
Near mainnet deploy (#1467)
* Initial commit

* Updated mainnet_tokens with Near token

* Near CLI changes

* More CLI tweaks

* Revert ethers in cli

* Fix lint error

* Testnet emitter is wrong

Co-authored-by: Christine Eun <ceun@jumptrading.com>
2022-08-26 12:46:37 -04:00
Chirantan Ekbote 4712a6f774 node/pkg/common: Fix race condition in PostObservationRequest
Any goroutine can push into a channel so the current implementation has
a race condition where the channel can become full immediately after the
length check, causing the subsequent send on the channel to block.

Fix this by wrapping the send on the channel with a select block.
Control will fall through to the default case only if the actual send
operation blocks, avoiding the potential race with other goroutines.
2022-08-24 17:59:42 +09:00
Paul Noel eae0b51d37
Algorand mainnet deploy (#1434)
* algorand mainnet deploy

* Changes to sdk/js

* Update sdk changlog

Co-authored-by: Bruce Riley <briley@jumptrading.com>
2022-08-16 10:14:48 -05:00
bruce-riley 99fb46d549
Don't allow obs reqs if the queue is full (#1429)
Change-Id: Ifb0d038fa3adeddc6226e2289fe9dbfc8e39b4e7
2022-08-15 07:33:45 -05:00
jumpsiegel 3f965da33b
node: add near support (#1397)
* node: add near support

* Tweaks suggested in zoom review

Co-authored-by: Bruce Riley <briley@jumptrading.com>
2022-08-05 13:49:16 -04:00
Evan Gray e0fd3e788f
node: pythnet testnet support (#1380) 2022-07-28 12:30:00 -05:00