Snowbridge V2: Add generic AggregateMessageOrigin#8106
Merged
bkontur merged 73 commits intoOct 27, 2025
Conversation
ba065d2 to
01702b9
Compare
Contributor
Author
|
@claravanstaden if you get a chance, could you please review this? I think it’ll really help support more generic use cases |
Contributor
claravanstaden
left a comment
There was a problem hiding this comment.
Looks great! :) Few nits around naming and fmt, but otherwise good to go.
888caf9 to
495c743
Compare
bkontur
reviewed
Apr 4, 2025
495c743 to
750d728
Compare
750d728 to
21eb9b5
Compare
Contributor
Author
|
@bkontur @claravanstaden Thank you for your initial review. I was wondering if there's anything else I can do on my end to help move this PR forward? |
21eb9b5 to
b102d1b
Compare
…nto generic-aggregate_message_origin
…nto generic-aggregate_message_origin
bkontur
reviewed
Oct 27, 2025
bkontur
approved these changes
Oct 27, 2025
bkontur
reviewed
Oct 27, 2025
Merged
via the queue into
paritytech:master
with commit Oct 27, 2025
51cf7d6
211 of 212 checks passed
girazoki
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Nov 3, 2025
girazoki
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Nov 10, 2025
girazoki
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Nov 12, 2025
sistemd
added a commit
that referenced
this pull request
Nov 24, 2025
# Description This PR introduces a generic `AggregateMessageOrigin` in Snowbridge V2 to provide a more flexible mechanism for message-queue origin recognition and handling. This approach aims to support broader use cases beyond parachains. By enabling custom origins, scenarios like solo chains, can build specialized message routing and processing making use of this configuration. ## Motivation - **Enhanced Integration**: While Snowbridge traditionally focuses on bridging parachains, there is also a need to send messages from various substrate-based chains (e.g., solo chains) and in different contexts. This change expands the protocol's ability to handle multiple, distinct origin types. - **Custom Command Structures**: Some projects need to incorporate custom Snowbridge commands or message structures, which cannot be processed by the default outbound queue. By introducing a more generic origin, these commands can be cleanly differentiated and securely processed. - **Flexibility**: Parachains, solo chains, or any environment running Snowbridge benefit from a uniform pattern to handle both common and custom message processing. ## Use Case Consider a scenario where you need to send messages to Ethereum directly from your runtime: - You have your own set of commands or data structures different from those provided by the traditional Snowbridge outbound queue. - You want to introduce a custom message processor that specifically handles your commands. - You need a distinct origin to differentiate your messages from standard Snowbridge traffic. By using the `AggregateMessageOrigin`, you can verify whether a message comes from a parachain, from Snowbridge itself, or from a custom origin. This is especially relevant in solo chain contexts, where you might not rely on the parachain assumptions but still want to leverage a robust bridging framework. --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Adrian Catangiu <adrian@parity.io> Co-authored-by: Branislav Kontur <bkontur@gmail.com>
tmpolaczyk
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Jan 15, 2026
tmpolaczyk
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Jan 15, 2026
tmpolaczyk
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Jan 15, 2026
tmpolaczyk
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Jan 15, 2026
tmpolaczyk
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Jan 15, 2026
tmpolaczyk
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Jan 15, 2026
tmpolaczyk
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Jan 15, 2026
tmpolaczyk
pushed a commit
to moondance-labs/polkadot-sdk
that referenced
this pull request
Jan 15, 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.
Description
This PR introduces a generic
AggregateMessageOriginin Snowbridge V2 to provide a more flexible mechanism for message-queue origin recognition and handling. This approach aims to support broader use cases beyond parachains. By enabling custom origins, scenarios like solo chains, can build specialized message routing and processing making use of this configuration.Motivation
Enhanced Integration: While Snowbridge traditionally focuses on bridging parachains, there is also a need to send messages from various substrate-based chains (e.g., solo chains) and in different contexts. This change expands the protocol's ability to handle multiple, distinct origin types.
Custom Command Structures: Some projects need to incorporate custom Snowbridge commands or message structures, which cannot be processed by the default outbound queue. By introducing a more generic origin, these commands can be cleanly differentiated and securely processed.
Flexibility: Parachains, solo chains, or any environment running Snowbridge benefit from a uniform pattern to handle both common and custom message processing.
Use Case
Consider a scenario where you need to send messages to Ethereum directly from your runtime:
By using the
AggregateMessageOrigin, you can verify whether a message comes from a parachain, from Snowbridge itself, or from a custom origin. This is especially relevant in solo chain contexts, where you might not rely on the parachain assumptions but still want to leverage a robust bridging framework.