Calls

burnFrom

Burns an asset from an account. Caller must be the asset owner Attempting to burn ROOT token will throw an error Namespace
api.tx.assetsExt.burnFrom
Type
function burnFrom(
  asset_id: u32,
  who: SeedPrimitivesSignatureAccountId20,
  amount: Compact<u128>
)

createAsset

Creates a new asset with unique ID according to the network asset id scheme. Namespace
api.tx.assetsExt.createAsset
Type
function createAsset(
  name: Bytes,
  symbol: Bytes,
  decimals: u8,
  min_balance: Option<u128>,
  owner: Option<SeedPrimitivesSignatureAccountId20>
)

mint

Mints an asset to an account if the caller is the asset owner Attempting to mint ROOT token will throw an error Namespace
api.tx.assetsExt.mint
Type
function mint(
  asset_id: u32,
  beneficiary: SeedPrimitivesSignatureAccountId20,
  amount: Compact<u128>
)

setAssetDeposit

Sudo call to set the asset deposit for creating assets Note, this does not change the deposit when calling create within the assets pallet However that call is filtered Namespace
api.tx.assetsExt.setAssetDeposit
Type
function setAssetDeposit(
  asset_deposit: u128
)

transfer

Transfers either ROOT or an asset Namespace
api.tx.assetsExt.transfer
Type
function transfer(
  asset_id: u32,
  destination: SeedPrimitivesSignatureAccountId20,
  amount: Compact<u128>,
  keep_alive: bool
)

Storage

assetDeposit

The minimum deposit for creating an asset Namespace
api.query.assetsExt.assetDeposit
Type
function assetDeposit(

): u128

holds

The holdings of a specific account for a specific asset. Namespace
api.query.assetsExt.holds
Type
function holds(
  u32,
  SeedPrimitivesSignatureAccountId20
): Vec<([u8;8],u128)>

nextAssetId

The total units issued in the system. Namespace
api.query.assetsExt.nextAssetId
Type
function nextAssetId(

): u32

Events

AssetDepositSet

The asset deposit was set Namespace
api.events.assetsExt.AssetDepositSet
Type
type AssetDepositSet = {
  asset_deposit: u128
}

CreateAsset

New asset has been created Namespace
api.events.assetsExt.CreateAsset
Type
type CreateAsset = {
  asset_id: u32,
  creator: SeedPrimitivesSignatureAccountId20,
  initial_balance: u128
}

InternalDeposit

Assets were deposited into this account by the system e.g. refunding gas Namespace
api.events.assetsExt.InternalDeposit
Type
type InternalDeposit = {
  asset_id: u32,
  who: SeedPrimitivesSignatureAccountId20,
  amount: u128
}

InternalWithdraw

Assets were withdrawn from this account by the system e.g. paying tx fees Namespace
api.events.assetsExt.InternalWithdraw
Type
type InternalWithdraw = {
  asset_id: u32,
  who: SeedPrimitivesSignatureAccountId20,
  amount: u128
}

PlaceHold

Some assets have been placed on hold by a pallet Namespace
api.events.assetsExt.PlaceHold
Type
type PlaceHold = {
  asset_id: u32,
  who: SeedPrimitivesSignatureAccountId20,
  amount: u128,
  pallet_id: [u8;8]
}

ReleaseHold

Some held assets have been released by a pallet Namespace
api.events.assetsExt.ReleaseHold
Type
type ReleaseHold = {
  asset_id: u32,
  who: SeedPrimitivesSignatureAccountId20,
  amount: u128,
  pallet_id: [u8;8]
}

SpendHold

Some held assets were spend by a pallet Namespace
api.events.assetsExt.SpendHold
Type
type SpendHold = {
  asset_id: u32,
  who: SeedPrimitivesSignatureAccountId20,
  spends: Vec<(SeedPrimitivesSignatureAccountId20,u128)>,
  pallet_id: [u8;8]
}

SplitTransfer

Multi-part transfer of assets from who Namespace
api.events.assetsExt.SplitTransfer
Type
type SplitTransfer = {
  asset_id: u32,
  who: SeedPrimitivesSignatureAccountId20,
  transfers: Vec<(SeedPrimitivesSignatureAccountId20,u128)>
}

Errors

BalanceLow

Hold balance is less then the required amount Namespace
api.errors.assetsExt.BalanceLow

CreateAssetFailed

Failed to create a new asset Namespace
api.errors.assetsExt.CreateAssetFailed

DecimalsTooHigh

Decimals cannot be higher than 18 Namespace
api.errors.assetsExt.DecimalsTooHigh

MaxHolds

Maximum holds placed on this asset/account pair Namespace
api.errors.assetsExt.MaxHolds

NoAccount

The account to alter does not exist Namespace
api.errors.assetsExt.NoAccount

NoAvailableIds

No more Ids are available, they’ve been exhausted Namespace
api.errors.assetsExt.NoAvailableIds

NoPermission

The signer does not have permission to perform this action Namespace
api.errors.assetsExt.NoPermission

Overflow

Operation would overflow Namespace
api.errors.assetsExt.Overflow

Constants

maxHolds

The maximum * of holds per asset & account Namespace
api.consts.assetsExt.maxHolds
Type
type maxHolds = u32

nativeAssetId

The native token asset Id (managed by pallet-balances) Namespace
api.consts.assetsExt.nativeAssetId
Type
type nativeAssetId = u32

palletId

This pallet’s Id, used for deriving a sovereign account ID Namespace
api.consts.assetsExt.palletId
Type
type palletId = FrameSupportPalletId