Transfer Polkadot-native assets to Ethereum (#5546)
# Description Adding support for send polkadot native assets(PNA) to Ethereum network through snowbridge. Asset with location in view of AH Including: - Relay token `(1,Here)` - Native asset `(0,[PalletInstance(instance),GenereIndex(index)])` managed by Assets Pallet - Native asset of Parachain `(1,[Parachain(paraId)])` managed by Foreign Assets Pallet The original PR in https://github.com/Snowfork/polkadot-sdk/pull/128 which has been internally reviewed by Snowbridge team. # Notes - This feature depends on the companion solidity change in https://github.com/Snowfork/snowbridge/pull/1155. Currently register PNA is only allowed from [sudo](https://github.com/Snowfork/polkadot-sdk/blob/46cb3528 /bridges/snowbridge/pallets/system/src/lib.rs#L621), so it's actually not enabled. Will require another runtime upgrade to make the call permissionless together with upgrading the Gateway contract. - To make things easy multi-hop transfer(i.e. sending PNA from Ethereum through AH to Destination chain) is not support ed in this PR. For this case user can switch to 2-phases transfer instead. --------- Co-authored-by:Clara van Staden <claravanstaden64@gmail.com> Co-authored-by:
Alistair Singh <alistair.singh7@gmail.com> Co-authored-by:
Vincent Geddes <117534+vgeddes@users.noreply.github.com> Co-authored-by:
Francisco Aguirre <franciscoaguirreperez@gmail.com> Co-authored-by:
Adrian Catangiu <adrian@parity.io>
parent
01364633
Showing
- Cargo.lock 1 addition, 0 deletionsCargo.lock
- bridges/snowbridge/pallets/inbound-queue/src/lib.rs 13 additions, 16 deletionsbridges/snowbridge/pallets/inbound-queue/src/lib.rs
- bridges/snowbridge/pallets/inbound-queue/src/mock.rs 18 additions, 2 deletionsbridges/snowbridge/pallets/inbound-queue/src/mock.rs
- bridges/snowbridge/pallets/outbound-queue/src/mock.rs 4 additions, 6 deletionsbridges/snowbridge/pallets/outbound-queue/src/mock.rs
- bridges/snowbridge/pallets/system/src/benchmarking.rs 23 additions, 0 deletionsbridges/snowbridge/pallets/system/src/benchmarking.rs
- bridges/snowbridge/pallets/system/src/lib.rs 111 additions, 5 deletionsbridges/snowbridge/pallets/system/src/lib.rs
- bridges/snowbridge/pallets/system/src/mock.rs 6 additions, 3 deletionsbridges/snowbridge/pallets/system/src/mock.rs
- bridges/snowbridge/pallets/system/src/tests.rs 124 additions, 11 deletionsbridges/snowbridge/pallets/system/src/tests.rs
- bridges/snowbridge/pallets/system/src/weights.rs 11 additions, 0 deletionsbridges/snowbridge/pallets/system/src/weights.rs
- bridges/snowbridge/primitives/core/Cargo.toml 2 additions, 0 deletionsbridges/snowbridge/primitives/core/Cargo.toml
- bridges/snowbridge/primitives/core/src/lib.rs 21 additions, 13 deletionsbridges/snowbridge/primitives/core/src/lib.rs
- bridges/snowbridge/primitives/core/src/location.rs 205 additions, 0 deletionsbridges/snowbridge/primitives/core/src/location.rs
- bridges/snowbridge/primitives/core/src/outbound.rs 57 additions, 0 deletionsbridges/snowbridge/primitives/core/src/outbound.rs
- bridges/snowbridge/primitives/router/src/inbound/mod.rs 156 additions, 13 deletionsbridges/snowbridge/primitives/router/src/inbound/mod.rs
- bridges/snowbridge/primitives/router/src/inbound/tests.rs 30 additions, 1 deletionbridges/snowbridge/primitives/router/src/inbound/tests.rs
- bridges/snowbridge/primitives/router/src/outbound/mod.rs 153 additions, 30 deletionsbridges/snowbridge/primitives/router/src/outbound/mod.rs
- bridges/snowbridge/primitives/router/src/outbound/tests.rs 250 additions, 143 deletionsbridges/snowbridge/primitives/router/src/outbound/tests.rs
- cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend/src/genesis.rs 8 additions, 0 deletions...chains/parachains/assets/asset-hub-westend/src/genesis.rs
- cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend/src/lib.rs 1 addition, 0 deletions...d/chains/parachains/bridges/bridge-hub-westend/src/lib.rs
- cumulus/parachains/integration-tests/emulated/common/src/lib.rs 9 additions, 0 deletions...s/parachains/integration-tests/emulated/common/src/lib.rs
Please register or sign in to comment