Commit Graph

3712 Commits

Author SHA1 Message Date
Nikhil Suri 31b0162908 node: Add emitters for Lido wstETH NTT deployment to NTT Accountant mainnet tracking (#3997) 2024-07-05 10:09:36 -04:00
Paul Noel 098806268d node: terra stopped b64 encoding 2024-06-04 17:49:08 -04:00
Evan Gray 4f20d175b3 ci: install specific foundry release 2024-05-31 09:13:52 -04:00
Evan Gray a9393500a1 node,sdk: Mantle mainnet 2024-05-31 09:13:52 -04:00
Evan Gray 742c484956 CODEOWNERS: update 2024-05-31 09:13:04 -04:00
John Saigle d420251f0b
node: add governor support for Mantle (#3958)
* node: add manual token list for Mantle

* node: add additional mantle tokens

* node: remove incorrect manual token for mantle

* node: Fix mantle token links

Source all token addresses from https://explorer.mantle.xyz/,
cross-referenced with CoinGecko's results for top Mantle tokens by daily
volume
2024-05-30 14:29:14 -04:00
Csongor Kiss 3bbc46355b CI: run solana action in prebuilt docker image
Solana binary releases are pulled from their github regularly, which
breaks any process that needs to download a specific binary (e.g. CI).
Instead of relying on github caching, we use the prebuilt docker image
that's also used in tilt, which has the appropriate solana version built
in.
2024-05-29 14:31:30 -04:00
Evan Gray cb34e194f5 proto: sync chains with sdk/vaa/structs.go 2024-05-28 16:43:24 -04:00
Evan Gray 1b50000e54 CODEOWNERS: update 2024-05-28 16:43:14 -04:00
Sebastián Claudio Nale e94c8ef4a8 sdk: adds `WormholeRelayer` addresses for Scroll and Blast mainnet 2024-05-25 09:50:23 -04:00
Nikhil Suri af8bbc208c
Gateway conditional expiration (#3946)
* wormchain: conditionally enable new guardian set expiration logic

The new code path costs more gas, so it changes the app hash.
By guarding the new code path behind a block height, consensus does not
break (as every validator that upgrades by that block will switch at the
same block height).

* wormchain: update mainnet cutover block height

* wormchain: update cutover to 24 hours later

---------

Co-authored-by: Csongor Kiss <kiss.csongor.kiss@gmail.com>
2024-05-21 12:04:17 -07:00
bruce-riley 1fe680dfb8
Deploy X Layer to mainnet (#3942) 2024-05-17 09:00:13 -05:00
Sebastián Claudio Nale 6294969ecf clients/js: adds `WormholeRelayer` addresses to `info contract` 2024-05-08 08:43:28 -04:00
Sebastián Claudio Nale c512800abb script: fixes `worm info contract` usage in register chain governance 2024-05-08 08:43:06 -04:00
John Saigle 6a9a706298
Node: add xlayer tokens to manual token list (#3926)
* node: add x layer tokens to manual_tokens.go

- Coin Gecko IDs left blank here because there is no entry for these
  tokens yet
- Prices are taken from the chain explorer directly

* node: Update X Layer manual token list

- Fix Chain ID
- Add more tokens with >50k daily volume
- Add CG IDs for tokens that have them
- Add commented out tokens that have high volume but no CH entries
- Update prices (use CG price where available)

* node: remove tokens without CoinGecko IDs
2024-05-08 08:38:55 -04:00
Evan Gray 1c858d3558
clients/js: fix edit-vaa when guardian is no longer in set (#3933) 2024-05-07 11:07:01 -05:00
Yahya Hassanzadeh, Ph.D 00604948e8
moves sent counter to happypath (#3928) 2024-05-07 08:11:47 -05:00
Bruce Riley 15877b5413 Node/Devnet: Extract first guardian name from bootstrap peers 2024-05-06 16:31:06 -04:00
bruce-riley 87c754a101
Node/Devnet: Add missing deterministic guardian keys (#3929) 2024-05-06 11:31:19 -05:00
bruce-riley b93a54a547
Node/CCQ: Add gossipAdvertiseAddress option to proxy server (#3924) 2024-05-02 15:14:14 -05:00
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