• Ignacio Palacios's avatar
    Improve Penpal runtime + emulated tests (#3543) · cfc4050d
    Ignacio Palacios authored
    Issues addressed in this PR:
    - Improve *Penpal* runtime:
    - Properly handled received assets. Previously, it treated `(1, Here)`
    as the local native currency, whereas it should be treated as a
    `ForeignAsset`. This wasn't a great example of standard Parachain
    behaviour, as no Parachain treats the system asset as the local
    currency.
    - Remove `AllowExplicitUnpaidExecutionFrom` the system. Again, this
    wasn't a great example of standard Parachain behaviour.
    - Move duplicated
    `ForeignAssetFeeAsExistentialDepositMultiplierFeeCharger` to
    `assets_common` crate.
    - Improve emulated tests:
      - Update *Penpal* tests to new runtime.
    - To simplify tests, register the reserve transferred, teleported, and
    system assets in *Penpal* and *AssetHub* genesis. This saves us from
    having to create the assets repeatedly for each test
    - Add missing test case:
    `reserve_transfer_assets_from_para_to_system_para`.
      - Cleanup.
    - Prevent integration tests crates imports from being re-exported, as
    they were polluting the `polkadot-sdk` docs.
    
    There is still a test case missing for reserve transfers:
    - Reserve transfer of system asset from *Parachain* to *Parachain*
    trough *AssetHub*.
    - This is not yet possible with `pallet-xcm` due to the reasons
    explained in https://github.com/paritytech/polkadot-sdk/pull/3339
    
    ---------
    
    Co-authored-by: command-bot <>
    cfc4050d