Commit Graph

3692 Commits

Author SHA1 Message Date
Csongor Kiss 0f3ffe705f
sdk,cosmwasm: fix new clippy 1.78.0 lints (#3925)
The 1.78 version of the rust toolchain has been released on the stable channel: https://github.com/rust-lang/rust-clippy/blob/master/CHANGELOG.md#rust-178

It introduces a number of new clippy lints. The relevant ones:

- https://rust-lang.github.io/rust-clippy/master/index.html#/assigning_clones
- https://rust-lang.github.io/rust-clippy/master/index.html#/multiple_bound_locations
- https://rust-lang.github.io/rust-clippy/master/index.html#/new_without_default

This commit fixes these lints.
2024-05-02 20:38:55 +01:00
bruce-riley 557fc921d8
Eth: Upgrade scripts (#3921)
* Eth: Upgrade scripts

* Code review rework
2024-05-02 09:49:11 -05:00
bruce-riley e2693f281f
node: Use the env variable for run mode checks (#3923) 2024-05-01 17:17:31 -04:00
djb15 f86ebc6826 node: governor token list update 2024-05-01 16:42:41 -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 dbe765811e
docs: Query proxy server operations manual (#3916)
* Doc: Query proxy server operations manual

* Review rework
2024-04-30 23:18:08 -04:00
Jeff Schroeder 21e2c87fe4
docs: Update operations docs (#3883)
* docs: always pull latest guardian image to run a spy

* doc: how to run the guardian node behind a NAT

Shoutout to @0xshipthecode and the RockawayX Infra team for helping test
and develop the patch for this in #3786.

* docs: add section to the ops docs on telemetry

This shows new guardians how to enable telemetry.

* docs: update wording on bootstrap peers

* docs: remove terra light client daemon comment

The lcd was built directly into the terra binary a long time ago and no
longer requires a separate service for the lcd. This happened more than
a year ago.

* docs: wh dashboard and the fly healthcheck

* mention the wormhole-dashboard github hosted instance
* mention how to run the fly healthcheck to verify a guardian

* docs: evm node requirements for archive nodes

* docs: section on cosmos / ibc connected chains

So that guardians know which nodes they need to run and which they can
rely on wormchain for.

* docs: split out the per-chain bits for terra

* Since wormhole supports 30+ chains now and not just 5 chains, the
  solana, eth, terra, bsc bits were removed
* The solana and terra content had the urls updated to reflect reality
  and moved into their own sections.
* Made a reference to docs.wormhole.com's constants reference for chains

* docs: clarify guardiand wormchain URL and ports

Also mention threshold signing via horcrux and using the sentry node
architecture to protect the validator from volumetric attacks.

* docs: adding wormchain useful commands

* docs: minor updates and ntt accountant enablement

* high level overview of how to enable the NTT Accountant
* emphasize all guardians need to run wormchain validators
* remove the reference to checking out a v2.x branch as the main branch
  is for wormholev2 now and has been for some time.

* docs: add section on ccq

* docs: cspell updates

* docs: remove default ccq port from operations.md

Review feedback from: @bruce-riley

* docs: review feedback

Co-authored-by: @evan-gray

* docs: operations wording clarification

* docs: update header in operations doc

Try to make things consistent for @evan-gray.

* docs: fix a small tyop
2024-04-30 23:14:01 -04: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
Reisen b8676f09a6
aptos: upgrade to 3.1.0 (toolchain and stdlib) (#3915)
* aptos: upgrade to 3.1.0 (toolchain and stdlib)

* aptos: push 3.1.0 base

* aptos: update bind-to flag

---------

Co-authored-by: Evan Gray <battledingo@gmail.com>
2024-04-29 18:27:25 -04:00
Bruce Riley bf5ceb5fba Add admin command tests 2024-04-29 12:30:41 -04:00
Bruce Riley e4931fe75e Code review rework 2024-04-29 12:30:41 -04:00
Bruce Riley c5b52f9426 Node: Adminserver commands should not panic 2024-04-29 12:30:41 -04:00
Bruce Riley d44451d7b5 Client/js: Scroll and blast mainnet support 2024-04-26 12:37:18 -04:00
Evan Gray 6adb1e899a deployments: update standardRelayerVAAs.csv to gs4 2024-04-26 11:24:01 -04:00
Bruce Riley 473b095b3f Client/js: Wormholescan URL is wrong 2024-04-26 11:04:38 -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
Dirk Brink d63f2ca532 node: Manual initial token list for Blast and Scroll 2024-04-26 09:48:21 -04: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
Dirk Brink a566c3d3bf docs: Update security.md with Cantina NTT audit report 2024-04-24 18:50:49 -04: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 35f0b343ed Client/js: Add new chains 2024-04-22 17:14:23 -04:00
Jeff Schroeder bda43b2ac7 wormchain: update cosmos ledger bindings
Ran automatically via:

    go get github.com/cosmos/cosmos-sdk/crypto/ledger@v0.45.11

Fixes:

	 => ERROR [15/16] RUN make client                                                                                                                                                                                                                                           0.7s
	------
	 > [15/16] RUN make client:
	0.202 building wormchaind-v0.0.1
	0.202 go build -v -ldflags '-X github.com/cosmos/cosmos-sdk/version.Name=wormchain -X github.com/cosmos/cosmos-sdk/version.ServerName=wormchaind -X github.com/cosmos/cosmos-sdk/version.Version=v0.0.1 -X github.com/cosmos/cosmos-sdk/version.Commit=abc123 -X "github.com/cosmos/cosmos-sdk/version.BuildTags=ledger"' -tags ledger -o build/wormchaind cmd/wormchaind/main.go
	0.649 /go/pkg/mod/github.com/wormhole-foundation/cosmos-sdk@v0.45.9-wormhole-2/crypto/ledger/ledger_real.go:6:8: missing go.sum entry for module providing package github.com/cosmos/ledger-cosmos-go (imported by github.com/cosmos/cosmos-sdk/crypto/ledger); to add:
	0.649 	go get github.com/cosmos/cosmos-sdk/crypto/ledger@v0.45.11
	0.650 make: *** [Makefile:26: build/wormchaind] Error 1
	------
	Dockerfile:37
	--------------------
	  35 |     RUN /bin/bash /app/devnet/create-genesis.sh
	  36 |
	  37 | >>> RUN make client
	  38 |     RUN chmod +x /app/build/wormchaind
	  39 |
	--------------------
	ERROR: failed to solve: process "/bin/sh -c make client" did not complete successfully: exit code: 2
2024-04-22 16:31:18 -04:00
Jeff Schroeder 14d73dafe0 node: run go mod tidy
Necessary when updating the go ledger dependencies.
2024-04-22 16:31:18 -04:00
Michael Nguyen ddf5ba159c Fixes transactions when using a Ledger 2024-04-22 16:31:18 -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 2712dd3f3f
node: upgrade to go 1.21.9 (#3855)
* node: update quic-go

Ran via:

    go get github.com/quic-go/quic-go@v0.42.0

* node: update mongo-drive dependency

Ran via:

    go get go.mongodb.org/mongo-driver@latest

* node: upgrade libp2p-go

Ran via:

    go get github.com/libp2p/go-libp2p@v0.33.1

Refs: #3863

* node: fallout from the go upgrade in the go.sum

Run via:

    go mod tidy

This updates the go.sum and removes unnecessary indirect references.

* docs: use go1.21.8

* github: use go1.21.8

Except for wormchain.

* node: update dockerfiles to use go 1.21.8

This was done with scripts/update-go-version.sh

* scripts: update linter dockerfile to use go 1.21.8

This was done with scripts/update-go-version.sh

* wormchain: update ibc-relayer to use go 1.21.8

This was done with scripts/update-go-version.sh

* scripts: add update-go-version.sh

This is a little helper to make updating the version of go a bit nicer.

* scripts: update-go-version.sh fixes

* set the default docker command to "dokcer"
* update the comment for the humongous sed command for dockerfiles

* github: fix go linting

* Upgrade golangci-lint to a version built with go 1.21.x. The older
  version was a binary version built with go 1.20.x and it was failing
  against the newer code built with go 1.21.x
* print the golangci-lint version in each run to see what version of go
  it was built with in case there are incompatibilties during the next
  upgrade
* remove the linter config skipping over pkg/supervisor entirely and
  instead put in an override to ignore the `unused` linter for the
  pkg/supervisor testhelpers bits for unsed test functions necessary
  to satisfy the test interface.

* scripts: update golang linter cli invocation

* github: use the latest version of golangci-lint

Because 1.52.2 is built with go 1.20.x which has issues with this project
now that it is upgraded to 1.21.8.

* node: remove implicit memory aliasing in a loop

Caught by an upgraded golangci-lint with the gosec linter:

    ::medium file=node/pkg/watchers/evm/connectors/batch_poller.go,line=226,col=8::G601: Implicit memory aliasing in for loop. (gosec)
    ::medium file=node/pkg/watchers/evm/connectors/batch_poller.go,line=285,col=8::G601: Implicit memory aliasing in for loop. (gosec)
    ::medium file=node/pkg/watchers/evm/connectors/batch_poller_test.go,line=128,col=37::G601: Implicit memory aliasing in for loop. (gosec)

See also: https://husni.dev/beware-of-implicit-memory-aliasing-in-go-foor-loop/

* node: update logging

* Update go to 1.21.9

Automated via:

    scripts/update-go-version.sh 1.21.9

* node: update test root context teardown time

Otherwise things get really sad.

* scripts: additions to update-go-versions.sh

* Standardized on prefacing functions with `function` for consistency
* Added a few more comments to explain how things work
* Automatically increment the go version and toolchain in go.mod
* Standardized on prefacing functions with `function` for consistency
* Make the go image debian version a variable for ease of maintenance

* node: update go.mod to specify 1.21.9

* node: update node tests

Review feedback from @pires

* scripts: run go mod tidy in update-go-version.sh

Required after running go mod edit or it refuses to build.

* node: update go.mod

Running `go mod tidy` removes the toolchain so the build works.

* node: update node tests

---------

Co-authored-by: Ryan Hamphrey <hamphreyryan26@gmail.com>
2024-04-19 14:43:36 -04:00
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
bruce-riley c797acb7e9
Deploy SeiEVM Read Only to Testnet (#3889)
* Deploy SeiEVM Read Only

* Should be testnet, not mainnet
2024-04-19 11:01:58 -05:00
bruce-riley db9f33a816
Tilt : Deploy with forge instead of truffle (#3877)
* Tilt: Deploy with Forge instead of Truffle

* Move shell scripts
2024-04-19 10:44:04 -04:00
bruce-riley b0f1bd06ea
Deploy EVM Read Only (#3886) 2024-04-17 15:22:06 -05:00
Csongor Kiss 8b7495a7c6 clients/js: fix sui guardian set upgrade handler 2024-04-17 09:59:45 -04:00
Nikhil Suri 8ed75c9bfe
node: add emitters to ntt allowlist (#3884)
* node: add emitters to ntt allowlist

* node: tests: update TestNttVerifyMainnetEmitters
2024-04-16 17:40:43 -04:00
Dirk Brink 25e60611a8 docs: Add latest audit reports 2024-04-16 13:44:55 -04: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 85afd5d1f9
node,sdk: add support for Provenance over IBC (#3879) 2024-04-16 12:21:21 -04:00
djb15 40c51b29dd node: governor token list update 2024-04-16 09:52:23 -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
bruce-riley f290df6b9b
Ethereum: deploy with forge (#3862)
* eth: deploy with forge

* Delete unused scripts

* Support upgrade, bytecode verify and publish tool

* Add script to register all chains on a new chain
2024-04-15 12:13:37 -05:00
Csongor Kiss a46bccaa9b
Upgrade sui packages and compiler to 1.19.1-mainnet (#3803)
* sui: upgrade to mainnet-1.19.1

* sui: update Dockerfile.base

* sui: update tilt deployment to support new sui binary

* sui: remove faucet and simplify tilt deploy script

* sui: add script for switching Move.toml files between networks

* devnet: update sui addresses, regen config

---------

Co-authored-by: Evan Gray <battledingo@gmail.com>
2024-04-15 17:16:07 +01:00
Nikhil Suri b18a7e61eb node: Fix NTT V1 testnet emitters 2024-04-12 18:30:14 -04:00
Nikhil Suri d4821808a0
node: update ntt_config.go (#3875) 2024-04-12 15:14:20 -04:00
Evan Gray 77b4ddc812 ci: switch from ganache to anvil 2024-04-12 10:13:27 -04:00
Evan Gray fcabf0c99e node: Don't accept replayed heartbeats from other peers 2024-04-11 13:59:36 -04:00
bruce-riley 86ef5bff5a
Ethereum: Move relayer (#3866)
* Ethereum: Move relayer

* JS/SDK: Handle relayer move

* More tweaks

* ci: fix relayer deploy

* Code review rework

* Hack to fix tilt

* Another hack

* ci: revert relayer addresses

* Fix sdk tests

* Move ethereum-relayer to relayer/ethereum

* Yet another fix for tilt

* Code review rework

---------

Co-authored-by: Evan Gray <battledingo@gmail.com>
2024-04-11 08:46:36 -04:00
djb15 b78317b9b5 node: governor token list update 2024-04-04 16:48:37 -07:00
Dirk Brink a648515d68
node: Throttle CoinGecko queries (#3867)
* node: Throttle CoinGecko queries

* Make sure we terminate the goroutine with child context

* Continuous loop rather than loop on channel ticker
2024-04-03 14:49:14 -07: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 c76e247647 node: update GuardianOptionP2P()
Review feedback from @bruce-riley
2024-03-31 15:42:04 -04:00