Files
pezkuwi-subxt/cumulus/parachains/runtimes/assets
PG Herveou 6b7be115fd Contracts: Add XCM traits to interface with contracts (#2086)
We are introducing a new set of `XcmController` traits (final name yet
to be determined).
These traits are implemented by `pallet-xcm` and allows other pallets,
such as `pallet_contracts`, to rely on these traits instead of tight
coupling them to `pallet-xcm`.

Using only the existing Xcm traits would mean duplicating the logic from
`pallet-xcm` in these other pallets, which we aim to avoid. Our
objective is to ensure that when these APIs are called from
`pallet-contracts`, they produce the exact same outcomes as if called
directly from `pallet-xcm`.

The other benefits is that we can also expose return values to
`pallet-contracts` instead of just calling `pallet-xcm` dispatchable and
getting a `DispatchResult` back.

See traits integration in this PR
https://github.com/paritytech/polkadot-sdk/pull/1248, where the traits
are used as follow to define and implement `pallet-contracts` Config.
```rs
// Contracts config:
pub trait Config: frame_system::Config {
  // ...

  /// A type that exposes XCM APIs, allowing contracts to interact with other parachains, and
  /// execute XCM programs.
  type Xcm: xcm_executor::traits::Controller<
	  OriginFor<Self>,
	  <Self as frame_system::Config>::RuntimeCall,
	  BlockNumberFor<Self>,
  >;
}

// implementation
impl pallet_contracts::Config for Runtime {
        // ...

	type Xcm = pallet_xcm::Pallet<Self>;
}
```

---------

Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: command-bot <>
2023-11-10 17:38:24 +02:00
..
2023-11-07 13:11:06 +01:00

Assets Parachain

Implementation of Asset Hub, a blockchain to support generic assets in the Polkadot and Kusama networks. Asset Hub was formerly known as "Statemint".

Asset Hub allows users to:

  • Deploy promise-backed assets, both fungible and non-fungible, with a DOT/KSM deposit.
  • Set admin roles to manage assets and asset classes.
  • Register assets as "self-sufficient" if the Relay Chain agrees, i.e. gain the ability for an asset to justify the existence of accounts sans DOT/KSM.
  • Pay transaction fees using sufficient assets.
  • Transfer (and approve transfer) assets.
  • Interact with the chain via its transactional API or XCM.

Asset Hub must stay fully aligned with the Relay Chain it is connected to. As such, it will accept the Relay Chain's governance origins as its own.

See the article on Asset Hub as common good parachain for a higher level description.

Wallets, custodians, etc. should see the Polkadot Wiki's Integration Guide for details about support.