Skip to content

Nfi pallet

Derived from live runtime metadata on TRN root (pallet index 50, captured 2026-05-02). For prose-style documentation see Nfi on the curated reference side.

Pallet index
50
Calls
6
Events
9
Errors
7
Storage items
5
Constants
3

Calls (extrinsics)

Nfi.set_relayer

See [Pallet::set_relayer].

ts
api.tx.nfi.set_relayer(relayer: [u8;20])
ArgumentTypeDoc
relayer[u8;20]T::AccountId

Call index: 0

Nfi.set_fee_to

See [Pallet::set_fee_to].

ts
api.tx.nfi.set_fee_to(fee_to: Option<SeedPrimitivesSignatureAccountId20>)
ArgumentTypeDoc
fee_toOption&lt;SeedPrimitivesSignatureAccountId20&gt;Option<T::AccountId>

Call index: 1

Nfi.set_fee_details

See [Pallet::set_fee_details].

ts
api.tx.nfi.set_fee_details(sub_type: {"_enum":["NFI"]}, fee_details: Option<PalletNfiFeeDetails>)
ArgumentTypeDoc
sub_type{"_enum":["NFI"]}NFISubType
fee_detailsOption&lt;PalletNfiFeeDetails&gt;Option<FeeDetails<T::AccountId>>

Call index: 2

Nfi.enable_nfi_for_trn_collection

See [Pallet::enable_nfi_for_trn_collection].

ts
api.tx.nfi.enable_nfi_for_trn_collection(collection_id: u32, sub_type: {"_enum":["NFI"]})
ArgumentTypeDoc
collection_idu32CollectionUuid
sub_type{"_enum":["NFI"]}NFISubType

Call index: 3

Nfi.manual_data_request

See [Pallet::manual_data_request].

ts
api.tx.nfi.manual_data_request(token_id: {"chainId":"u64","collectionId":"PalletNfiGenericCollectionId","serialNumber":"PalletNfiGenericSerialNumber"}, sub_type: {"_enum":["NFI"]})
ArgumentTypeDoc
token_id{"chainId":"u64","collectionId":"PalletNfiGenericCollectionId","serialNumber":"PalletNfiGenericSerialNumber"}MultiChainTokenId<T::MaxByteLength>
sub_type{"_enum":["NFI"]}NFISubType

Call index: 4

Nfi.submit_nfi_data

See [Pallet::submit_nfi_data].

ts
api.tx.nfi.submit_nfi_data(token_id: {"chainId":"u64","collectionId":"PalletNfiGenericCollectionId","serialNumber":"PalletNfiGenericSerialNumber"}, data_item: {"_enum":{"NFI":"PalletNfiNfiMatrix"}})
ArgumentTypeDoc
token_id{"chainId":"u64","collectionId":"PalletNfiGenericCollectionId","serialNumber":"PalletNfiGenericSerialNumber"}MultiChainTokenId<T::MaxByteLength>
data_item{"_enum":{"NFI":"PalletNfiNfiMatrix"}}NFIDataType<T::MaxDataLength>

Call index: 5

Events

Nfi.DataRequestNew

Request for new NFI data creation on a token without existing data

FieldTypeDoc
sub_type{"_enum":["NFI"]}
caller[u8;20]
token_id{"chainId":"u64","collectionId":"PalletNfiGenericCollectionId","serialNumber":"PalletNfiGenericSerialNumber"}

Nfi.DataRequestExisting

Request for new NFI data creation on a token with pre-existing data

FieldTypeDoc
sub_type{"_enum":["NFI"]}
caller[u8;20]
token_id{"chainId":"u64","collectionId":"PalletNfiGenericCollectionId","serialNumber":"PalletNfiGenericSerialNumber"}

Nfi.DataSet

A new NFI storage item has been set

FieldTypeDoc
sub_type{"_enum":["NFI"]}
token_id{"chainId":"u64","collectionId":"PalletNfiGenericCollectionId","serialNumber":"PalletNfiGenericSerialNumber"}
data_item{"_enum":{"NFI":"PalletNfiNfiMatrix"}}

Nfi.DataRemoved

NFI storage has been removed for a token

FieldTypeDoc
token_id{"chainId":"u64","collectionId":"PalletNfiGenericCollectionId","serialNumber":"PalletNfiGenericSerialNumber"}

Nfi.FeeDetailsSet

New Fee details have been set

FieldTypeDoc
sub_type{"_enum":["NFI"]}
fee_detailsOption&lt;PalletNfiFeeDetails&gt;

Nfi.FeeToSet

The network fee receiver address has been updated

FieldTypeDoc
accountOption&lt;SeedPrimitivesSignatureAccountId20&gt;

Nfi.MintFeePaid

Additional mint fee has been paid to the receiver address

FieldTypeDoc
sub_type{"_enum":["NFI"]}
who[u8;20]
asset_idu32
total_feeu128

Nfi.NfiEnabled

NFI compatibility enabled for a collection

FieldTypeDoc
sub_type{"_enum":["NFI"]}
collection_id{"_enum":{"U32":"u32","U64":"u64","U128":"u128","H160":"H160","H256":"H256","Bytes":"Bytes","Empty":"Null","U256":"U256"}}

Nfi.RelayerSet

A new relayer has been set

FieldTypeDoc
account[u8;20]

Errors

Nfi.InvalidMintFee

The mint fee must be a valid integer above 0

Nfi.InvalidTokenFormat

The token format for TRN tokens is invalid

Nfi.NotEnabled

NFI storage is not enabled for this collection

Nfi.NotRelayer

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

Nfi.NotCollectionOwner

No the owner of the collection

Nfi.NotTokenOwner

The caller is not the owner of the token

Nfi.NoToken

The token does not exist

Storage

Nfi.Relayer

The permission enabled relayer

ts
await api.query.nfi.relayer()

Returns: [u8;20]

Modifier: Optional

Nfi.MintFee

The extra cost to cover

ts
await api.query.nfi.mintFee(key1)
  • Key: {"_enum":["NFI"]} (hasher: Twox64Concat)
  • Returns: {"assetId":"u32","amount":"u128","receiver":"SeedPrimitivesSignatureAccountId20"}

Modifier: Optional

Nfi.NfiData

ts
await api.query.nfi.nfiData(key1, key2)
  • Key: (PalletNfiMultiChainTokenId,PalletNfiNfiSubType) (hashers: Twox64Concat, Twox64Concat)
  • Returns: {"_enum":{"NFI":"PalletNfiNfiMatrix"}}

Modifier: Optional

Nfi.NfiEnabled

Flag to enable NFI for collections across chains

ts
await api.query.nfi.nfiEnabled(key1, key2)
  • Key: ((u64,PalletNfiGenericCollectionId),PalletNfiNfiSubType) (hashers: Twox64Concat, Twox64Concat)
  • Returns: bool

Modifier: Default

Nfi.FeeTo

The pallet id for the tx fee pot

ts
await api.query.nfi.feeTo()

Returns: [u8;20]

Modifier: Optional

Constants

Nfi.NetworkFeePercentage

Percentage of sale price to charge for network fee

Type: Permill
SCALE-encoded value: 0x88130000

Nfi.MaxDataLength

Max length of data stored per token

Type: u32
SCALE-encoded value: 0x64000000

Nfi.MaxByteLength

Max length of bytes stored for MultiChainTokenId

Type: u32
SCALE-encoded value: 0xf4010000

Source: live chain metadata from wss://root.rootnet.live/archive/ws · captured 2026-05-02

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