Rebase stellar onto main#77
Closed
dkgoutham wants to merge 198 commits into
Closed
Conversation
…ation#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
Co-authored-by: Adam <20446095+aadam-10@users.noreply.github.com>
…ion#4615) * docs: Clarify EVM transfer verifier is not "strict"
…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
…e-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)
Co-authored-by: Adam <20446095+aadam-10@users.noreply.github.com>
- 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 <20446095+aadam-10@users.noreply.github.com>
- 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 ```
* 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
* Fix typo in KMS signer docs * add SECG to cspell custom words
* node(governor): Add governed tokens
…foundation#4650) Co-authored-by: csongor <kiss.csongor.kiss@gmail.com>
* node(governor): Add governed tokens * format
* Upgrade to 2.8.0 and fix violations
Also add transaction error checks for hack scripts.
…ew vaa files and stellar branch
* Added testnet script with corresponding testnet vaas * feat: add deployment script * refactor: use new deployment script for the core contract --------- Co-authored-by: Goutham <dkgoutham1806@gmail.com>
* docs: Added comments/docs to every file * docs: Updated README.md file * chore: better explanation of "action" * docs: move architecture sections to ARCHITECTURE.md * chore: rewrite README.md * chore: update cspell-custom-words --------- Co-authored-by: Matteo Lisotto <matteo.lisotto@gmail.com>
feat: Removed existing initialisation function and added __constructor implementation
feat: let contractclient creates `WormholeClient` struct
…ss (#72) * Update core contract to use only contract addresses for emitter address * Bump stellar dependencies to latest * Use Address:to_payload to get the 32-byte address * deps: remove unused deps and `stellar-strkey` --------- Co-authored-by: Matteo Lisotto <matteo.lisotto@gmail.com>
* Add unit tests for stellar core contract * Add unit tests for stellar core contract * Add integration tests for Wormhole contract functionality on Stellar * Refactor test `nonce` to use runtime-generated values in Wormhole contract * chore: simplify integration test scripts * chore: use `stellar keys fund` command instead of calling friendbot through curl * chore: apply clippy * chore: apply cargo fmt * chore: delete redundant scritps. These operations are handled in the `integration-tests` crate * chore: add a cleanup trap --------- Co-authored-by: Matteo Lisotto <matteo.lisotto@gmail.com>
* fix: Reject governance payloads with trailing bytes after parsing * fix: Extend TTL for CurrentGuardianSetIndex on write * fix: Remove unused StorageKey::Admin and its storage write * fix: Replace governance_emitter storage with const in getter * fix: Extend MessageFee TTL on read in post_message_with_fee * fix: Eliminate double VAA parsing in governance flow * fix: Add parse_and_verify_vaa and eliminate double parsing * fix: Fix is_governance_vaa_consumed to return Result<bool> * fix: Remove MINIMUM_CONTRACT_BALANCE check from transfer_fees * doc: edit docs on MINIMUM_CONTRACT_BALANCE check * fix: Reject VAAs with version != 1 during parsing * fix: Remove TTL extension from consume_vaa * test: Fix tests for removed StorageKey::Admin, GovernanceEmitter storage, and MINIMUM_CONTRACT_BALANCE
* fix: Remove posted message hash storage and getter * fix: Remove last fee transfer timestamp storage and getter * fix: Remove get_contract_balance on-chain getter
* Implement Soroban executor contract * chore: use `soroban_client` crate interface * chore: fix executor dev-dependencies for tests * refactor: use `BytesReader` instead of manuel byte parsing * refactor: replace `init` with `__constructor` * refactor: use new `contractevent` macro * refactor: `request_execution` returns `Result` * chore: drop unused `NotInitialized` executor error * chore: apply cargo fmt * chore: apply cargo clippy * refactor: `Executor` to reflect EVM implementation * refactor: move test into `tests.rs` * refactor: move types, error and interface in `wormhole-soroban-client` * chore: add missing documentation --------- Co-authored-by: Matteo Lisotto <matteo.lisotto@gmail.com>
* feat: add lookup table * chore: apply cargo fmt
cupicmarko
approved these changes
Jun 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebases the stellar branch onto the latest main.