-
Notifications
You must be signed in to change notification settings - Fork 711
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Snowbridge v2 - Outbound Queue #6706
Draft
yrong
wants to merge
48
commits into
paritytech:master
Choose a base branch
from
yrong:outbound-queue-v2
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
+5,047
−598
Conversation
This file contains 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
Co-authored-by: Vincent Geddes <[email protected]>
Seperate outbound router crates
Outbound queue v2 with Transact
yrong
changed the title
[SnowbridgeV2]: Outbound queue
Snowbridge Unordered Message Delivery - Outbound Queue
Nov 29, 2024
yrong
changed the title
Snowbridge Unordered Message Delivery - Outbound Queue
Snowbridge v2 - Outbound Queue
Nov 29, 2024
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.
Context
This PR is for SnowbridgeV2, essentially unordered messaging system. This PR focus more on outbound changes, inbound changes will be addressed in another PR.
The point is that we want to make V1(i.e. ordered messaging) work side by side with V2, so we add new pallets without changing the legacy codes.
SnowbridgeV2 is based upon XCMV5 with new instructions like
AliasOrigin
,InitiateTransfer
in place.Initial PR yrong#4 which has been internally reviewed. It also requires some companion changes in:
Contract
Relayer
Workflow
cargo test -p bridge-hub-westend-integration-tests --lib tests::snowbridge_v2_outbound -- --nocapture
is the entry point where we build XCM to start the cross-chain transfer from AH.
on AH we add a custom exporter returns a lower fee(without the execution cost on Ethereum comparing with V1) charged from the user when exporting with V2 specific instructions(i.e.
AliasOrigin
), essentially predict the route by content of XCM, more details in Predicate route table by Xcm #6074On BH also add a new exporter to handle V2 specific xcm, convert XCM to
Message
structure which will be executed on Ethereum as following:In
OutboundQueue
encode the message and store it into a merkle tree as before, add the pending message intoPendingOrder
storage. Code hereIn
OutboundQueue
add a new extrinsic submit_delivery_proof in which we verify theMessage
has been delivered to Ethereum, after that add the fee toRewardLeger
which can be redeemed by the relayer later, more details in Relayer rewards paid to specified location account #6578Review notes
It may still require further change/refactoring but would be great if we can get some early feedback.