Commit Graph

315 Commits

Author SHA1 Message Date
bruce-riley d146f82bca
Node: p2p.Run interface change (#3996)
* Node: p2p.Run interface change

* Guardian should be able to set disableHeartbeatVerify
2024-07-01 10:01:13 -05:00
Jason Matthyser 627faa7e69
node: governor custom reset release timer delay (#3983)
* Update ChainGovernorResetReleaseTimerRequest protobuf message

* Add numDays argument to governor-reset-release-timer command

* Update governor backend to support numDays argument

* Address review comments

* Add test for resetReleaseTimerForTime()'s numDays parameter

* Address review comments

* Add adminrpc test for ChainGovernorResetReleaseTimer

* Replace hardcoded upper boundaries with maxResetReleaseTimerDays

* Update governor whitepaper to reflect the new argument

* Added default value to governor whitepaper

---------

Co-authored-by: Jason Matthyser <jason@asymmetric.re>
2024-06-20 08:40:03 -04:00
bruce-riley 0e2ba6270c
Node: Minor tweaks and spy improvement (#3974)
* Node: Minor tweaks and spy improvement

* Add tests
2024-06-10 08:29:27 -05:00
bruce-riley 624df192ad
Node/CCQ: Allow anything in testnet (#3966) 2024-06-07 08:13:07 -05:00
Evan Gray a9393500a1 node,sdk: Mantle mainnet 2024-05-31 09:13:52 -04:00
bruce-riley 1fe680dfb8
Deploy X Layer to mainnet (#3942) 2024-05-17 09:00:13 -05:00
Bruce Riley 15877b5413 Node/Devnet: Extract first guardian name from bootstrap peers 2024-05-06 16:31:06 -04:00
bruce-riley b93a54a547
Node/CCQ: Add gossipAdvertiseAddress option to proxy server (#3924) 2024-05-02 15:14:14 -05:00
bruce-riley e2693f281f
node: Use the env variable for run mode checks (#3923) 2024-05-01 17:17:31 -04:00
bruce-riley 4d8cd997e1
Node: Default devnet evm chains (#3913)
* Node: Default devnet evm chains

* Node: Allow non-evm chains to be optional
2024-05-01 11:02:44 -05:00
bruce-riley a4aad23507
Node: Add adminserver command to generate template for accountant modify balance (#3905)
* Node / Adminserver: Command to modify gacct balance

* Code review rework

* More rework
2024-04-30 10:42:11 -04:00
Bruce Riley bf5ceb5fba Add admin command tests 2024-04-29 12:30:41 -04:00
bruce-riley 73cbcabcec
Deploy Scroll and Blast mainnet (#3909)
* Deploy Scroll and Blast mainnet

* Rework
2024-04-26 10:04:29 -05:00
Evan Gray e6dfb9115e node: shorten hostname for load testing 2024-04-25 16:11:57 -04:00
bruce-riley 034c570b33
Node/Acct: Add parameter checks (#3907) 2024-04-25 15:10:01 -05:00
Csongor Kiss 9620fca895
node: generalised governance (#3895)
* node/admin: add generalised EVM call governance handler

Handles governance requests of the form:

```
current_set_index: 4
messages: {
  sequence: 4513077582118919631
  nonce: 2809988562
  evm_call: {
    chain_id: 3
    governance_contract: "0xD8E4C2DbDd2e2bd8F1336EA691dBFF6952B1a6eB"
    target_contract: "0xF890982f9310df57d00f659cf4fd87e65adEd8d7"
    abi_encoded_call: "6497f75a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000f890982f9310df57d00f659cf4fd87e65aded8d70000000000000000000000000000000000000000000000000000000000000140bebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebe000000000000000000000000000000000000000000000000000000000000000268690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004beefface00000000000000000000000000000000000000000000000000000000"
  }
}
```

* node/admin: add admin template for evm governance call

* node/admin: add generalised Solana call governance handler

handles governance requests of the form

```
current_set_index: 4
messages: {
  sequence: 4513077582118919631
  nonce: 2809988562
  solana_call: {
    chain_id: 3
    governance_contract: "3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5"
    encoded_instruction: "BEEFFACE"
  }
}
```

* node/admin: check address lengths and fix typo in governance handler

* node/admin: better error handling and fix comments

* sdk/vaa: add constants for general purpose governance actions
2024-04-23 11:28:02 -04:00
bruce-riley 9af1fac9e1
Node/EVM: Linea poller (#3872)
* Node/EVM: Linea poller

* Explicitly check finality type in watcher
2024-04-22 10:11:45 -05:00
Jeff Schroeder 44a8453ee6
deployments: add RockawayX as a new Guardian (#3880)
* deployments: update for guardian set index v4

Wormholescan returns vaas base64 encoded, but guardianSetVAAs.csv
has them in hex format. This is the correct command to download a
guardian set upgrade vaa and convert it to hex in one go:

    curl -sq 0000000000000000000000000000000004/18252082506122526004 | \
        jq .vaaBytes -r | \
        base64 -d | \
        xxd -p | \
        tr -d '\n'
    echo

Refs: wormhole-foundation/wormhole-networks#53

* node: update admin template gsti to 4

Refs: wormhole-foundation/wormhole-networks#53
2024-04-16 13:02:37 -04:00
bruce-riley 005c649018
eth,node,sdk: XLayer, Linea and Berachain to testnet (#3871)
* Deploy XLayer and Linea to testnet

* Add Berachain support
2024-04-15 22:45:43 -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 428920acb8
Deploy Blast testnet (#3859)
* Deploy Blast testnet

* Update contract addresses
2024-03-29 09:20:31 -05:00
bruce-riley aa22a2b950
Node/CCQ: Load testing tweaks (#3857) 2024-03-26 13:02:41 -05:00
bruce-riley 2d680058cf
Node/spy: Adds optional VAA signature verification (#3854)
* Node/Spy: VAA Verifier

* Don't use parseAndVerifyVM

* Only verify if VAA will be published
2024-03-25 14:19:46 -05: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 fa187bcf73
CCQ/Node/EVM: Backfill cache (#3558)
* CCQ/Node/EVM: Backfill cache

* Code review rework

* Make backfilling configurable

* Code review rework
2024-03-15 14:26:11 -05:00
bruce-riley 456d2ab54e
Node/CCQ: Track concurrent queries (#3834)
* Node/CCQ: Track concurrent queries

* Code review rework
2024-03-14 09:39:07 -05:00
bruce-riley b385f64ff7
Deploy Mantle to Sepolia (#3830) 2024-03-13 11:22:09 -05:00
bruce-riley a883b7f351
Deploy Polygon Sepolia Testnet (#3723)
* Deploy Polygon Sepolia Testnet

* Code review rework
2024-03-12 09:46:28 -05:00
bruce-riley c751af3ea3
Node/CCQ/Solana: Add sol_pda query (#3782)
* Node/CCQ/Solana: Add sol_pda query

* Attempting to fix bigint serialize error in tests

* Try backing out sol_pda tests

* Put some of solana.test.ts changes back

* Add more stuff back

* Add more stuff to solana.test.ts

* Add more solana.test.ts stuff

* Whatever

* More sol_pda test debugging

* Code review rework

* More rework
2024-03-08 11:57:24 -06:00
bruce-riley 3a9dfd968b
NTT / Acct / Node: Guardian support (#3815)
* NTT/Acct/Node: Guardian changes

* Add per-emitter enforcement

* complete ntt accountant integration tests and run in parallel

* Minor tweaks

* Increase delay in tests

* fix accountant ci check

* Add CI AR address

* update prefixes

* increase timeout

* update ntt transfer wire format

* Code review rework from PR #3800

* Up tilt timeout

* Allow NTT accountant without base accountant

* Define known automatic relayer emitters

* Code review rework

---------

Co-authored-by: Evan Gray <battledingo@gmail.com>
2024-03-08 07:52:12 -06:00
Kevin Peters c7a7d1a56b node: Added RecoverChainId governance support 2024-02-06 16:49:20 -05:00
bruce-riley ed53cd8797
Node/CCQServer: Metrics publish exiting (#3766) 2024-02-05 17:28:24 +00:00
bruce-riley b48cb6607c
Node/CCQServer: Quorum not met (#3758)
* Node/CCQServer: Quorum not met

* Better track failed queries

* Add total responses by chain and peer ID
2024-02-02 15:10:51 -05:00
bruce-riley 82f18209da
Node/CCQServer: Enhance response logging (#3754) 2024-01-30 11:18:35 -06:00
bruce-riley e98bb64436
Node/CCQServer: log responses (#3752) 2024-01-29 14:00:54 -06:00
bruce-riley a10aab1c6d
Node: Remove Neon support (#3732)
* Node: Remove Neon support

* Code review rework
2024-01-25 12:55:02 -06:00
bruce-riley 846c2e9c9d
CCQ: Solana mock should support min_context_slot (#3728)
* CCQ: Solana mock should support min_context_slot

* Minor tweaks from PR 3637
2024-01-23 07:39:27 -06:00
bruce-riley 59dff67821
Node/CCQ: Solana query support (#3637)
* Node/CCQ: Solana query support

* Add mock stuff

* Add mock stuff

* Code review rework

* Code review rework

* Only allow "finalized", not "confirmed"

* Code review rework

* Change SolanaAccount query type to 4

* Code review rework

* Fix sdk tests
2024-01-22 18:59:02 -06:00
Bing Yu 7acbacd0ea
node: Add config file support (#3710)
* node: Add logic to read file config and bind flags

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: add guardian node config to node.yaml

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: fix path typo

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: modularize initFileConfig

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: update ethRPC to the correct url

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: update config file path

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: add initial config file testing data

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: add test for flag precedence over config file

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: add test cases for flag, env var and config file precedence

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: use backticks as expected output

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: update comments

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: handle binding errors

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: create separate test functions

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: absolute filepath -> relative filepath

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* docs: Add guardian config file usage

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: update config file name and env var prefix

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

---------

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>
2024-01-20 02:05:23 +08:00
Bing Yu 3d16cca785
node: Fix url verification bug where <ip>:<port> is not supported (#3719)
* node: update url verification logic to support ip:port format

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: add test case for ip:port

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: change neon rpc scheme from websocket to HTTP

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: update comment to be more accurate

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: remove neon from devmode

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: ignore internal xlabs testing file

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: add ws:// prefix to Sui

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: add ws:// and wss:// prefixes to Sui schemes

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: update testnet yaml naming

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

---------

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>
2024-01-19 03:14:59 +08:00
Bruce Riley da3828354a Upgrade to libp2p v0.32.2 2024-01-17 10:08:14 -06:00
Bing Yu 81af52a2c7
node: Add URL scheme verification along flag registration (#3627)
* node: Add valid schemes for each RPC/WS

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: add function to validate rpc/ws url

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Add function to generate formats based on schemes input

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Add function to register and validate flag

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Change cobra flag register to register and verify

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: registerFlagWithValidation -> registerRPCFlagWithValidationOrFail

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Fix minor formatting error

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Format node.go

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Remove default parameter

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Fix accoutantWS accepted schemes

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Remove expectedSchemes to use validSchemes[rpcName] instead

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Fix typos

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: map -> inline param

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Add unit test for validateURL

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

---------

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>
2024-01-10 00:19:15 +08:00
bruce-riley b7631bfbba
Deploy Holesky Testnet (#3630) 2024-01-08 16:42:10 -06:00
Bing Yu 8513e7dd22
node: sync dump-rpcs (#3632)
* node: Add suiWS to rpcMap

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Add missing RPC/WS to rpcMap

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

---------

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>
2024-01-09 03:57:02 +08:00
Bing Yu cd579d0100
node: Add accepted formats and examples for rpc and ws parameter desc (#3622)
* node: Add accepted formats and examples for rpc and ws parameter description

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Add wss and https to the accepted formats to reduce confusion

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

* node: Add wss and https to the accepted format to reduce confusion

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>

---------

Signed-off-by: bingyuyap <bingyu.yap.21@gmail.com>
2024-01-06 00:35:06 +08:00
bruce-riley 8590089b0d
Node/CCQ: Server auto reconnect (#3611) 2023-12-21 14:28:15 -06:00
bruce-riley 818038ef80
Deploy Sepolia based L2s (#3606)
* Deploy Sepolia based L2s

* Code review rework
2023-12-20 08:56:14 -06:00
bruce-riley 7a2a19c31b
Node/CCQ/Server: Clean restart (#3598)
* Node/CCQ/Server: Clean restart

* Code review rework

* Code review rework
2023-12-11 16:00:46 -06:00
bruce-riley fd05cb0a48
Node/CCQ/Server: Add permissions file watcher (#3586) 2023-12-11 14:44:48 -06:00