Commit Graph

554 Commits

Author SHA1 Message Date
John Saigle c10d627dbd
deps: Remove Go-Spew and add new debugging function for VAAs (#4385)
* deps: Remove Go-Spew and add new debugging function for VAAs

- Removes go-spew (https://github.com/davecgh/go-spew) as it has not
  been updated in 7 years.
- Replaces the Go Spew functionality with a new function
  DebugString() that can be used to get a spew-like output.
2025-05-29 14:14:45 -04:00
Hernán Di Pietro 35fd9779d2
added missing SR addresses (#4226)
* added missing SR addresses

* testnet_consts.go indentation fix

* testnet_consts.go: removed deprecated bArtio SR entry
2025-05-21 13:22:26 -05:00
Aaron Clark 79d918eae1
Mezo mainnet deployment (#4378)
* Mezo mainnet deployment

- Provides .env.mezo.mainnet used for deploying WH Core and Token Bridge
  contracts to Mezo Mainnet

* Add Mezo mainnet values to node and SDK

Adds support for Mezo on mainnet.

    Core contract here
    Token bridge contract here

To enable Mezo on mainnet, use the following config parameters:

```
--mezoRPC YOUR_MEZO_RPC
--mezoContract 0xaBf89de706B583424328B54dD05a8fC986750Da8
```

Verification
~~~
|- go run verify.go --chainId 50
Verifying prod mezo...
   Verifying EVM chain ID for prod mezo ✓
   Verifying finality values for prod mezo ✓
   Verifying contract address for prod mezo ✓
Verifying test mezo...
   Verifying EVM chain ID for test mezo ✓
   Verifying finality values for test mezo ✓
   Verifying contract address for test mezo ✓
~~~

* Update mainnet_tokens_test.go

SeiEVM -> Mezo in comment

---------

Co-authored-by: Adam <20446095+aadam-10@users.noreply.github.com>
2025-05-21 12:09:05 -04:00
Fernando Garcia 5752197a6e
node/admin: add template for core bridge set message (#4369)
* node/admin: add template for core bridge set message

* lint

* add nosec G115

* admin server and payloads

* fix types in payloads.go

* lint

* fix types in payloads.go

* PR comments

* PR comments

* PR comments

* p

* lint

* add test case for BodyCoreBridgeSetMessageFee

* lint
2025-05-21 15:55:42 +01:00
Jason Matthyser 33074a6ebd
Docs: Update Guardian Key/Signer Documentation (#4273)
* update guardian key/signer whitepaper and documentation

* small changes to docs

* update guardian signer references

* add words for spellchecking

* capitalise guardian

---------

Co-authored-by: pleasew8t <jason@asymmetric.re>
2025-05-20 10:05:06 -04:00
Evan Gray 55c0c6412d sdk: reserve Sonic chain ID 2025-05-06 10:07:40 -04:00
John Saigle 8a5f6a4ec6
ci: detect unused function arguments with unparam (#4353)
* ci: detect unused function arguments with unparam

* fix lints in SDK

* fix bad copy-paste on comments
2025-04-24 17:23:47 -04:00
John Saigle 6c0177ba40
deps: Remove miguelmota/go-ethereum-hdwallet; delete unused code (#4347)
* deps: Remove miguelmota/go-ethereum-hdwallet; delete unused code

- Remove the pkg/devnet/constants.go file which was largely unused. Most
  of this code has also not been updated in a long time, and it refers
  to both Ganache and Truffle where we now use Foundry for testing.
- Move the "Ganache" constant to the new devnet constants file under
  SDK
- Delete the rest of the unused code
- Ran `go mod tidy` and committed the results, which removed one direct
  dependency and a couple of indirect ones

* change format of new SDK constant
2025-04-17 14:33:38 -04:00
John Saigle 2999ee85d5
sdk: Return false for empty arguments to VerifySignatures (#4340)
- Updates SDK function and unit tests to return false for the empty
  case. This is to prevent the function returning true trivially for
  empty arguments. Either true or false may be 'correct', but returning
  false is less likely to lead to failing open if empty arguments are
  passed by mistake.
- Adds a comment warning that VerifySignatures is the wrong function to
  use when actually validating a VAA. (This is a bug that has occurred
  before but was caught in internal review.)
- Modifies a unit test case that was calling VerifySignatures twice per
  run.
2025-04-14 13:13:08 -04:00
Maxwell "ꓘ" Dulin cc9d822285
Golang linter improvements PR (#4323)
* Add several simplier linters

* misspell
* dupword
* predeclared
* errorlint
* bodyclose
* exhaustive
* bidichk

* Add new golangci.yml file

* Add initial gocritic linters

* Revert "Add initial gocritic linters"

This reverts commit 5fb533e273.

* Add contextcheck linter

* Linter fixes for recent changes

* Fix exclusion path on 'generated_mainnet_tokens'

* Remove duplicate 'to' from sdk file

* Added comments to several nolints and first misspelling of a few words

* Fix previous typo

---------
2025-04-07 15:41:02 -07:00
bruce-riley 1206cda00e
Node: Fogo support (#4330) 2025-04-07 09:46:07 -05:00
A5 Pickle 5101a3152e
sdk/rust: fix clippy (#4327)
* sdk/rust: fix clippy

* cosmwasm: remove path

---------

Co-authored-by: A5 Pickle <a5-pickle@users.noreply.github.com>
2025-04-03 14:37:54 -04:00
Dirk Brink 553c09e4f8
ci: Bump golang linter version (#4224)
* ci: Bump golang linter version

* Fix initial set of lints

* Fixing more lints

* Fix more lints

* More linting updates

* More linting

* Almost there with the lints

* Last set of lints before rebase

* New lints with rebase

* PR feedback + fix test

* Update error string in algorand watcher

* Comments for watchers, revert adminserver change, remove unnecessary line in script

* Fix new lints from rebase

* Rebase fix

* Updating lints for Solana shim

* PR feedback
2025-04-01 09:30:51 -07:00
John Saigle 065398d6ae
sdk: add StringToKnownChainID function for VAAs (#4239) 2025-03-28 10:49:18 -04:00
John Saigle 868f2019d5
sdk: Add functions for type-safe conversions from integers to ChainID (#4271)
* sdk: Add functions for type-safe conversions from integers to ChainID
2025-03-21 10:20:34 -04:00
bruce-riley 4ba560af10
Deploy SeiEVM mainnet (#4305) 2025-03-20 08:36:21 -05:00
John Saigle 983dd07551
node: Integrate Transfer Verifier into the Ethereum watcher (#4233)
- Create a TxVerifier instance in the Run function of the EVM watcher
- Wrap all instances where a message would be published to the broadcasting msg channel with a new function, verifyAndPublish
- Messages are published with a new status: VerificationState.
- Modified the Transfer Verifier pkg API so that we can call the method with either an existing Receipt or a txHash.
- Added unit test in the watcher for new functionality

If Transfer Verifier is enabled:
- Messages that are token transfers will undergo Transfer Verification
- Message will be published with a status of Valid or Rejected depending on the result
- The calling code can then decide what to do based on this status

If Transfer Verifier is not enabled
- Existing behaviour will be preserved, but messages will be published with a status of NotVerified. No further actions are taken when a Message Publication has this status

Design Considerations
Modifying MessagePublication
This PR modifies MessagePublication to add a new status based on whether the Message Publication is verified. This decision was made to handle Transfer Verification cases across many chains. For example, the EVM logs are reliable enough that we can confidently rule a message as Valid or Rejected. Other ecosystems (i.e. Sui, but perhaps also Solana, etc.) are not so clear cut. In this case, we may want to mark a transaction as Anomalous rather than outright rejecting it.

Using this new enum allow us to do this.

Other potential benefits:

- Decouples the Verification of a Message from whether or not this can be published.
- Avoids scope-creep for the Watchers: they only watch messages, but do not need to reject them. (Instead this could be handled by the processor or some other security mechanism akin to the Governor or Accountant.)
- Allows configuring targeted action on a per-chain and per-status basis. For example, we may want to delay Anomalous messages but drop Rejected ones.
- Preserves a NotApplicable state that can be used as a fallback mechanism if the Transfer Verifier is disabled outright or on a particular chain
This status could be used in other cases beyond Transfer Verification, but should not interfere with existing message handling.
2025-03-20 09:28:29 -04:00
bruce-riley df918bb527
deploy_mezo_testnet (#4300) 2025-03-18 08:42:54 -05:00
bruce-riley a9efee20a2
Deploy Ink mainnet (#4295) 2025-03-06 10:19:49 -06:00
kev1n-peters e90146b321
Update elliptic to >= 6.6.1 (#4272)
* Update elliptic to >= 6.6.1

See: https://github.com/indutny/elliptic/security/advisories/GHSA-vjh7-7g9h-fjfh

* update elliptic everywhere
2025-02-27 10:09:10 -05:00
bruce-riley 425b48bdea
Node: Deploy Berachain mainnet (#4263) 2025-02-11 10:24:14 -05:00
Joel Smith aaed33c1d4
wormchain: add slashing params vaa (#4194)
* Add ICT Local Image

* Ref Slashing Keeper in Wormhole Keeper

* Add Payload & Test

* Add Generate Slashing Params Update Vaa Cmd

* Add ICT Tests

* Finish ICTs

* Fix Slashing Params VAA Test

* Fix ICT Workflow

* Add range check for sdk.Dec

* Add BodySlashingParamsUpdate Notes

* Cleanup

* fix upload artifact

Also removes flaky CI tests.

* fix download artifact

* Fix GenerateVaa in ICT

* Switch to Gateway Governance Module
2025-02-11 09:00:06 -06:00
bruce-riley 763e39edd9
node_deploy_unichain_mainnet (#4261) 2025-02-10 12:40:47 -05:00
bruce-riley 65ac0c4160
Node: Remove Monad Devnet support (#4248) 2025-01-28 12:30:02 -06:00
bruce-riley f521dc432b
Deploy token bridge to Monad testnet (#4238) 2025-01-27 08:10:37 -06:00
Bruce Riley fa87dd30c0 Node: Audit chain IDs 2025-01-26 09:55:03 -05:00
bruce-riley dd283a7f93
Node: Add support for Movement (#4236) 2025-01-23 10:33:01 -06:00
bruce-riley f1580c319f
Deploy Monad testnet (#4218) 2025-01-13 16:21:27 -06:00
bruce-riley db1ee86bfb
Deploy SeiEVM testnet (#4209)
* cli: arbitrary chain registration

* Deploy SeiEVM Testnet

---------

Co-authored-by: Evan Gray <battledingo@gmail.com>
2025-01-06 12:08:20 -06:00
bruce-riley 79657d4392
Node: Rename Hyperliquid to HyperEVM (#4199)
* Node: Rename Hyperliquid to HyperEVM

* Add registration VAA
2024-12-19 12:17:42 -06:00
bruce-riley 608715a608
Node: Hyperliquid testnet support (#4198) 2024-12-19 09:53:41 -06:00
bruce-riley 3797ed0821
Node: Add Noble support over IBC (#4195) 2024-12-18 08:37:24 -06:00
Hernán Di Pietro 8624e5ae9a
sdk: worldchain mainnet SR entry. (#4188) 2024-12-12 18:58:59 -05:00
Evan Gray e9b080b95f tilt: solana-test-validator multi-platform support 2024-12-11 10:53:36 -05:00
bruce-riley 6c484440ed
Queries/SDK: Update Solana SDK (#4180) 2024-12-04 10:44:41 -06:00
cs 347357b251 fix clippy::needless-lifetimes warnings
by removing the binders for inferrable lifetimes
2024-12-02 12:56:17 -05:00
bruce-riley 772a715998
Node: Update golang (#4161)
* Node: Update golang

* node: Upgrade golangci-lint
2024-11-19 07:56:56 -06:00
Bruce Riley b0eb13179e Deploy Ink testnet 2024-11-12 14:29:37 -05:00
bruce-riley 6e9391476c
Node: Deploy Worldchain mainnet (#4156)
* Node: Deploy Worldchain mainnet

* Code review rework

* node: Governor setup for Worldchain

---------

Co-authored-by: Dirk Brink <hello@dirk.tech>
2024-11-12 12:40:50 -06:00
bruce-riley a543c4045a
Deploy Monad Devnet (#4145)
* Deploy Monad Devnet

* Code review rework
2024-10-24 10:20:16 -05:00
Artur Sapek 7becfa1985
add deprecation warning to the top of SDK readme (#4142) 2024-10-23 13:41:54 -04:00
bruce-riley abd0b330ef
Deploy Worldchain testnet (#4140)
* Deploy Worldchain testnet

* Update WETH address

* Fix cli test and add token bridge VAAs
2024-10-21 16:19:58 -05:00
bruce-riley 44d6bf84fc
Deploy Unichain testnet (#4134)
* Deploy Unichain testnet

* Add snaxchain to proto
2024-10-10 11:01:08 -05:00
Bruce Riley e297d96d10 go-sdk: Add xLabs public RPC 2024-09-26 11:30:38 -06:00
Bruce Riley 6ea6c1a399 Node: Fix repair_solana tool 2024-08-27 15:06:17 -06:00
Evan Gray 750645b350 ethereum: rm truffle 2024-08-20 16:30:34 -06:00
bruce-riley f27ee2da4a
Node/CCQ: Add rate limiting to proxy (#4080)
* Node/CCQ: Add rate limiting

* Code review rework

* Node/CCQ: Make burst size default to one not zero

* Tweak description of burst size in doc
2024-08-19 15:16:17 -05:00
Bruce Riley 092cbfcc62 Deploy Snaxchain mainnet 2024-08-16 13:44:23 -04:00
Evan Gray c381d6b272 sdk: add Mantle and X Layer relayer addresses 2024-08-05 15:07:26 -04:00
André Claro 71fd49642d
sdk: update karura testnet contracts and tokenBridgeVAA (#4055)
* env: add slow option to FORGE_ARGS on karura testnet

* vaa: update karura testnet tokenBridgeVAA

* karura: update karura testnet contracts
2024-08-02 14:22:55 -04:00