Skip to content

Xls20 ​

Calls ​

enableXls20Compatibility ​

Enables XLS-20 compatibility on a collection. However, this will remove the ability to change the collection metadata.

  • Collection must not have any tokens minted

  • Caller must be collection owner

Namespace

api.tx.xls20.enableXls20Compatibility

Type

function enableXls20Compatibility(
  collection_id: u32
)

fulfillXls20Mint ​

Submit XLS-20 token ids to The Root Network Only callable by the trusted relayer account Can apply multiple mappings from the same collection in one transaction

Namespace

api.tx.xls20.fulfillXls20Mint

Type

function fulfillXls20Mint(
  collection_id: u32,
  token_mappings: Vec<(u32,[u8;64])>
)

reRequestXls20Mint ​

Namespace

api.tx.xls20.reRequestXls20Mint

Type

function reRequestXls20Mint(
  collection_id: u32,
  serial_numbers: Vec<u32>
)

setRelayer ​

Set the relayer address

Namespace

api.tx.xls20.setRelayer

Type

function setRelayer(
  relayer: SeedPrimitivesSignatureAccountId20
)

setXls20Fee ​

Set the xls20 mint fee which is paid per token by the collection owner This covers the additional costs incurred by the relayer for the following:

  • Minting the token on XRPL

  • Calling fulfill_xls20_mint on The Root Network

Namespace

api.tx.xls20.setXls20Fee

Type

function setXls20Fee(
  new_fee: u128
)

Storage ​

relayer ​

The permissioned relayer

Namespace

api.query.xls20.relayer

Type

function relayer(

): Option<SeedPrimitivesSignatureAccountId20>

xls20MintFee ​

The extra cost of minting an XLS-20 compatible NFT

Namespace

api.query.xls20.xls20MintFee

Type

function xls20MintFee(

): u128

xls20TokenMap ​

Maps from TRN native token_id to XLS-20 TokenId

Namespace

api.query.xls20.xls20TokenMap

Type

function xls20TokenMap(
  u32,
  u32
): Option<[u8;64]>

Events ​

RelayerSet ​

A new relayer has been set

Namespace

api.events.xls20.RelayerSet

Type

type RelayerSet = {
  account: SeedPrimitivesSignatureAccountId20
}

Xls20CompatibilityEnabled ​

A collection has had XLS-20 compatibility enabled

Namespace

api.events.xls20.Xls20CompatibilityEnabled

Type

type Xls20CompatibilityEnabled = {
  collection_id: u32
}

Xls20MappingSet ​

A new XLS20 mapping has been set

Namespace

api.events.xls20.Xls20MappingSet

Type

type Xls20MappingSet = {
  collection_id: u32,
  mappings: Vec<(u32,[u8;64])>
}

Xls20MintFeePaid ​

Additional mint fee for XLS-20 mint has been paid to relayer

Namespace

api.events.xls20.Xls20MintFeePaid

Type

type Xls20MintFeePaid = {
  collection_owner: SeedPrimitivesSignatureAccountId20,
  total_fee: u128
}

Xls20MintFeeSet ​

A new Xls20 Mint Fee has been set

Namespace

api.events.xls20.Xls20MintFeeSet

Type

type Xls20MintFeeSet = {
  new_fee: u128
}

Xls20MintRequest ​

Request sent to XLS20 Relayer

Namespace

api.events.xls20.Xls20MintRequest

Type

type Xls20MintRequest = {
  collection_id: u32,
  serial_numbers: Vec<u32>,
  token_uris: Vec<Bytes>
}

Errors ​

MappingAlreadyExists ​

There is already a Root native -> XLS-20 mapping for this token

Namespace

api.errors.xls20.MappingAlreadyExists

NotCollectionOwner ​

No the owner of the collection

Namespace

api.errors.xls20.NotCollectionOwner

NoToken ​

The NFT does not exist

Namespace

api.errors.xls20.NoToken

NotRelayer ​

The caller is not the relayer and does not have permission to perform this action

Namespace

api.errors.xls20.NotRelayer

NotXLS20Compatible ​

The collection is not compatible with XLS-20

Namespace

api.errors.xls20.NotXLS20Compatible

Xls20MintFeeTooLow ​

The supplied fee for minting XLS-20 tokens is too low

Namespace

api.errors.xls20.Xls20MintFeeTooLow

undefined

Curated independently by Codeology. Source-attributed reference for The Root Network. Not affiliated with Futureverse / TRN Labs.