Commit Graph

69 Commits

Author SHA1 Message Date
bruce-riley 04a13542d1
Node: Logging cleanup (#3888)
* Node: Logging cleanup

* Code review rework

---------

Co-authored-by: Bruce Riley <bruce@wormhole.labs.xyz>
2024-04-19 13:22:56 -05:00
Evan Gray fcabf0c99e node: Don't accept replayed heartbeats from other peers 2024-04-11 13:59:36 -04:00
Martin Vejmelka b6afbd7154 fix: lifted gossip address override our of AddrsFactory hook
This runs validity checks on the gossip address override only once and avoids spamming the log.
2024-03-31 15:42:04 -04:00
Jeff Schroeder 683c5dfb59 node: a few minor spelling cleanups 2024-03-31 15:42:04 -04:00
Jeff Schroeder a4882e12be node: override the p2p advertised address
When behind a private network such as in the case of a guardian running
in Kubernetes, or behind a NAT, the default p2p setup doesn't work. It
looks at all addresses that it is listening on and advertises them on p2p
as the addresses for contacting the guardian. This patch is the first
step towards allowing specifying a custom ip address to be advertised on
the gossip p2p network.

For example, a guardian running inside kubernetes can post a reserved ip
address of the incoming ingress/load balancer that sends the traffic in
to their guardian.
2024-03-31 15:42:04 -04:00
bruce-riley d036e70740
Node/P2P: Add default bootstrap peers (#3852)
* Node/P2P: Add default bootstrap peers

* Rework

* Update ccqlistener
2024-03-22 14:27:03 -05:00
bruce-riley a858d76ef5
Node: Always cut over to quic-v1 (#3715) 2024-01-17 10:12:00 -06:00
Bruce Riley da3828354a Upgrade to libp2p v0.32.2 2024-01-17 10:08:14 -06:00
bruce-riley ebd1802956
Node/CCQ: Allow subscribes from bootstrap peers (#3604) 2023-12-14 13:24:31 -06:00
bruce-riley 36a82af4f0
CCQ/Node/EVM: Refactor (#3542)
* CCQ/Node/EVM: Refactor

* Code review rework
2023-11-28 08:51:30 -06:00
Bruce Riley 21a1129049 QUIC/Node: Set mainnet cut over time 2023-11-27 13:04:45 -05:00
Bruce Riley 5ed7035532 CCQ/Node: Remove excessive logging 2023-11-21 21:53:29 -06:00
bruce-riley c9a0b0a691
CCQ/Node: P2P message filter is wrong (#3547) 2023-11-17 10:59:06 -06:00
Kevin Peters 0cf298cabe node/pkg/p2p: Add GossipSub configuration to Components struct
This is useful for tweaking the gossip sub params for lower network
egress for example
2023-11-16 09:03:31 -06:00
Evan Gray b9b368540a node/ccq: allow guardian peers 2023-11-15 11:40:01 -05:00
Kevin Peters dfbdc9afb4 node/pkg/p2p: Prevent potential nil pointer dereference when processing heartbeats
Resolves the problem occurring when dereferencing a nil `gk *ecdsa.PublicKey`
during heartbeat processing. This issue arises when non-guardian processes
utilizing the p2p package set the key to `nil`.
2023-11-14 17:00:26 -06:00
bruce-riley 8c7d52f7fd
CCQ: Change network ID (#3523) 2023-11-14 10:46:38 -06:00
Evan Gray 22bf5f6987 ccq: better proxy peering 2023-11-09 15:47:14 -05:00
bruce-riley 90b3c3736e
Node: Update QUIC cutover time for testnet (#3463) 2023-10-24 14:26:19 -05:00
bruce-riley c991d991db
Node: QUIC Cut Over (#3431)
* Node: QUIC Cut Over

* New design

* Code review rework
2023-10-19 10:32:13 -05:00
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 7b41d1c468
Node: Minor P2P refactor to share init code (#3435) 2023-10-11 08:34:16 -05:00
bruce-riley 753185e042
Node: don't protect from self (#3318) 2023-08-23 16:20:57 -05:00
tbjump a1d5ac2b46 node/p2p: increase TESTNET_BOOTSTRAP_DHI to 350 2023-08-22 12:11:13 -07:00
tbjump e75848de66 node/p2p: Increase gossipParams.Dhi to 50 for testnet bootstrap node 2023-08-22 11:36:07 -07:00
tbjump a9a0912f96 node/p2p: set WithValidateQueueSize 1024 2023-08-22 10:02:24 -07:00
bruce-riley 1721fef95a
Node: Gateway Relayer (#3243) 2023-08-03 10:26:50 -05:00
bruce-riley bd89e4e3ab
Node: Processor delay metrics (#3210) 2023-07-19 10:23:16 -05:00
tbjump 0896d028bd node/p2p: fix capitalization of error messages 2023-07-18 11:39:32 -07:00
tbjump 7a0c03c846 node/node_test: Capture logs at INFO level instead of DEBUG 2023-07-18 11:39:32 -07:00
tbjump 9c668072ef node/p2p: Warn about channel overflows in GoTest mode 2023-07-18 11:39:32 -07:00
tbjump e07a750f90 node/p2p: graceful shutdown on context cancel 2023-07-17 06:32:19 -07:00
tbjump 81b0c2a335 node/p2p: Cleanup bootstrappers generation 2023-07-14 11:35:49 -07:00
tbjump c8fca0f5b9 node/p2p: Enforce connection to bootstrap node on startup 2023-07-14 11:35:49 -07:00
tbjump 372beb01fe node/p2p: Send first heartbeat after 2s to minimize test runtime 2023-07-14 11:35:49 -07:00
Ben Guidarelli 2d9af4d018
Node: Increase subscription buffer size from 32 to 1024 (#3185) 2023-07-11 13:55:50 -04: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
bruce-riley 4ce7099b4a
Node: Make IBC watcher publish wormchain version (#3080)
* Node: Make IBC watcher publish wormchain version

Change-Id: I9c43bbd3032181a03e53b3f145e53669bce3eb9f

* Minor comment change

Change-Id: I1333578d2303a4fe8c18abd72cb392988b245c3f

* Minor tweak to feature string format

Change-Id: I061f718fb0eb032b4264e996c2bc30747feb79bc
2023-06-13 12:38:29 -05:00
tbjump 697767d3a5 node: rm dep github.com/test-go/testify 2023-06-13 11:07:43 -04:00
bruce-riley 240230bd36
Node/Gov: Use component logging (#2667) 2023-04-18 11:38:24 -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
marcus-jump 6a1271c824
node/p2p: Protect P2P peers (#2344)
Co-authored-by: marcus-jump, tbjump
2023-02-23 15:51:27 -08:00
tbjump 71188d66d1 node/p2p: enforce freshness of heartbeats and correctness of guardianAddr 2023-02-13 07:51:03 -08:00
tbjump f4ec4bfde9 node/p2p: move createSignedHeartbeat to separate function 2023-02-13 07:51:03 -08:00
bruce-riley c84e37e403
Node/p2p: add sub too slow metric (#2361) 2023-02-13 10:11:17 -05:00
tbjump 5323453b81
node: add channel read/write type constraints (#1931) 2023-01-20 13:15:13 -08: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 17e732c741
node/p2p: enforce ObservationRequest signature payload >= 34 bytes (#1992)
Co-authored-by: tbjump <>
2022-11-28 10:42:39 -06:00