-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Snowbridge: Unpaid execution when bridging to Ethereum #8599
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: Unpaid execution when bridging to Ethereum #8599
Conversation
|
Hey @acatangiu, I've opened this PR to switch to the I have a quick question: why do we enforce no payment here for I'm asking because, IMHO, the term unpaid refers to execution cost on the destination chain, not the source. |
Sounds sane to me. @bkontur any reasons we should not do that? I am thinking we can check |
Hmm, I think it make senses. I am checking polkadot-sdk/polkadot/xcm/xcm-builder/src/universal_exports.rs Lines 159 to 162 in ff5c67c
iiuc, the
So, if we say that If we want total unpaid, means not to pay also "1. remote-execution on the bridged chain", then we can set up Also I think we don't need to check I think let's go with changes above for |
yes, I said it wrong, not meant explicitly check, but rather rely on
yes, @yrong please add delivery fees to |
cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/xcm_config.rs
Outdated
Show resolved
Hide resolved
| SovereignPaidRemoteExporter< | ||
| bridging::to_ethereum::EthereumNetworkExportTable, | ||
| ), | ||
| XcmpQueue, | ||
| UniversalLocation, | ||
| >, | ||
| XcmpQueue, | ||
| UniversalLocation, | ||
| >, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since UnpaidRemoteExporter now supports attaching a fee, how about applying it to the Snowbridge V1 route as well?
That would eliminate the need to maintain a balance for AH’s sovereign account on BH.
@vgeddes @acatangiu WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how long do you plan to support Snowbridge v1 for? might not be worth the change if its lifetime is limited anyway (lower risks of breaking something)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As we discussed internally, it’s likely that we will run V1 along side with V2 for quite some time.
Btw, aside from changing this line
polkadot-sdk/bridges/snowbridge/primitives/outbound-queue/src/v1/converter/mod.rs
Line 135 in e723cfa
| let fee = Asset::from((Location::parent(), fee.total())).into(); |
There might be some cleanup needed, but considering that our integration tests cover most cases, I’m not too concerned about the breaking things.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A seperate PR for this: yrong#20
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Thanks Ron.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@acatangiu @bkontur I've merged yrong#20. Please take another look at your convenience.
* Apply UnpaidExporter to Snowbridge V1 as well * Remove the unused XcmFeeManagerFromComponentsBridgeHub * Revert changes in EthereumBlobExporter
…ng/polkadot-sdk into unpaid-execution-to-ethereum
|
Summary [ 244.619s] 3465 tests run: 3461 passed (19 slow, 1 leaky), 4 failed, 7000 skipped |
…ng/polkadot-sdk into unpaid-execution-to-ethereum
Head branch was pushed to by a user without write access
### Context Currently we use [SovereignPaidRemoteExporter](https://github.com/paritytech/polkadot-sdk/blob/ff5c67c8a3d60ccb3f0af114a07db8f4bec485a0/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs#L457-L464), which is unnecessary since all fees in Snowbridge V2 will be estimated on the fly and injected into the XCM. Resolves: https://linear.app/snowfork/issue/SNO-1510 --------- Co-authored-by: Branislav Kontur <[email protected]> Co-authored-by: Adrian Catangiu <[email protected]>
This brings in `stable2506` Polkadot SDK, and integrates many new features. Integrated breaking changes to be verified by the original authors: - [x] ~paritytech/polkadot-sdk#8127 @kianenigma @Ank4n~ This will come in with AHM, and not before. - [x] paritytech/polkadot-sdk#7597 @gui1117 - [x] paritytech/polkadot-sdk#8254 @bkchr - [x] paritytech/polkadot-sdk#7592 @bkontur - [x] paritytech/polkadot-sdk#8382 @UtkarshBhardwaj007 - [x] paritytech/polkadot-sdk#8021 @serban300 - [x] paritytech/polkadot-sdk#8344 @serban300 - [x] paritytech/polkadot-sdk#8262 @athei - [x] paritytech/polkadot-sdk#8584 @athei - [x] paritytech/polkadot-sdk#8299 @skunert - [x] paritytech/polkadot-sdk#8652 @pgherveou - [x] paritytech/polkadot-sdk#8554 @pgherveou - [x] paritytech/polkadot-sdk#8281 @mrshiposha - [x] paritytech/polkadot-sdk#7730 @franciscoaguirre - [x] paritytech/polkadot-sdk#8599 @yrong @claravanstaden - [x] paritytech/polkadot-sdk#8531 @bkontur - [x] paritytech/polkadot-sdk#8409 @kianenigma - [x] paritytech/polkadot-sdk#9137 @franciscoaguirre - [x] paritytech/polkadot-sdk#7944 @bkontur - [x] paritytech/polkadot-sdk#8179 @bkontur - [x] paritytech/polkadot-sdk#8037 @yrong --------- Co-authored-by: GitHub Action <[email protected]> Co-authored-by: claravanstaden <[email protected]> Co-authored-by: Branislav Kontur <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Alain Brenzikofer <[email protected]> Co-authored-by: kianenigma <[email protected]> Co-authored-by: Francisco Aguirre <[email protected]> Co-authored-by: ron <[email protected]> Co-authored-by: joe petrowski <[email protected]> Co-authored-by: Overkillus <[email protected]>
|
This pull request has been mentioned on Polkadot Forum. There might be relevant details there: https://forum.polkadot.network/t/snowbridge-incident-report-polkadot-runtime-upgrade-1-7-1/15144/1 |
### Context Currently we use [SovereignPaidRemoteExporter](https://github.com/paritytech/polkadot-sdk/blob/ff5c67c8a3d60ccb3f0af114a07db8f4bec485a0/cumulus/parachains/runtimes/assets/asset-hub-westend/src/xcm_config.rs#L457-L464), which is unnecessary since all fees in Snowbridge V2 will be estimated on the fly and injected into the XCM. Resolves: https://linear.app/snowfork/issue/SNO-1510 --------- Co-authored-by: Branislav Kontur <[email protected]> Co-authored-by: Adrian Catangiu <[email protected]>
Context
Currently we use SovereignPaidRemoteExporter, which is unnecessary since all fees in Snowbridge V2 will be estimated on the fly and injected into the XCM.
Resolves: https://linear.app/snowfork/issue/SNO-1510