Skip to main content
Version: 23.0.x

Class: NonFungibleSettlements

api/entities/Asset/Base/Settlements.NonFungibleSettlements

Handles all Asset Settlements related functionality

Hierarchy

  • BaseSettlements<NftCollection>

    NonFungibleSettlements

Methods

canTransfer

canTransfer(args): Promise<TransferBreakdown>

Check whether it is possible to create a settlement instruction to transfer an NFT between two Portfolios. Returns a breakdown of the transaction containing general errors (such as insufficient balance or invalid receiver), any broken transfer restrictions, and any compliance failures

Parameters

NameTypeDescription
argsObject-
args.from?PortfolioLikesender Portfolio (optional, defaults to the signing Identity's Default Portfolio)
args.nfts(BigNumber | Nft)[]the NFTs to transfer
args.toPortfolioLikereceiver Portfolio

Returns

Promise<TransferBreakdown>

Note

this takes locked tokens into account. For example, if portfolio A has NFTs 1, 2 and 3 of a collection and this function is called to check if 1 of them can be transferred to portfolio B (assuming everything else checks out) the result will be success. If an instruction is created and authorized to transfer that token, they would become locked. From that point, further calls to this function would return failed results because of the funds being locked, even though it hasn't been transferred yet

Defined in

api/entities/Asset/Base/Settlements/index.ts:172