Skip to content

Conversation

@jannik-stacks
Copy link

@jannik-stacks jannik-stacks commented Nov 21, 2025

Stacks Watcher Update

Base main

Includes PRs

Additional changes

  • Pin a node image version which is more common in the codebase, to increase likelihood of hitting image cache.

Opening for CI runs and further fixes to be pushed in if CI still has failures.

janniks and others added 29 commits November 4, 2025 14:58
* chore: wip

* chore: wip

* chore: wip pre-polling

* feat: update to polling style

* feat: add reobserve

* docs: update comment

* chore: remove port remnants

* fix: update event logic and contracts

* chore: remove unwanted changes

* chore: clean up test dir

* docs: update readme

* chore: remove contract files for later merging in via separate pr

* Revert "chore: remove contract files for later merging in via separate pr"

This reverts commit 0e3fdaf.

* fix: add more integration progress

* chore: ai progress

* chore: update readme

* chore: update readme

* chore: remove file

* chore: wip

* chore: update scripts for spy test

* fix: add tx_status check for processing stacks transactions in the watcher

* chore: remove outdated test dir (wormhole-foundation#6)

Co-authored-by: janniks <[email protected]>

* refactor(audit): minor updates (wormhole-foundation#7)

* build: remove guardian dependency from stacks node

* refactor: make default parameters configurable

---------

Co-authored-by: janniks <[email protected]>

* fix: update contracts

* fix: ntt eth deploy updates

* chore: rename tmp notes

* fix: cherry pick watcher updates

* chore: update parameters

* fix(audit): update emitter address

* fix: pull in updates

* fix(audit): switch to state contract tracked owner var

* fix: update state contract changes

* chore: update notes

* fix(audit): add active contract fetching

* fix(audit): add max bigint checks, closes #4

* fix(audit): add missing fetch method

* fix(audit): fix incorrect clarity byte

* fix(audit): check burn block confirmation height for reobserve requests, closes #2

* fix: switch to confirmed height rather than processed height

* fix: remove stacks port remnant

* fix: add stacks defaults directly in node config

* chore: remove addressed comments, l1 finalizers not needed for stacks

* chore: update contracts

* fix: add missing c32 file

* added POC for stacks native api

* fixed c32

* reverted variable renaming

* test: update integration style tests

* refactor: move to Tilt tests with it cases

* refactor: update stacks test setup

* refactor: update stacks k8s

* chore: update test files

* test: update spy handling

* chore: update contracts

* test: fix resolve check

* chore: update logs

* fix: remove submodule

* fix: remove submodule

* fix: update integration tests

* fix: switch to latest node develop branch

* fix: type errors

* chore: remove old notes

* refactor: rename native mode

* chore: udpate to v3 endpoints

* fix: add working hacknet

* fix: update contracts

* fix: cleanup config files

* fix: add working nakamoto tx hacknet

* fix: working wormhole message with node only

* fix: minor updates

* fix: update failure checks

* refactor: streamline VAA monitoring

* test: update integration test

* test: add nonce to contract name

* test: fix faulty tests

* test: use pr build for stacks node

---------

Co-authored-by: janniks <[email protected]>
Co-authored-by: Roberto De Ioris <[email protected]>
Co-authored-by: jannik-stacks <[email protected]>
* feat: squashed stacks implementation

* chore: wip

* chore: wip

* chore: wip pre-polling

* feat: update to polling style

* feat: add reobserve

* docs: update comment

* chore: remove port remnants

* fix: update event logic and contracts

* chore: remove unwanted changes

* chore: clean up test dir

* docs: update readme

* chore: remove contract files for later merging in via separate pr

* Revert "chore: remove contract files for later merging in via separate pr"

This reverts commit 0e3fdaf.

* fix: add more integration progress

* chore: ai progress

* chore: update readme

* chore: update readme

* chore: remove file

* chore: wip

* chore: update scripts for spy test

* fix: add tx_status check for processing stacks transactions in the watcher

* chore: remove outdated test dir (wormhole-foundation#6)

Co-authored-by: janniks <[email protected]>

* refactor(audit): minor updates (wormhole-foundation#7)

* build: remove guardian dependency from stacks node

* refactor: make default parameters configurable

---------

Co-authored-by: janniks <[email protected]>

* fix: update contracts

* fix: ntt eth deploy updates

* chore: rename tmp notes

* fix: cherry pick watcher updates

* chore: update parameters

* fix(audit): update emitter address

* fix: pull in updates

* fix(audit): switch to state contract tracked owner var

* fix: update state contract changes

* chore: update notes

* fix(audit): add active contract fetching

* fix(audit): add max bigint checks, closes #4

* fix(audit): add missing fetch method

* fix(audit): fix incorrect clarity byte

* fix(audit): check burn block confirmation height for reobserve requests, closes #2

* fix: switch to confirmed height rather than processed height

* fix: remove stacks port remnant

* fix: add stacks defaults directly in node config

* chore: remove addressed comments, l1 finalizers not needed for stacks

* chore: update contracts

* fix: add missing c32 file

* added POC for stacks native api

* fixed c32

* reverted variable renaming

* test: update integration style tests

* refactor: move to Tilt tests with it cases

* refactor: update stacks test setup

* refactor: update stacks k8s

* chore: update test files

* test: update spy handling

* chore: update contracts

* test: fix resolve check

* chore: update logs

* fix: remove submodule

* fix: remove submodule

* fix: update integration tests

* fix: switch to latest node develop branch

* fix: type errors

* chore: remove old notes

* refactor: rename native mode

* chore: udpate to v3 endpoints

* fix: add working hacknet

* fix: update contracts

* fix: cleanup config files

* fix: add working nakamoto tx hacknet

* fix: working wormhole message with node only

* fix: minor updates

* fix: update failure checks

* refactor: streamline VAA monitoring

* test: update integration test

* test: add nonce to contract name

* test: fix faulty tests

* test: use pr build for stacks node

---------

Co-authored-by: janniks <[email protected]>
Co-authored-by: Roberto De Ioris <[email protected]>
Co-authored-by: jannik-stacks <[email protected]>

* chore: remove unwanted file

* fix: update pr according to repo guidelines

* chore: revert go.mod

* fix: pin dockerfiles

* chore: make linter happy

* chore: revert gitignore

* fix: add txid to message pub

* chore: cleanup duplicate go mod

* chore: undo package change

* chore: repin dockerfiles

* chore: add lock files

* chore: add lockfiles in dockerfile

* refactor: make success check more verbose

* refactor: ignore uncommitted events

* fix: add reobservation flag for stacks message pubs

* fix: remove unused l1finalizers

* refactor: fix lint errors

* docs: update stacks readmes

* chore: rename stacks test packages

---------

Co-authored-by: janniks <[email protected]>
Co-authored-by: janniks <[email protected]>
Co-authored-by: Roberto De Ioris <[email protected]>
* Parse None correctly.
* Parse Signed integers with the signed bit.
* Add length limits to dynamically sized values.
* Add recursive depth limit
* Use 'readFull()' instead of 'read()' on Buff
* Allow empty buffers
* ci: run ci on this branch

* ci: update runner

* ci: increase mine interval

* chore: trigger ci

* ci: install tilt

* ci: test k3d

* ci: add local registry

* ci: update timing for stacks devnet

* chore: pin stacks node image

* chore: undo ci changes

const dependencyFiles = [
"trait-sip-010.clar",
"proposal-trait.clar",
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jbencin can we get rid of some or all of these dep contracts?

commit e11926a
Author: Dirk Brink <[email protected]>
Date:   Thu Jan 29 11:21:48 2026 -0700

    node: check Solana transaction status before processing it (wormhole-foundation#4650)

    Co-authored-by: csongor <[email protected]>

commit 9f8e420
Author: John Saigle <[email protected]>
Date:   Tue Jan 27 10:39:35 2026 -0500

    node(governor): Add governed tokens (wormhole-foundation#4631)

    * node(governor): Add governed tokens

commit f40a821
Author: Jason Matthyser <[email protected]>
Date:   Tue Jan 27 15:31:41 2026 +0200

    Fix typo in KMS signer docs (wormhole-foundation#4647)

    * Fix typo in KMS signer docs

    * add SECG to cspell custom words

commit 51f01ef
Author: Aaron Clark <[email protected]>
Date:   Mon Jan 26 14:50:53 2026 -0600

    feat: 0g (wormhole-foundation#4646)

    * feat: 0g

    - reserve ZeroGravity chain id

    - deploy core to testnet

    ```
    -- Wormhole Core Addresses --------------------------------------------------
    | Setup address                | 0x3D5c2c2BEA15Af5D45F084834c535628C48c42A4 |
    | Implementation address       | 0x31EbE11D1cA20293d7fa90a4fCC45d5b6c1d7eEb |
    | Wormhole address             | 0x059560c0D626bdB982454b5EBd65DC8E7cF7973c |
    -----------------------------------------------------------------------------

    ./verify -r https://rpc.ankr.com/0g_galileo_testnet_evm -c ZeroGravity build-forge/Setup.sol/Setup.json 0x3D5c2c2BEA15Af5D45F084834c535628C48c42A4
    Deployed bytecode of 0x3D5c2c2BEA15Af5D45F084834c535628C48c42A4 on ZeroGravity matches build-forge/Setup.sol/Setup.json

    ./verify -r https://rpc.ankr.com/0g_galileo_testnet_evm -c ZeroGravity build-forge/Implementation.sol/Implementation.json 0x31EbE11D1cA20293d7fa90a4fCC45d5b6c1d7eEb
    Deployed bytecode of 0x31EbE11D1cA20293d7fa90a4fCC45d5b6c1d7eEb on ZeroGravity matches build-forge/Implementation.sol/Implementation.json

    ./verify -r https://rpc.ankr.com/0g_galileo_testnet_evm -c ZeroGravity build-forge/Wormhole.sol/Wormhole.json 0x059560c0D626bdB982454b5EBd65DC8E7cF7973c
    Deployed bytecode of 0x059560c0D626bdB982454b5EBd65DC8E7cF7973c on ZeroGravity matches build-forge/Wormhole.sol/Wormhole.json
    ```

    - deploy wtt to testnet

    ```
    -- TokenBridge Addresses ----------------------------------------------------
    | Token Implementation address | 0x97791aB7E653c1E6D87Bf421B3B71e0154Dfb225 |
    | BridgeSetup address          | 0x27ab99256eCbE78876Abb3671262c61F937D6eC2 |
    | BridgeImplementation address | 0xC699482c17d43b7D5349F2D3f58d61fEFA972B8c |
    | TokenBridge address          | 0x7d8eBc211C4221eA18E511E4f0fD50c5A539f275 |
    -----------------------------------------------------------------------------

    ./verify -r https://rpc.ankr.com/0g_galileo_testnet_evm -c ZeroGravity build-forge/TokenImplementation.sol/TokenImplementation.json 0x97791aB7E653c1E6D87Bf421B3B71e0154Dfb225
    Deployed bytecode of 0x97791aB7E653c1E6D87Bf421B3B71e0154Dfb225 on ZeroGravity matches build-forge/TokenImplementation.sol/TokenImplementation.json

    ./verify -r https://rpc.ankr.com/0g_galileo_testnet_evm -c ZeroGravity build-forge/BridgeSetup.sol/BridgeSetup.json 0x27ab99256eCbE78876Abb3671262c61F937D6eC2
    Deployed bytecode of 0x27ab99256eCbE78876Abb3671262c61F937D6eC2 on ZeroGravity matches build-forge/BridgeSetup.sol/BridgeSetup.json

    ./verify -r https://rpc.ankr.com/0g_galileo_testnet_evm -c ZeroGravity build-forge/BridgeImplementation.sol/BridgeImplementation.json 0xC699482c17d43b7D5349F2D3f58d61fEFA972B8c
    Deployed bytecode of 0xC699482c17d43b7D5349F2D3f58d61fEFA972B8c on ZeroGravity matches build-forge/BridgeImplementation.sol/BridgeImplementation.json

    ./verify -r https://rpc.ankr.com/0g_galileo_testnet_evm -c ZeroGravity build-forge/TokenBridge.sol/TokenBridge.json 0x7d8eBc211C4221eA18E511E4f0fD50c5A539f275
    Deployed bytecode of 0x7d8eBc211C4221eA18E511E4f0fD50c5A539f275 on ZeroGravity matches build-forge/TokenBridge.sol/TokenBridge.json
    ```

    - deploy core to mainnet

    ```
    -- Wormhole Core Addresses --------------------------------------------------
    | Setup address                | 0x27ab99256eCbE78876Abb3671262c61F937D6eC2 |
    | Implementation address       | 0x97791aB7E653c1E6D87Bf421B3B71e0154Dfb225 |
    | Wormhole address             | 0xC699482c17d43b7D5349F2D3f58d61fEFA972B8c |
    -----------------------------------------------------------------------------

    ./verify -r https://evmrpc.0g.ai -c ZeroGravity build-forge/Setup.sol/Setup.json 0x27ab99256eCbE78876Abb3671262c61F937D6eC2
    Deployed bytecode of 0x27ab99256eCbE78876Abb3671262c61F937D6eC2 on ZeroGravity matches build-forge/Setup.sol/Setup.json

    ./verify -r https://evmrpc.0g.ai -c ZeroGravity build-forge/Implementation.sol/Implementation.json 0x97791aB7E653c1E6D87Bf421B3B71e0154Dfb225
    Deployed bytecode of 0x97791aB7E653c1E6D87Bf421B3B71e0154Dfb225 on ZeroGravity matches build-forge/Implementation.sol/Implementation.json

    ./verify -r https://evmrpc.0g.ai -c ZeroGravity build-forge/Wormhole.sol/Wormhole.json 0xC699482c17d43b7D5349F2D3f58d61fEFA972B8c
    Deployed bytecode of 0xC699482c17d43b7D5349F2D3f58d61fEFA972B8c on ZeroGravity matches build-forge/Wormhole.sol/Wormhole.json
    ```

    - deploy wtt to mainnet

    ```
    -- TokenBridge Addresses ----------------------------------------------------
    | Token Implementation address | 0x556B259cFaCd9896B2773310080c7c3bcE90Ff01 |
    | BridgeSetup address          | 0x2AA486342B1a2767Aa57fA29c663dc1bC92a0Ff7 |
    | BridgeImplementation address | 0x29C46F51008F43F7e2A026dDDc20302bD032c93a |
    | TokenBridge address          | 0xee12EBDdF6E34A206e1798D185317C846BC21638 |
    -----------------------------------------------------------------------------

    ./verify -r https://evmrpc.0g.ai -c ZeroGravity build-forge/TokenImplementation.sol/TokenImplementation.json 0x556B259cFaCd9896B2773310080c7c3bcE90Ff01
    Deployed bytecode of 0x556B259cFaCd9896B2773310080c7c3bcE90Ff01 on ZeroGravity matches build-forge/TokenImplementation.sol/TokenImplementation.json

    ./verify -r https://evmrpc.0g.ai -c ZeroGravity build-forge/BridgeSetup.sol/BridgeSetup.json 0x2AA486342B1a2767Aa57fA29c663dc1bC92a0Ff7
    Deployed bytecode of 0x2AA486342B1a2767Aa57fA29c663dc1bC92a0Ff7 on ZeroGravity matches build-forge/BridgeSetup.sol/BridgeSetup.json

    ./verify -r https://evmrpc.0g.ai -c ZeroGravity build-forge/BridgeImplementation.sol/BridgeImplementation.json 0x29C46F51008F43F7e2A026dDDc20302bD032c93a
    Deployed bytecode of 0x29C46F51008F43F7e2A026dDDc20302bD032c93a on ZeroGravity matches build-forge/BridgeImplementation.sol/BridgeImplementation.json

    ./verify -r https://evmrpc.0g.ai -c ZeroGravity build-forge/TokenBridge.sol/TokenBridge.json 0xee12EBDdF6E34A206e1798D185317C846BC21638
    Deployed bytecode of 0xee12EBDdF6E34A206e1798D185317C846BC21638 on ZeroGravity matches build-forge/TokenBridge.sol/TokenBridge.json
    ```

    * add 0g to governor mainnet chains

    * fix: add 0g to ignoredChains in TestGovernedChainHasGovernedAssets

    * chore: rename 0g envs

    * add WOG zerogravity governed token

    * chore: fix comment

    * chore: format

commit 3f4024d
Author: Dirk Brink <[email protected]>
Date:   Mon Jan 26 14:29:30 2026 -0300

    node: governor token list update (wormhole-foundation#4630)

commit 48f9bd9
Author: Paul Noel <[email protected]>
Date:   Tue Jan 20 08:19:04 2026 -0600

    node: allow more nodes per guardian

commit 6f9e80d
Author: Evan Gray <[email protected]>
Date:   Thu Jan 15 20:27:13 2026 -0500

    feat(sdk): reserve Dogecoin and XRPL

commit 29e77b2
Author: Aaron Clark <[email protected]>
Date:   Tue Jan 13 11:47:59 2026 -0600

    feat(node): MonadTestnet after re-genesis (wormhole-foundation#4636)

    - MonadTestnet is added after Monad testnet's re-genesis

    - add new MonadTestnet to sdk and proto defs

    - add MonadTestnet to watcher, node, and query modules

    - deploy Core and WTT contracts

    ```
    -- Wormhole Core Addresses --------------------------------------------------
    | Setup address                | 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938 |
    | Implementation address       | 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350 |
    | Wormhole address             | 0xaBf89de706B583424328B54dD05a8fC986750Da8 |
    -----------------------------------------------------------------------------

    -- TokenBridge Addresses ----------------------------------------------------
    | Token Implementation address | 0x0B2719cdA2F10595369e6673ceA3Ee2EDFa13BA7 |
    | BridgeSetup address          | 0x81705b969cDcc6FbFde91a0C6777bE0EF3A75855 |
    | BridgeImplementation address | 0x7C0faFc4384551f063e05aee704ab943b8B53aB3 |
    | TokenBridge address          | 0xF97B81E513f53c7a6B57Bd0b103a6c295b3096C5 |
    -----------------------------------------------------------------------------

    ./verify -r https://testnet-rpc.monad.xyz/ -c MonadTestnet build-forge/Implementation.sol/Implementation.json 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350
    Deployed bytecode of 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350 on MonadTestnet matches build-forge/Implementation.sol/Implementation.json

    ./verify -r https://testnet-rpc.monad.xyz/ -c MonadTestnet build-forge/Setup.sol/Setup.json 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938
    Deployed bytecode of 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938 on MonadTestnet matches build-forge/Setup.sol/Setup.json

    ./verify -r https://testnet-rpc.monad.xyz/ -c MonadTestnet build-forge/Wormhole.sol/Wormhole.json 0xaBf89de706B583424328B54dD05a8fC986750Da8
    Deployed bytecode of 0xaBf89de706B583424328B54dD05a8fC986750Da8 on MonadTestnet matches build-forge/Wormhole.sol/Wormhole.json

    ```

commit 2831e8d
Author: Aaron Clark <[email protected]>
Date:   Wed Jan 7 13:35:17 2026 -0600

    feat(node): Moca mainnet (wormhole-foundation#4627)

    - Moca's mainnet block explorer is unavailable so contract verification is pending

    - The RPC used for Moca Mainnet required authentication

    ```

    -- Wormhole Core Addresses --------------------------------------------------
    | Setup address                | 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938 |
    | Implementation address       | 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350 |
    | Wormhole address             | 0xaBf89de706B583424328B54dD05a8fC986750Da8 |
    -----------------------------------------------------------------------------

    ./verify -r $RPC_URL -c Moca build-forge/Implementation.sol/Implementation.json 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350
    Deployed bytecode of 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350 on Moca matches build-forge/Implementation.sol/Implementation.json

    ./verify -r $RPC_URL -c Moca build-forge/Setup.sol/Setup.json 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938
    Deployed bytecode of 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938 on Moca matches build-forge/Setup.sol/Setup.json

    ./verify -r $RPC_URL -c Moca build-forge/Wormhole.sol/Wormhole.json 0xaBf89de706B583424328B54dD05a8fC986750Da8
    Deployed bytecode of 0xaBf89de706B583424328B54dD05a8fC986750Da8 on Moca matches build-forge/Wormhole.sol/Wormhole.json
    ```

    Co-authored-by: Adam <[email protected]>

commit 6b7c966
Author: Priyajeet Hora <[email protected]>
Date:   Wed Jan 7 09:01:45 2026 -0800

    feat: reserve a fake chain ID for hypercore (wormhole-foundation#4509)

    Co-authored-by: Adam <[email protected]>

commit 0c73243
Author: Adam <[email protected]>
Date:   Wed Jan 7 15:16:34 2026 +0000

    add Fernando to sdk/vaa as CODEOWNER (wormhole-foundation#4633)

commit be4dcf2
Author: Tony Jin <[email protected]>
Date:   Tue Jan 6 09:41:27 2026 -0800

    node/pkg/watchers/evm: Update Monad mainnet RPC (wormhole-foundation#4623)

commit 7235db9
Author: John Saigle <[email protected]>
Date:   Mon Jan 5 11:03:48 2026 -0500

    node(governor): Add defense in depth checks for computeValue (wormhole-foundation#4618)

    * node(governor): Add defense in depth checks for computeValue

    - Modify computeValue to validate its parameters. The callers are
      already safe in each instance, but this helps to facilitate unit tests
      and refactoring
    - Add Price validation for mainnet tokens (must be non-nil and
      non-negative)

    * add missing check for token price Sign()

    * rename computeValue --> usdValue

    - Fix comment for computeValue to avoid confusion with the `transfer`
      type
    - Rename function to `usdValue()` (presumably most of what we are doing
      here is computing things)

commit 0b4992d
Author: John Saigle <[email protected]>
Date:   Mon Jan 5 10:07:44 2026 -0500

    node(txverifier): skip logs with parsing errors instead of returning error (wormhole-foundation#4614)

    * node(txverifier): skip logs with parsing errors instead of returning error

    Modifies the design philosophy in the EVM Transfer Verifier with respect
    to error-handling.

    Previously, the code would return a "receipt error" when encountering an
    EVM log that was not well-formed or else was extremely unusual. Instead,
    that code now skips those logs and does not include them in the
    invariant calculations.

    Practically, this results in fewer cases where the watcher will give the
    `CouldNotVerify` status to Message Publications that have unusual logs
    in their receipts. This should limit the ability for a user to control the outcome of
    querying the Transfer Verifier by passing in logs that are irrelevant
    but malformed.

    The logs that remain after this filtering will still be subject to the
    invariant checks.

    - Changes instances of log parsing to skip instead of return errors
    - Adds more happy path unit tests to demonstrate that problematic logs
      are skipped
    - Add additional comments and cleanup helper functions in unit tests

    * Reorder checks in LogMessagePublished parsing

    - Move checks that result in skipping a log to be the first in the
      sequence. This makes it more clear when a log should be ignored vs.
      when it should return an error
    - Describe the security concerns and warn around refactoring
    - Improve commenting around related methods
    - Remove redundant IsTransfer check that is already performed by both
      the caller and by the subsequent header payload parsing

    * Delay CouldNotVerify

commit 991ce5f
Author: John Saigle <[email protected]>
Date:   Mon Jan 5 09:00:53 2026 -0500

    docs: Clarify EVM transfer verifier is not "strict" (wormhole-foundation#4615)

    * docs: Clarify EVM transfer verifier is not "strict"

commit a227333
Author: John Saigle <[email protected]>
Date:   Fri Dec 19 11:36:01 2025 -0500

    fix format

commit 15ccbbc
Author: John Saigle <[email protected]>
Date:   Fri Dec 19 09:19:43 2025 -0500

    node(governor): Add governed tokens

commit 3b65088
Author: Aaron Clark <[email protected]>
Date:   Mon Dec 22 09:31:49 2025 -0600

    fix(watcher): update MegaETH mainnet RPC (wormhole-foundation#4625)

    Co-authored-by: Adam <[email protected]>

commit 1d74672
Author: Evan Gray <[email protected]>
Date:   Fri Dec 19 14:49:01 2025 -0500

    ci: fix amd64 tilt up

commit 02719fa
Author: John Saigle <[email protected]>
Date:   Thu Dec 18 17:49:06 2025 -0500

    ci: Remove Terra classic when running tilt in ci mode (wormhole-foundation#4621)

    * ci: Remove Terra classic when running tilt in ci mode

    * delete terra integration test

    * remove references to terra in JS SDK tests

    * remove references to terra in guardian set init

    * delete terra from deploy wormchain script

    * remove terra classic token bridge VAA from testnet CSV

    * remove terra classic token bridge registration from Terra2 deploy script

    * delete terra classic entries from testing libraries

    * revert change to JS client

    * attempt to bust docker cache for constants

    * fix: remove Terra Classic token bridge registration from .env.test template

    The ethereum/.env.test file is used as a template by guardian-set-init.sh,
    which copies it to .env.0x. The devnetInitialization.sh script then reads
    all REGISTER_*_TOKEN_BRIDGE_VAA variables and registers them on BSC.

    Having REGISTER_TERRA_TOKEN_BRIDGE_VAA in this file was causing BSC to
    register chain 3 (Terra Classic) in its token bridge, corrupting the chain
    registry and causing the accountant test to fail with 'invalid emitter'.

    * remove terra classic integration tests

    * remove another reference to terra classic

commit ed073da
Author: John Saigle <[email protected]>
Date:   Tue Dec 16 13:29:23 2025 -0500

    node(governor): fix initialization of flow cancel corridors (wormhole-foundation#4619)

    The code was using the wrong `make` structure and so was
    actually filling the slice with a bunch of empty corridors and appending
    entries from `input` to the end of the slice.

commit c113791
Author: John Saigle <[email protected]>
Date:   Thu Dec 11 08:32:16 2025 -0500

    Add convenience script to run clippy on Rust crates locally (wormhole-foundation#4561)

    * Add convenience script to run clippy on Rust crates locally

    - Adds scripts/clippy.sh to run clippy on most Rust crates. This should
    make it easier for devs to keep clippy's lints up-to-date, as currently
    this requires doing a complete push-and-CI cycle for each lint
    violation. This is aggravated by CI failing early as soon as there is a
    lint violation instead of printing a full report of all clippy issues.
    - Adds clippy to the Makefile's lint target.
    - Adds me to the codeowners for the new script.

    (There are some important exceptions that were skipped in this initial run as
      they require other artifacts or make assumptions about which directory the code is
      executed from.)

commit 61eff61
Author: John Saigle <[email protected]>
Date:   Tue Dec 9 11:32:27 2025 -0500

    node(governor): Add manual tokens (wormhole-foundation#4616)

commit 82f8d98
Author: bemic <[email protected]>
Date:   Fri Dec 5 15:09:20 2025 +0100

    node: update VAA with latest guardian set index (wormhole-foundation#4611)

commit 191b519
Author: John Saigle <[email protected]>
Date:   Fri Dec 5 09:08:17 2025 -0500

    docs: Notary operating instructions (wormhole-foundation#4517)

    * docs: Notary operating instructions

commit 0833a73
Author: Dirk Brink <[email protected]>
Date:   Wed Dec 3 08:40:08 2025 -0800

    node: Reduce Monad Governor limits back to the default (wormhole-foundation#4610)

commit 5af2e5e
Author: John Saigle <[email protected]>
Date:   Tue Dec 2 10:28:06 2025 -0500

    notary: Add prometheus analytics for Notary and Transfer Verifiers (wormhole-foundation#4521)

    * notary: Add prometheus analytics

commit 99443b2
Author: Dirk Brink <[email protected]>
Date:   Tue Dec 2 06:25:26 2025 -0800

    node: Governor token list update (wormhole-foundation#4605)

    * node: governor token list update

    * node: manually correct lz bridged usdc (fantom)

commit ed09f0f
Author: Aaron Clark <[email protected]>
Date:   Tue Dec 2 04:33:47 2025 -0600

    feat: MegaETH WTT/TokenBridge deployment (wormhole-foundation#4606)

    adds WTT contract addresses and deployment artifacts

    configures governor for MegaETH

    ```
    -- TokenBridge Addresses ----------------------------------------------------
    | Token Implementation address | 0x0B2719cdA2F10595369e6673ceA3Ee2EDFa13BA7 |
    | BridgeSetup address          | 0x81705b969cDcc6FbFde91a0C6777bE0EF3A75855 |
    | BridgeImplementation address | 0x7C0faFc4384551f063e05aee704ab943b8B53aB3 |
    | TokenBridge address          | 0xF97B81E513f53c7a6B57Bd0b103a6c295b3096C5 |
    -----------------------------------------------------------------------------

    ./verify -r https://alpha.megaeth.com/rpc?user=wormhole+v1&token=1763572125-nHrSZvajBLddWPoUb5JJBY4X2P42Qae1CA6JzShp4Oc%3D -c MegaETH build-forge/BridgeImplementation.sol/BridgeImplementation.json 0x7C0faFc4384551f063e05aee704ab943b8B53aB3
    Deployed bytecode of 0x7C0faFc4384551f063e05aee704ab943b8B53aB3 on MegaETH matches build-forge/BridgeImplementation.sol/BridgeImplementation.json

    ./verify -r https://alpha.megaeth.com/rpc?user=wormhole+v1&token=1763572125-nHrSZvajBLddWPoUb5JJBY4X2P42Qae1CA6JzShp4Oc%3D -c MegaETH build-forge/BridgeSetup.sol/BridgeSetup.json 0x81705b969cDcc6FbFde91a0C6777bE0EF3A75855
    Deployed bytecode of 0x81705b969cDcc6FbFde91a0C6777bE0EF3A75855 on MegaETH matches build-forge/BridgeSetup.sol/BridgeSetup.json

    ./verify -r https://alpha.megaeth.com/rpc?user=wormhole+v1&token=1763572125-nHrSZvajBLddWPoUb5JJBY4X2P42Qae1CA6JzShp4Oc%3D -c MegaETH build-forge/TokenImplementation.sol/TokenImplementation.json 0x0B2719cdA2F10595369e6673ceA3Ee2EDFa13BA7
    Deployed bytecode of 0x0B2719cdA2F10595369e6673ceA3Ee2EDFa13BA7 on MegaETH matches build-forge/TokenImplementation.sol/TokenImplementation.json

    ./verify -r https://alpha.megaeth.com/rpc?user=wormhole+v1&token=1763572125-nHrSZvajBLddWPoUb5JJBY4X2P42Qae1CA6JzShp4Oc%3D -c MegaETH build-forge/TokenBridge.sol/TokenBridge.json 0xF97B81E513f53c7a6B57Bd0b103a6c295b3096C5
    Deployed bytecode of 0xF97B81E513f53c7a6B57Bd0b103a6c295b3096C5 on MegaETH matches build-forge/TokenBridge.sol/TokenBridge.json

    [Guardian Set 1 Registration](https://megaeth-testnet-v3.blockscout.com/tx/0x07a7c1522865eebb68fc81800040dd3d8b177246a835274de8ac12f0f2f4dc21) - 0x07a7c1522865eebb68fc81800040dd3d8b177246a835274de8ac12f0f2f4dc21

    [Guardian Set 2 Registration](https://megaeth-testnet-v3.blockscout.com/tx/0x522ac4e76329055a1bcbb2c363a3e3554582bc10d8163f865b96e4d501701d96) - 0x522ac4e76329055a1bcbb2c363a3e3554582bc10d8163f865b96e4d501701d96

    [Guardian Set 3 Registration](https://megaeth-testnet-v3.blockscout.com/tx/0x0c0a3be5d0e5ff5ca6746d4c3c57af5b5ed3422deecbe21f6329e76d796a961e) - 0x0c0a3be5d0e5ff5ca6746d4c3c57af5b5ed3422deecbe21f6329e76d796a961e

    [Guardian Set 4 Registration](https://megaeth-testnet-v3.blockscout.com/tx/0x4be8ef5bcadcdf3f1a6be2a6d0a5b220d83f813c14d0bd2c5526a16f4b19d484) - 0x4be8ef5bcadcdf3f1a6be2a6d0a5b220d83f813c14d0bd2c5526a16f4b19d484
    ```

commit 9e89a0c
Author: John Saigle <[email protected]>
Date:   Mon Dec 1 11:35:24 2025 -0500

    node: Add IsWTT() helper method for VAA and MessagePublication (wormhole-foundation#4585)

    * node: Add IsWTT() helper method for VAA and MessagePublication

commit fa5e662
Author: John Saigle <[email protected]>
Date:   Mon Dec 1 11:19:19 2025 -0500

    node(p2p): Remove carve-out for 0 timestamps (wormhole-foundation#4586)

    PR#4501 added a temporary exception for messages with a timestamp of
    zero in order to support messages issued before the new field was added.
    All Guardians have upgraded to a version where this field is always set,
    so the exception can be removed.

commit 489c2f5
Author: John Saigle <[email protected]>
Date:   Mon Dec 1 11:10:56 2025 -0500

    ci: Enable more govet lints (wormhole-foundation#4567)

    - Fix two `unusedwrite` errors in test code

commit fb291c4
Author: John Saigle <[email protected]>
Date:   Mon Dec 1 10:39:59 2025 -0500

    docs: Add transfer verifier instructions for guardians (wormhole-foundation#4304)

    * docs: Add transfer verifier instructions for guardians [skip ci]

commit 52ecb92
Author: John Saigle <[email protected]>
Date:   Fri Nov 28 08:22:01 2025 -0500

    ci: Add token metadata parser (wormhole-foundation#4553)

    * ci: Add token metadata parser

    * ci: Add rust-toolchain.toml for token_metadata_parser crate

    The CI was failing because cargo fmt was picking up the parent
    directory's nightly-2022-02-24 toolchain instead of stable. This
    toolchain doesn't have rustfmt installed.

    This commit adds a rust-toolchain.toml file specifying Rust 1.83.0
    with rustfmt and clippy components, which overrides the parent
    toolchain and ensures the crate uses a modern stable Rust version.

    Also applies formatting fixes to lib.rs to comply with cargo fmt.

    - Renames `rust-toolchain` to have .toml extension
    - Override the parent directory formatting for the metadata parsing
      crate by adding rustfmt file

    * Update .github/workflows/build.yml

    Co-authored-by: Dirk Brink <[email protected]>

    ---------

    Co-authored-by: Dirk Brink <[email protected]>

commit b2bd806
Author: Aaron Clark <[email protected]>
Date:   Wed Nov 26 14:46:35 2025 -0600

    chore: add megaeth mainnet core contract deployment

    ```
    -- Wormhole Core Addresses --------------------------------------------------
    | Setup address                | 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938 |
    | Implementation address       | 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350 |
    | Wormhole address             | 0xaBf89de706B583424328B54dD05a8fC986750Da8 |
    -----------------------------------------------------------------------------

    ./verify -r $RPC_URL -c MegaETH build-forge/Implementation.sol/Implementation.json 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350
    Deployed bytecode of 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350 on MegaETH matches build-forge/Implementation.sol/Implementation.json

    ./verify -r $RPC_URL -c MegaETH build-forge/Setup.sol/Setup.json 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938
    Deployed bytecode of 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938 on MegaETH matches build-forge/Setup.sol/Setup.json

    ./verify -r $RPC_URL -c MegaETH build-forge/Wormhole.sol/Wormhole.json 0xaBf89de706B583424328B54dD05a8fC986750Da8
    Deployed bytecode of 0xaBf89de706B583424328B54dD05a8fC986750Da8 on MegaETH matches build-forge/Wormhole.sol/Wormhole.json
    ```

    add MegaETH mainnet to watcher chain_config

commit d72ba15
Author: Aaron Clark <[email protected]>
Date:   Tue Nov 25 16:19:24 2025 -0600

    deploy TokenBridge to MegaETH mainnet

    ```
    -- Token Bridge Addresses ---------------------------------------------------
    | BridgeSetup address          | 0xF97B81E513f53c7a6B57Bd0b103a6c295b3096C5 |
    | BridgeImplementation address | 0x31EbE11D1cA20293d7fa90a4fCC45d5b6c1d7eEb |
    | TokenImplementation address  | 0x7C0faFc4384551f063e05aee704ab943b8B53aB3 |
    | TokenBridge address (Proxy)  | 0x3D5c2c2BEA15Af5D45F084834c535628C48c42A4 |
    -----------------------------------------------------------------------------

    ./verify -r https://timothy.megaeth.com/rpc -c MegaETHTestnet build-forge/BridgeImplementation.sol/BridgeImplementation.json 0x31EbE11D1cA20293d7fa90a4fCC45d5b6c1d7eEb
    Deployed bytecode of 0x31EbE11D1cA20293d7fa90a4fCC45d5b6c1d7eEb on MegaETHTestnet matches build-forge/BridgeImplementation.sol/BridgeImplementation.json

    ./verify -r https://timothy.megaeth.com/rpc -c MegaETHTestnet build-forge/BridgeSetup.sol/BridgeSetup.json 0xF97B81E513f53c7a6B57Bd0b103a6c295b3096C5
    Deployed bytecode of 0xF97B81E513f53c7a6B57Bd0b103a6c295b3096C5 on MegaETHTestnet matches build-forge/BridgeSetup.sol/BridgeSetup.json

    ./verify -r https://timothy.megaeth.com/rpc -c MegaETHTestnet build-forge/TokenImplementation.sol/TokenImplementation.json 0x7C0faFc4384551f063e05aee704ab943b8B53aB3
    Deployed bytecode of 0x7C0faFc4384551f063e05aee704ab943b8B53aB3 on MegaETHTestnet matches build-forge/TokenImplementation.sol/TokenImplementation.json

    ./verify -r https://timothy.megaeth.com/rpc -c MegaETHTestnet build-forge/TokenBridge.sol/TokenBridge.json 0x3D5c2c2BEA15Af5D45F084834c535628C48c42A4
    Deployed bytecode of 0x3D5c2c2BEA15Af5D45F084834c535628C48c42A4 on MegaETHTestnet matches build-forge/TokenBridge.sol/TokenBridge.json
    ```

commit b16b254
Author: Aaron Clark <[email protected]>
Date:   Mon Nov 24 15:48:01 2025 -0600

    feat(node): add MegaETH

    add MegaETH to proto and sdk

    In order to avoid gas limit errors, core contracts were deployed to MegaETH
    testnet using `forge create` instead of deployment scripts.

    ```
    -- Wormhole Core Addresses --------------------------------------------------
    | Setup address                | 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938 |
    | Implementation address       | 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350 |
    | Wormhole address             | 0x81705b969cDcc6FbFde91a0C6777bE0EF3A75855 |
    -----------------------------------------------------------------------------

    ./verify -r $RPC_URL -c $CHAIN_NAME build-forge/Implementation.sol/Implementation.json 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350
    Deployed bytecode of 0x32b3b68e9f053E724Da0A9e57F062BFaE6695350 on MegaETHTestnet matches build-forge/Implementation.sol/Implementation.json

    ./verify -r $RPC_URL -c $CHAIN_NAME build-forge/Setup.sol/Setup.json 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938
    Deployed bytecode of 0xe74F20a5A07921f63F2d55B8aE6d14f4AD490938 on MegaETHTestnet matches build-forge/Setup.sol/Setup.json

    ./verify -r $RPC_URL -c $CHAIN_NAME build-forge/Wormhole.sol/Wormhole.json 0x81705b969cDcc6FbFde91a0C6777bE0EF3A75855
    Deployed bytecode of 0x81705b969cDcc6FbFde91a0C6777bE0EF3A75855 on MegaETHTestnet matches build-forge/Wormhole.sol/Wormhole.json
    ```

commit 23ee40e
Author: Dirk Brink <[email protected]>
Date:   Mon Nov 24 14:43:50 2025 -0800

    node: Add manual governed tokens for Monad

commit c3301db
Author: John Saigle <[email protected]>
Date:   Fri Nov 21 12:36:32 2025 -0500

    ci: Upgrade golangci-lint version to 2.6.2 (wormhole-foundation#4558)

    * ci: Upgrade golangci-lint version to 2.6.2

commit 2fead4a
Author: Dirk Brink <[email protected]>
Date:   Fri Nov 21 08:30:54 2025 -0800

    node: Governor token list update (wormhole-foundation#4562)

    * node: governor token list update

    * Add MATIC to manual tokens list

    ---------

    Co-authored-by: djb15 <[email protected]>

commit f173ef9
Author: John Saigle <[email protected]>
Date:   Fri Nov 21 11:30:47 2025 -0500

    ci: pin github actions for wormchains to commits instead of releases (wormhole-foundation#4342)

commit 697b1ae
Author: John Saigle <[email protected]>
Date:   Fri Nov 21 07:44:11 2025 -0500

    node(governor): Ignore configured tokens originating from ungoverned chains (wormhole-foundation#4455)

    - Do not govern tokens from deprecated chains when initializing the
      governor
    - Do not include tokens from deprecated chains when generating mainnet
      tokens
    - Add unit test to ensure all configured tokens correspond to a governed
      chain. (we already enforce that all governed chains have governed
      tokens associated.)

commit c3fcb2d
Author: John Saigle <[email protected]>
Date:   Thu Nov 20 12:38:43 2025 -0500

    docs: Remove social media monitoring section from SECURITY.md (wormhole-foundation#4504)

commit 1d521af
Author: John Saigle <[email protected]>
Date:   Thu Nov 20 07:58:36 2025 -0500

    node: Modify Governor limits for Monad
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants