Commit Graph

3734 Commits

Author SHA1 Message Date
Paul Noel 53997afc65 node: remove websockets from SUI watcher 2024-07-04 08:53:30 -05:00
John Saigle 7c6e4c597c
node: Fix issue where transfers that were loaded from the DB did not add a flow-cancel transfer on the TargetChain (#4002)
node: Fix issue where transfers that were loaded from the DB did not add
a flow-cancel transfer on the TargetChain

Flow-canceling is done in the `ProcessMsgForTime` loop when a new
message occurs. However, this was not done when a node restarted and
reloaded transfers from the past 24 hours. As a result it was possible
for the node to calculate a result that showed that the outgoing
transfers for an emitter chain exceeded the daily limit. In effect this
is true but only with the condition that there was incoming flow to
allow this to happen. This appeared to violate an invariant and so the
node did not start properly.

Add unit tests when reloading flow cancel transactions from the
database
2024-07-03 15:15:35 -04:00
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
djb15 fdbfc0b085 node: governor token list update 2024-07-01 09:13:06 -04:00
Jason Matthyser 32f3b788ec
docs: update governor docs to reflect reset-release-timer change (#3999)
* docs: update governor docs to reflect reset-release-timer change

* docs: fix spelling mistake in governor docs

---------

Co-authored-by: Jason Matthyser <jason@asymmetric.re>
2024-06-28 21:06:46 +02:00
Nikhil Suri d100515609
node: Add emitters for Lido wstETH NTT deployment to NTT Accountant mainnet tracking (#3997) 2024-06-26 13:54:26 -04:00
John Saigle dc3a6cf804
node: Fix bug in flow cancel mechanism where the wrong values were being used for tokenEntry (#3990)
* node: add more unit tests for flow cancel

* node: Fix tokenEntry indexing issue in Governor flow cancel logic

- Indexes the tokenEntry for flow cancel tokens properly (using the
  token's origin chain and origin address
- Add many more tests to check flow cancel logic in more detail and at
  the resolution of the ProcessMsgForTime method.

Big thanks to Max for helping to debug the issue and the unit tests.

* node: add check to ensure the governor usage is not zero

* node: Change flow cancel test so that origin and emitter chain are different

* node: Add unit test for partial flow cancel

Add additional test for flow cancel mechanism where the numbers do not
cleanly cancel out.

* node: fix lint issues in governor test
2024-06-24 11:00:38 -04: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
John Saigle 305cb8f0fe
node: Update flow cancel tokens (#3986)
- Add canonical Solana and Ethereum stablecoins
- Remove Aave USDC
2024-06-18 10:40:14 -04:00
bruce-riley 7035dd74c1
Deploy Gnosis Chiado Testnet (#3987) 2024-06-17 11:46:26 -05:00
Dirk Brink 33b2fbe72a node: Token generator script flags tokens with changed symbols 2024-06-10 07:29:21 -07: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
Dirk Brink fdd2382ef8 node: Governor token list update 2024-06-07 13:11:10 -04:00
Evan Gray 24cc3b528c ci: evm relayer address fix 2024-06-07 12:19:13 -04:00
Evan Gray db152afe1a clients/js: pin tsx version 2024-06-07 11:09:56 -04:00
André Claro 40a630f388 node: update xlabs testnet guardian endpoints 2024-06-07 10:14:13 -04:00
bruce-riley 624df192ad
Node/CCQ: Allow anything in testnet (#3966) 2024-06-07 08:13:07 -05:00
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