Skip to content

NftPeg pallet

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

Pallet index
30
Calls
3
Events
5
Errors
12
Storage items
5
Constants
1

Calls (extrinsics)

NftPeg.set_contract_address

See [Pallet::set_contract_address].

ts
api.tx.nftPeg.set_contract_address(contract: H160)
ArgumentTypeDoc
contractH160H160

Call index: 0

NftPeg.withdraw

See [Pallet::withdraw].

ts
api.tx.nftPeg.withdraw(collection_ids: Vec<u32>, serial_numbers: Vec<Vec<u32>>, destination: H160)
ArgumentTypeDoc
collection_idsVec&lt;u32&gt;BoundedVec<CollectionUuid, T::MaxCollectionsPerWithdraw>
serial_numbersVec&lt;Vec&lt;u32&gt;&gt;*BoundedVec<BoundedVec<SerialNumber, T::MaxSerialsPerWithdraw>, T::
MaxCollectionsPerWithdraw,>*
destinationH160H160

Call index: 1

NftPeg.reclaim_blocked_nfts

See [Pallet::reclaim_blocked_nfts].

ts
api.tx.nftPeg.reclaim_blocked_nfts(blocked_mint_id: u32, destination: H160)
ArgumentTypeDoc
blocked_mint_idu32BlockedMintId
destinationH160H160

Call index: 2

Events

NftPeg.Erc721Deposit

An ERC721 deposit was made

FieldTypeDoc
destination[u8;20]

NftPeg.Erc721Mint

Bridged ERC721 tokens were minted

FieldTypeDoc
collection_idu32
serial_numbersVec&lt;u32&gt;
owner[u8;20]

NftPeg.ERC721Blocked

Bridged ERC721 tokens were unable to be minted due to collection limit being reached

FieldTypeDoc
blocked_mint_idu32
destination_address[u8;20]
collection_idu32
serial_numbersVec&lt;u32&gt;

NftPeg.Erc721Withdraw

An ERC721 withdraw was made

FieldTypeDoc
origin[u8;20]
collection_idsVec&lt;u32&gt;
serial_numbersVec&lt;Vec&lt;u32&gt;&gt;
destinationH160

NftPeg.ContractAddressSet

The NFT-peg contract address was set

FieldTypeDoc
contractH160

Errors

NftPeg.ExceedsMaxAddresses

Send more addresses than are allowed

NftPeg.ExceedsMaxTokens

Sent more tokens than are allowed

NftPeg.InvalidAbiEncoding

The abi data passed in could not be decoded

NftPeg.InvalidAbiPrefix

The prefix uint in the abi encoded data was invalid

NftPeg.NoCollectionFound

No collection info exists

NftPeg.NoMappedTokenExists

No mapped token was stored for bridging the token back to the bridged chain

NftPeg.NoPermissionToBridge

Tried to bridge a token that originates from Root, which is not yet supported

NftPeg.StateSyncDisabled

The state sync decoding feature is not implemented

NftPeg.TokenListLengthMismatch

Multiple tokens were passed from contract, but amounts were unqeual per each array

NftPeg.ExceedsMaxVecLength

The length of the given vec exceeds the maximal allowed length limit

NftPeg.NoBlockedTokensFound

No blocked tokens for the given id

NftPeg.NotBlockedTokenDestination

Blocked tokens can only be reclaimed by the destination address

Storage

NftPeg.ContractAddress

ts
await api.query.nftPeg.contractAddress()

Returns: H160

Modifier: Default

NftPeg.EthToRootNft

ts
await api.query.nftPeg.ethToRootNft(key1)
  • Key: H160 (hasher: Twox64Concat)
  • Returns: u32

Modifier: Optional

NftPeg.RootNftToErc721

ts
await api.query.nftPeg.rootNftToErc721(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: H160

Modifier: Optional

NftPeg.BlockedTokens

ts
await api.query.nftPeg.blockedTokens(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: {"collectionId":"u32","destinationAddress":"SeedPrimitivesSignatureAccountId20","serialNumbers":"Vec<u32>"}

Modifier: Optional

NftPeg.NextBlockedMintId

The next available BlockedMintId

ts
await api.query.nftPeg.nextBlockedMintId()

Returns: u32

Modifier: Default

Constants

NftPeg.DelayLength

Type: u32
SCALE-encoded value: 0x05000000

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.