• joe petrowski's avatar
    Add Support for Foreign Assets (#2133) · af46f4b4
    joe petrowski authored
    
    
    * add foreign assets to westmint
    
    * add foreign assets to statemine
    
    * use updated api for ensure origin trait
    
    * Assets/ForeignAssets tests and fixes (#2167)
    
    * Test for create and transfer `TrustBackedAssets` with AssetTransactor
    
    * Test for transfer `local Currency` with AssetTransactor
    
    * Test for create foreign assets (covers foreign relaychain currency)
    
    * Added `ForeignFungiblesTransactor` and test for transfer `ForeignAssets` with AssetTransactor
    
    * Removed unused `pub const Local: MultiLocation`
    
    * Changed `ParaId -> Sibling` for `SiblingParachainConvertsVia`
    
    * Test for create foreign assets (covers local sibling parachain assets)
    
    * Reverted stuff for ForeignCreators from different global consensus (moved to transfer asset branch)
    
    * Refactor `weight_limit` for `execute_xcm`
    
    * Added test for `set_metadata` by ForeignCreator with `xcm::Transact(set_metadata)`
    
    * Renamed `receive_teleported_asset_works` -> `receive_teleported_asset_for_native_asset_works`
    
    * Allow `ForeignCreators` only for sibling parachains
    
    * Unify ReservedDmpWeight/ReservedXcmpWeight usage
    
    * Removed hack - replaced with `MatchedConvertedConcreteId`
    
    * Refactor `ForeignCreators` to assets-common
    
    * Add `ReceiveTeleportedAsset` test
    
    * Change test - `Utility::batch` -> Multiple `xcm::Transact`
    
    * Reusing the same deposits as for TrustBackedAssets
    
    * missing `try_successful_origin` ?
    
    * Finished `ForeignAssets` for westmint (converter, FungiblesApi, tests)
    
    * Refactoring tests - receive_teleported_asset_for_native_asset_works
    
    * ForeignAssets for statemine + refactored `receive_teleported_asset_from_foreign_creator_works`
    
    * Add `ForeignAssets` to statemine `FungiblesApi`
    
    * Add `asset_transactor_transfer_with_local_consensus_currency_works` to all runtimes
    
    * Added `asset_transactor_transfer_with_trust_backed_assets_works` test
    
    * Added `asset_transactor_transfer_with_foreign_assets_works`
    
    * Fix `missing `try_successful_origin` in implementation`
    
    * Added `create_and_manage_foreign_assets_for_local_consensus_parachain_assets_works`
    
    * Added `ExpectTransactStatus` check
    
    * Small rename
    
    * Extended `test_assets_balances_api_works` with ForeignAssets for `statemine`
    
    * PR fixes
    
    * Update parachains/runtimes/assets/test-utils/src/test_cases.rs
    
    ---------
    
    Co-authored-by: parity-processbot <>
    Co-authored-by: default avatarjoe petrowski <[email protected]>
    
    * Added `StartsWithExplicitGlobalConsensus` to ignores (#2338)
    
    * Update parachains/runtimes/assets/common/src/lib.rs
    
    Co-authored-by: default avatarGavin Wood <[email protected]>
    
    * include mint and burn in SafeCallFilter
    
    * include mint and burn in SafeCallFilter (statemine)
    
    * clarify doc
    
    * Fix compilation (moved trait `InspectMetadata`)
    
    * Fix test
    
    * Extended test for `teleport` from/to relaychain + `CheckingAccount` (Part I)
    
    * Extended test for `teleport` from/to foreign parachain + `CheckingAccount` (Part II)
    
    * Fixed TODO - `NonLocal` for `ForeignAssets`
    
    * Changed `NonLocal` to `NoChecking`
    
    * Fix weight in test
    
    ---------
    
    Co-authored-by: parity-processbot <>
    Co-authored-by: default avatarmuharem <[email protected]>
    Co-authored-by: default avatarBranislav Kontur <[email protected]>
    Co-authored-by: default avatarGavin Wood <[email protected]>
    af46f4b4