Skip to content

Conversation

@Agusrodri
Copy link
Contributor

@Agusrodri Agusrodri commented Nov 18, 2025

Description

This PR introduces the new ContainerEthereumBlobExporterV2.

This new struct takes care of processing incoming ExportMessage instructions that comes from container chains via Snowbridge V2, with the goal of transferring native container tokens from the corresponding container to Ethereum.

XCM V5 Features

  • Detects and processes AliasOrigin instruction to identify V2 messages.
  • Supports new PayFees instruction for explicit fee payment.
  • Validates WithdrawAsset + PayFees pattern for fee handling.

V1 compatibility

  • Distinguishes between V1 and V2 messages based on presence of AliasOrigin instruction.
  • Returns NotApplicable for V1 messages, allowing fallback to V1 exporter.

New XCM message structure (inside ExportMessage instruction)

For this new exporter to take action, the following message structure is required:

   WithdrawAsset         // Reserve fee asset
   PayFees               // Specify fee to pay
   ReserveAssetDeposited // The actual token being bridged
   [ClearOrigin]         // Optional
   AliasOrigin           // V2 identifier - sets the origin
   DepositAsset          // Deposit to AccountKey20 beneficiary
   SetTopic              // Message ID

Base automatically changed from girazoki-ethereum-outbount-queue-integration to master November 27, 2025 16:07
@github-actions
Copy link
Contributor

github-actions bot commented Nov 28, 2025

Coverage Report

(master)

@@                      Coverage Diff                      @@
##           master   agustin-outbound-queue-v2      +/-   ##
=============================================================
+ Coverage   71.04%                      71.75%   +0.71%     
+ Files         550                         554       +4     
+ Lines       75240                       77429    +2189     
=============================================================
+ Hits        53451                       55559    +2108     
+ Misses      21789                       21870      +81     
Files Changed Coverage
/chains/container-chains/runtime-templates/frontier/src/weights/pallet_xcm.rs 3.09% (+3.09%)
/chains/container-chains/runtime-templates/frontier/src/weights/xcm/mod.rs 37.55% (+17.45%)
/chains/container-chains/runtime-templates/simple/src/weights/pallet_xcm.rs 3.09% (+3.09%)
/chains/container-chains/runtime-templates/simple/src/weights/xcm/mod.rs 36.36% (+17.80%)
/primitives/xcm-commons/src/lib.rs 92.68% (+1.50%)

Coverage generated

@Agusrodri Agusrodri added the A8-mergeoncegreen Pull request is reviewed well. label Nov 28, 2025
@Agusrodri Agusrodri marked this pull request as ready for review November 28, 2025 15:50
@Agusrodri Agusrodri force-pushed the agustin-outbound-queue-v2 branch from 9776332 to 7db4f8b Compare December 1, 2025 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A8-mergeoncegreen Pull request is reviewed well. B7-runtimenoteworthy Changes should be noted in any runtime-upgrade release notes breaking Needs to be mentioned in breaking changes D9-needsaudit👮 PR contains changes to fund-managing logic that should be properly reviewed and externally audited R3-dancelight change affects dancelight runtime R7-container change affects only container runtimes V-1700 change to incorporate in runtime 1700

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants