Commit Graph

3717 Commits

Author SHA1 Message Date
Dirk Brink 215c60aee9 node: Allow tokens to change their symbol in generator script 2024-06-06 07:40:57 -07:00
bruce-riley ac7794b7aa
Node metric and performance tweaks (#3967)
* Node: Metric and performance tweaks

* Tweak observation metric

* pubsub StrictNoSign

* bigger observation metric buckets

* biggerer observation metric buckets

* Node: Add metric for libp2p drops

* Disable StrictNoSign for now

---------

Co-authored-by: Evan Gray <battledingo@gmail.com>
2024-06-06 09:04:28 -05:00
Paul Noel d5fd72bd4a node: terra stopped b64 encoding 2024-06-04 17:48:54 -04:00
Sebastián Claudio Nale dc5e87f978 script: uses only first digest as identifier for governance prototxt 2024-06-04 14:33:55 -04:00
John Saigle 34ee3de349
Implementation of 'Flow Cancel' modifications to Governor calculations (#3798)
Flow Cancel
A 'flow cancel' transfer occurs when all of the following are true:
    An emitter chain is governed by the Governor
    A transfer has a TargetChain equal to the emitter
    A transfer's Timestamp is within the usual 24 hour window used by the Governor
    The asset in the transfer has fields OriginChain and OriginAddress equal to an entry in the allow list
Example scenario
    A particular USDC implementation minted on Ethereum. It is allow-listed.
    A transfer of $1,000 of this asset is sent from Solana to Sui.
    Before the transfer, Sui's usage is $10,000.
    Before the transfer, Solana's usage is $0.
After the transfer is processed, Sui's new usage will be $9,000 (flow cancel) and Solana's new usage will be $1,000 (as usual).
2024-06-04 11:49:13 -04:00
Hteev Oli d1c8f53a66 node: clean up duplicate imports 2024-06-04 05:52:11 -04:00
Claimens | CryptoCrew Validators 3b8daa8880
docs: update wormchain sync instructions for `v2.18.1.1` and `v2.24.2-wormchaind` upgrades. (#3960)
* Add instructions for `v2.18.1.1` and `v2.24.2-wormchaind` upgrades. Add halt-height to `v2.14.9.6`.

* Update snapshot sync instructions to latest version

* Fix latest version comment

* Use `halt-height` when syncing with `v2.18.1`
2024-06-03 23:46:47 -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