Calls
enableXls20Compatibility
Enables XLS-20 compatibility on a collection
Collection must not have any tokens minted
Caller must be collection owner
Namespace
Copy api.tx.xls20.enableXls20Compatibility
Type
Copy 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
Copy api.tx.xls20.fulfillXls20Mint
Type
Copy function fulfillXls20Mint (
collection_id : u32 ,
token_mappings : Vec <(u32 , [u8; 64 ])>
)
reRequestXls20Mint
Namespace
Copy api.tx.xls20.reRequestXls20Mint
Type
Copy function reRequestXls20Mint (
collection_id : u32 ,
serial_numbers : Vec < u32 >
)
setRelayer
Set the relayer address
Namespace
Copy api.tx.xls20.setRelayer
Type
Copy 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
Copy api.tx.xls20.setXls20Fee
Type
Copy function setXls20Fee (
new_fee : u128
)
Storage
relayer
The permissioned relayer
Namespace
Copy api.query.xls20.relayer
Type
Copy function relayer (
) : Option < SeedPrimitivesSignatureAccountId20 >
xls20MintFee
The extra cost of minting an XLS-20 compatible NFT
Namespace
Copy api.query.xls20.xls20MintFee
Type
Copy function xls20MintFee (
) : u128
xls20TokenMap
Maps from TRN native token_id to XLS-20 TokenId
Namespace
Copy api.query.xls20.xls20TokenMap
Type
Copy function xls20TokenMap (
u32 ,
u32
) : Option <[ u8 ; 64 ]>
Events
RelayerSet
A new relayer has been set
Namespace
Copy api.events.xls20.RelayerSet
Type
Copy type RelayerSet = {
account : SeedPrimitivesSignatureAccountId20
}
Xls20CompatibilityEnabled
A collection has had XLS-20 compatibility enabled
Namespace
Copy api.events.xls20.Xls20CompatibilityEnabled
Type
Copy type Xls20CompatibilityEnabled = {
collection_id : u32
}
Xls20MappingSet
A new XLS20 mapping has been set
Namespace
Copy api.events.xls20.Xls20MappingSet
Type
Copy type Xls20MappingSet = {
collection_id : u32 ,
mappings : Vec <(u32 , [u8; 64 ])>
}
Xls20MintFeePaid
Additional mint fee for XLS-20 mint has been paid to relayer
Namespace
Copy api.events.xls20.Xls20MintFeePaid
Type
Copy type Xls20MintFeePaid = {
collection_owner : SeedPrimitivesSignatureAccountId20 ,
total_fee : u128
}
Xls20MintFeeSet
A new Xls20 Mint Fee has been set
Namespace
Copy api.events.xls20.Xls20MintFeeSet
Type
Copy type Xls20MintFeeSet = {
new_fee : u128
}
Xls20MintRequest
Request sent to XLS20 Relayer
Namespace
Copy api.events.xls20.Xls20MintRequest
Type
Copy 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
Copy api.errors.xls20.MappingAlreadyExists
NotCollectionOwner
No the owner of the collection
Namespace
Copy api.errors.xls20.NotCollectionOwner
NoToken
The NFT does not exist
Namespace
Copy api.errors.xls20.NoToken
NotRelayer
The caller is not the relayer and does not have permission to perform this action
Namespace
Copy api.errors.xls20.NotRelayer
NotXLS20Compatible
The collection is not compatible with XLS-20
Namespace
Copy api.errors.xls20.NotXLS20Compatible
Xls20MintFeeTooLow
The supplied fee for minting XLS-20 tokens is too low
Namespace
Copy api.errors.xls20.Xls20MintFeeTooLow
undefined