Type alias CreateNftInput

CreateNftInput: {
    uri: string;
    name: string;
    sellerFeeBasisPoints: number;
    updateAuthority?: Signer;
    mintAuthority?: Signer;
    useNewMint?: Signer;
    useExistingMint?: PublicKey;
    mintTokens?: boolean;
    tokenOwner?: PublicKey;
    tokenAddress?: PublicKey | Signer;
    tokenStandard?: TokenStandard;
    symbol?: string;
    creators?: CreatorInput[];
    isMutable?: boolean;
    primarySaleHappened?: boolean;
    maxSupply?: Option<BigNumber>;
    uses?: Option<Uses>;
    isCollection?: boolean;
    collection?: Option<PublicKey>;
    collectionAuthority?: Option<Signer>;
    collectionAuthorityIsDelegated?: boolean;
    collectionIsSized?: boolean;
    ruleSet?: Option<PublicKey>;
    tree?: Option<PublicKey>;
}

Type declaration

  • uri: string

    The URI that points to the JSON metadata of the asset.

  • name: string

    The on-chain name of the asset, e.g. "My NFT #123".

  • sellerFeeBasisPoints: number

    The royalties in percent basis point (i.e. 250 is 2.5%) that should be paid to the creators on each secondary sale.

  • Optional updateAuthority?: Signer

    The authority that will be able to make changes to the created NFT.

    This is required as a Signer because creating the master edition account requires the update authority to sign the transaction.

    Default Value

    metaplex.identity()

  • Optional mintAuthority?: Signer

    The authority that is currently allowed to mint new tokens for the provided mint account.

    Note that this is only relevant if the useExistingMint parameter if provided.

    Default Value

    metaplex.identity()

  • Optional useNewMint?: Signer

    The address of the new mint account as a Signer. This is useful if you already have a generated Keypair for the mint account of the NFT to create.

    Default Value

    Keypair.generate()

  • Optional useExistingMint?: PublicKey

    The address of the existing mint account that should be converted into an NFT. The account at this address should have the right requirements to become an NFT, e.g. its supply should contains exactly 1 token.

    Default Value

    Defaults to creating a new mint account with the right requirements.

  • Optional mintTokens?: boolean

    Whether or not we should mint one token for the new NFT.

    Default Value

    true

  • Optional tokenOwner?: PublicKey

    The owner of the NFT to create.

    Default Value

    metaplex.identity().publicKey

  • Optional tokenAddress?: PublicKey | Signer

    The token account linking the mint account and the token owner together. By default, the associated token account will be used.

    If the provided token account does not exist, it must be passed as a Signer as we will need to create it before creating the NFT.

    Default Value

    Defaults to creating a new associated token account using the mintAddress and tokenOwner parameters.

  • Optional tokenStandard?: TokenStandard

    Describes the asset class of the token. It can be one of the following:

    • TokenStandard.NonFungible: A traditional NFT (master edition).
    • TokenStandard.FungibleAsset: A fungible token with metadata that can also have attrributes.
    • TokenStandard.Fungible: A fungible token with simple metadata.
    • TokenStandard.NonFungibleEdition: A limited edition NFT "printed" from a master edition.
    • TokenStandard.ProgrammableNonFungible: A master edition NFT with programmable configuration.

    Default Value

    TokenStandard.NonFungible

  • Optional symbol?: string

    The on-chain symbol of the asset, stored in the Metadata account. E.g. "MYNFT".

    Default Value

    ""

  • Optional creators?: CreatorInput[]

    This object provides a way of providing creator information when needed, e.g. when creating or updating NFTs, candy machines, etc.

    It allows us to optionally provide an authority as a Signer so we can both set and verify the creator within the same operation.

    Default Value

    Defaults to using the provided updateAuthority as the only verified creator.

    [{
    address: updateAuthority.publicKey,
    authority: updateAuthority,
    share: 100,
    }]
  • Optional isMutable?: boolean

    Whether or not the NFT's metadata is mutable. When set to false no one can update the Metadata account, not even the update authority.

    Default Value

    true

  • Optional primarySaleHappened?: boolean

    Whether or not selling this asset is considered a primary sale. Once flipped from false to true, this field is immutable and all subsequent sales of this asset will be considered secondary.

    Default Value

    false

  • Optional maxSupply?: Option<BigNumber>

    The maximum supply of printed editions. When this is null, an unlimited amount of editions can be printed from the original edition.

    Default Value

    toBigNumber(0)

  • Optional uses?: Option<Uses>

    When this field is not null, it indicates that the NFT can be "used" by its owner or any approved "use authorities".

    Default Value

    null

  • Optional isCollection?: boolean

    Whether the created NFT is a Collection NFT. When set to true, the NFT will be created as a Sized Collection NFT with an initial size of 0.

    Default Value

    false

  • Optional collection?: Option<PublicKey>

    The Collection NFT that this new NFT belongs to. When null, the created NFT will not be part of a collection.

    Default Value

    null

  • Optional collectionAuthority?: Option<Signer>

    The collection authority that should sign the created NFT to prove that it is part of the provided collection. When null, the provided collection will not be verified.

    Default Value

    null

  • Optional collectionAuthorityIsDelegated?: boolean

    Whether or not the provided collectionAuthority is a delegated collection authority, i.e. it was approved by the update authority using metaplex.nfts().approveCollectionAuthority().

    Default Value

    false

  • Optional collectionIsSized?: boolean

    Whether or not the provided collection is a sized collection and not a legacy collection.

    Default Value

    true

  • Optional ruleSet?: Option<PublicKey>

    The ruleset account that should be used to configure the programmable NFT.

    This is only relevant for programmable NFTs, i.e. if the tokenStandard is set to TokenStandard.ProgrammableNonFungible.

    Default Value

    null

  • Optional tree?: Option<PublicKey>

    The Merkle tree used to store the NFT

Generated using TypeDoc