Files
pezkuwi-subxt/cumulus/parachains/runtimes/assets
Muharem 5ce04514eb pallet-asset-conversion: Swap Credit (#1677)
Introduces a swap implementation that allows the exchange of a credit
(aka Negative Imbalance) of one asset for a credit of another asset.

This is particularly useful when a credit swap is required but may not
have sufficient value to meet the ED constraint, hence cannot be
deposited to temp account before. An example use case is when XCM fees
are paid using an asset held in the XCM executor registry and has to be
swapped for native currency.

Additional Updates:
- encapsulates the existing `Swap` trait impl within a transactional
context, since partial storage mutation is possible when an error
occurs;
- supplied `Currency` and `Assets` impls must be implemented over the
same `Balance` type, the `AssetBalance` generic type is dropped. This
helps to avoid numerous type conversion and overflow cases. If those
types are different it should be handled outside of the pallet;
- `Box` asset kind on a pallet level, unbox on a runtime level - here
[why](https://substrate.stackexchange.com/questions/10039/boxed-argument-of-a-dispatchable/10103#10103);
- `path` uses `Vec` now, instead of `BoundedVec` since it is never used
in PoV;
- removes the `Transfer` event due to it's redundancy with the events
emitted by `fungible/s` implementations;
- modifies the `SwapExecuted` event type;

related issue: 
- https://github.com/paritytech/polkadot-sdk/issues/105

related PRs:
- (required for) https://github.com/paritytech/polkadot-sdk/pull/1845
- (caused) https://github.com/paritytech/polkadot-sdk/pull/1717

// DONE make the pallet work only with `fungibles` trait and make it
free from the concept of a `native` asset -
https://github.com/paritytech/polkadot-sdk/issues/1842

---------

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
2023-12-19 18:31:18 +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.