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

Required Methods§

Implementors§

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

Delegates an action over an asset to a specific account.

Accounts:

  1. [writable] Delegate record account
  2. [] Delegated owner
  3. [writable] Metadata account
  4. [optional] Master Edition account
  5. [] Mint account
  6. [optional, writable] Token account
  7. [signer] Approver (update authority or token owner) to approve the delegation
  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

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

Accounts:

  1. [signer] Delegate
  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

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. [writable] Mint of token asset
  6. [signer] Authority (mint authority or metadata’s update authority for NonFungible asests)
  7. [signer, writable] Payer
  8. [] System program
  9. [] Instructions sysvar account
  10. [] SPL Token program
  11. [] SPL Associated Token Account program
  12. [optional] Token Authorization Rules program
  13. [optional] Token Authorization Rules account

Revokes a delegate.

Accounts:

  1. [writable] Delegate record account
  2. [] Delegated owner
  3. [writable] Metadata account
  4. [optional] Master Edition account
  5. [] Mint account
  6. [optional, writable] Token account
  7. [signer] Authority (update authority, token owner or delegate) of the revoke
  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

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. `[signer] Transfer authority (token or delegate owner)
  9. [optional, writable] Delegate record PDA
  10. [signer, writable] Payer
  11. [] System Program
  12. [] Instructions sysvar account
  13. [] SPL Token Program
  14. [] SPL Associated Token Account program
  15. [optional] Token Authorization Rules Program
  16. [optional] Token Authorization Rules account

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

Accounts:

  1. [signer] Delegate
  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