pub trait InstructionBuilder {
    // Required method
    fn instruction(&self) -> Instruction;
}

Required Methods§

Implementors§

source§

impl InstructionBuilder for Burn

Burn an asset.

Accounts:

  1. [signer, writable] Asset owner or Utility delegate
  2. [optional, writable] Metadata of the Collection
  3. [writable] Metadata (pda of [‘metadata’, program id, mint id])
  4. [optional, writable] Edition of the asset
  5. [writable] Mint of token account
  6. [writable] Token account to close
  7. [optional, writable] Master edition token account
  8. [optional] Master edition mint of the asset
  9. [optional] Master edition token account
  10. [optional, writable] Edition marker account
  11. [optional, writable] Token record account
  12. [] System program
  13. [] Instruction sysvar account
  14. [] SPL Token Program
source§

impl InstructionBuilder for Create

Builds the instruction to create metadata and associated accounts.

Accounts:

  1. [writable] Metadata account
  2. [optional, writable] Master edition account
  3. [writable] Mint account
  4. [signer] Mint authority
  5. [signer] Payer
  6. [signer] Update authority
  7. [] System program
  8. [] Instructions sysvar account
  9. [] SPL Token program
source§

impl InstructionBuilder for Delegate

Delegates an action over an asset to a specific account.

Accounts:

  1. [optional, writable] Delegate record account
  2. [] Delegated owner
  3. [writable] Metadata account
  4. [optional] Master Edition account
  5. [optional, writable] Token record account
  6. [] Mint account
  7. [optional, writable] Token account
  8. [signer] Update authority or token owner
  9. [signer, writable] Payer
  10. [] System Program
  11. [] Instructions sysvar account
  12. [optional] SPL Token Program
  13. [optional] Token Authorization Rules program
  14. [optional] Token Authorization Rules account
source§

impl InstructionBuilder for Lock

Locks an asset. For non-programmable assets, this will also freeze the token account.

Accounts:

  1. [signer] Delegate account
  2. [optional] Token owner
  3. [writable] Token account
  4. [] Mint account
  5. [writable] Metadata account
  6. [optional] Edition account
  7. [optional, writable] Token record account
  8. [signer, writable] Payer
  9. [] System Program
  10. [] Instructions sysvar account
  11. [optional] SPL Token Program
  12. [optional] Token Authorization Rules program
  13. [optional] Token Authorization Rules account
source§

impl InstructionBuilder for Mint

Builds the instruction to mint a token.

Accounts:

  1. [writable] Token account key
  2. [optional] Owner of the token account
  3. [] Metadata account key (pda of [‘metadata’, program id, mint id])“)]
  4. [optional] Master Edition account
  5. [optional] Token record account
  6. [writable] Mint of token asset
  7. [signer] Authority (mint authority or metadata’s update authority for NonFungible asests)
  8. [optional] Metadata delegate record
  9. [signer, writable] Payer
  10. [] System program
  11. [] Instructions sysvar account
  12. [] SPL Token program
  13. [] SPL Associated Token Account program
  14. [optional] Token Authorization Rules program
  15. [optional] Token Authorization Rules account
source§

impl InstructionBuilder for Print

Prints an edition from a master edition.

Accounts:

  1. [writable] Edition Metadata
  2. [writable] Edition
  3. [writable, signer] Edition Mint
  4. [] Edition Token Account Owner
  5. [writable] Edition Token Account
  6. [signer] Edition Mint Authority
  7. [writable] Edition Token Record
  8. [writable], Master Edition
  9. [writable], Edition Marker
  10. [signer, writable] Payer
  11. [signer], Master Token Account Owner
  12. [] Master Token Account
  13. [] Master Metadata
  14. [] Update Authority
  15. [] Token Program
  16. [] Associated Token Account Program
  17. [] Instructions System Variable
  18. [] System Program
source§

impl InstructionBuilder for Revoke

Revokes a delegate.

Accounts:

  1. [optional, writable] Delegate record account
  2. [] Delegated owner
  3. [writable] Metadata account
  4. [optional] Master Edition account
  5. [optional, writable] Token record account
  6. [] Mint account
  7. [optional, writable] Token account
  8. [signer] Update authority or token owner
  9. [signer, writable] Payer
  10. [] System Program
  11. [] Instructions sysvar account
  12. [optional] SPL Token Program
  13. [optional] Token Authorization Rules program
  14. [optional] Token Authorization Rules account
source§

impl InstructionBuilder for Transfer

Transfer tokens from a token account.

Accounts:

  1. [writable] Token account
  2. [] Token account owner
  3. [writable] Destination token account
  4. [] Destination token account owner
  5. [] Mint of token asset
  6. [writable] Metadata account
  7. [optional] Edition of token asset
  8. [optional, writable] Owner token record account
  9. [optional, writable] Destination token record account
  10. [signer] Transfer authority (token owner or delegate)
  11. [signer, writable] Payer
  12. [] System Program
  13. [] Instructions sysvar account
  14. [] SPL Token Program
  15. [] SPL Associated Token Account program
  16. [optional] Token Authorization Rules Program
  17. [optional] Token Authorization Rules account
source§

impl InstructionBuilder for Unlock

Unlocks an asset. For non-programmable assets, this will also thaw the token account.

Accounts:

  1. [signer] Delegate account
  2. [optional] Token owner
  3. [writable] Token account
  4. [] Mint account
  5. [writable] Metadata account
  6. [optional] Edition account
  7. [optional, writable] Token record account
  8. [signer, writable] Payer
  9. [] System Program
  10. [] Instructions sysvar account
  11. [optional] SPL Token Program
  12. [optional] Token Authorization Rules program
  13. [optional] Token Authorization Rules account
source§

impl InstructionBuilder for Unverify

Unverifies a creator or collection for an asset.

Accounts:

  1. [signer] Creator to verify, collection (or metadata if parent burned) update authority or delegate
  2. [optional] Delegate record PDA
  3. [writable] Metadata account
  4. [optional] Mint of the Collection
  5. [optional, writable] Metadata Account of the Collection
  6. [] System program
  7. [] Instructions sysvar account
source§

impl InstructionBuilder for Update

Updates the metadata of an asset.

Accounts:

  1. [signer] Update authority or delegate
  2. [optional] Delegate record PDA
  3. [optional] Token account
  4. [] Mint account
  5. [writable] Metadata account
  6. [optional] Edition account
  7. [signer] Payer
  8. [] System program
  9. [] System program
  10. [optional] Token Authorization Rules Program
  11. [optional] Token Authorization Rules account
source§

impl InstructionBuilder for Verify

Verifies a creator or collection for an asset.

Accounts:

  1. [signer] Creator to verify, collection update authority or delegate
  2. [optional] Delegate record PDA
  3. [writable] Metadata account
  4. [optional] Mint of the Collection
  5. [optional, writable] Metadata Account of the Collection
  6. [optional] Master Edition Account of the Collection Token
  7. [] System program
  8. [] Instructions sysvar account