NFTokenMint constructor

NFTokenMint({
  1. required int nftokenTaxon,
  2. required String account,
  3. required dynamic flags,
  4. List<XRPLMemo>? memos = const [],
  5. int? ticketSequance,
  6. String signingPubKey = "",
  7. int? sequence,
  8. String? fee,
  9. int? lastLedgerSequence,
  10. String? issuer,
  11. int? transferFee,
  12. String? uri,
})

nftokenTaxon Indicates the taxon associated with this token. The taxon is generally a value chosen by the minter of the token and a given taxon may be used for multiple tokens. The implementation reserves taxon identifiers greater than or equal to 2147483648 (0x80000000). If you have no use for this field, set it to 0.

issuer Indicates the account that should be the issuer of this token. This value is optional and should only be specified if the account executing the transaction is not the Issuer of the NFToken object. If it is present, the MintAccount field in the AccountRoot of the Issuer field must match the Account, otherwise the transaction will fail.

transferFee Specifies the fee charged by the issuer for secondary sales of the Token, if such sales are allowed. Valid values for this field are between 0 and 50000 inclusive, allowing transfer rates between 0.000% and 50.000% in increments of 0.001%. This field must NOT be present if the tfTransferable flag is not set.

uri that points to the data and/or metadata associated with the NFT. This field need not be an HTTP or HTTPS URL; it could be an IPFS URI, a magnet link, immediate data encoded as an RFC2379 "data" URL, or even an opaque issuer-specific encoding. The URI is not checked for validity. This field must be hex-encoded. You can use xrpl.utils.str_to_hex to convert a UTF-8 string to hex.

Implementation

NFTokenMint({
  required this.nftokenTaxon,
  required super.account,
  required super.flags,
  super.memos,
  super.ticketSequance,
  super.signingPubKey,
  super.sequence,
  super.fee,
  super.lastLedgerSequence,
  this.issuer,
  this.transferFee,
  this.uri,
})  : assert(uri == null || (uri.length <= _MAX_URI_LENGTH),
          'Must not be longer than $_MAX_URI_LENGTH characters'),
      assert(transferFee == null || (transferFee <= _MAX_TRANSFER_FEE),
          'Must not be longer than $_MAX_URI_LENGTH characters'),
      assert(issuer == null || (issuer != account),
          'Must not be the same as the account'),
      super(transactionType: XRPLTransactionType.NFTOKEN_MINT);