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

Required Methods§

Implementors§

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 Migrate

Migrates an asset to a ProgrammableAsset type.

Accounts:

  1. [writable] Metadata account
  2. [writable] Edition account
  3. [writable] Token account
  4. [] Token account owner
  5. [] Mint account
  6. [writable, signer] Payer
  7. [signer] Update authority
  8. [] Collection metadata account
  9. [] Delegate record account
  10. [writable] Token record account
  11. [] System program
  12. [] Instruction sysvar account
  13. [] SPL Token Program
  14. [optional] Token Authorization Rules Program
  15. [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 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 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