pub trait InstructionBuilder {
// Required method
fn instruction(&self) -> Instruction;
}
Required Methods§
fn instruction(&self) -> Instruction
Implementors§
impl InstructionBuilder for Create
Builds the instruction to create metadata and associated accounts.
Accounts:
[writable]
Metadata account[optional, writable]
Master edition account[writable]
Mint account[signer]
Mint authority[signer]
Payer[signer]
Update authority[]
System program[]
Instructions sysvar account[]
SPL Token program
impl InstructionBuilder for Delegate
Delegates an action over an asset to a specific account.
Accounts:
[optional, writable]
Delegate record account[]
Delegated owner[writable]
Metadata account[optional]
Master Edition account[optional, writable]
Token record account[]
Mint account[optional, writable]
Token account[signer]
Update authority or token owner[signer, writable]
Payer[]
System Program[]
Instructions sysvar account[optional]
SPL Token Program[optional]
Token Authorization Rules program[optional]
Token Authorization Rules account
impl InstructionBuilder for Lock
Locks an asset. For non-programmable assets, this will also freeze the token account.
Accounts:
[signer]
Delegate account[optional]
Token owner[writable]
Token account[]
Mint account[writable]
Metadata account[optional]
Edition account[optional, writable]
Token record account[signer, writable]
Payer[]
System Program[]
Instructions sysvar account[optional]
SPL Token Program[optional]
Token Authorization Rules program[optional]
Token Authorization Rules account
impl InstructionBuilder for Migrate
Migrates an asset to a ProgrammableAsset type.
Accounts:
[writable]
Metadata account[writable]
Edition account[writable]
Token account[]
Token account owner[]
Mint account[writable, signer]
Payer[signer]
Update authority[]
Collection metadata account[]
Delegate record account[writable]
Token record account[]
System program[]
Instruction sysvar account[]
SPL Token Program[optional]
Token Authorization Rules Program[optional]
Token Authorization Rules account
impl InstructionBuilder for Mint
Builds the instruction to mint a token.
Accounts:
[writable]
Token account key[optional]
Owner of the token account[]
Metadata account key (pda of [‘metadata’, program id, mint id])“)][optional]
Master Edition account[optional]
Token record account[writable]
Mint of token asset[signer]
Authority (mint authority or metadata’s update authority for NonFungible asests)[optional]
Metadata delegate record[signer, writable]
Payer[]
System program[]
Instructions sysvar account[]
SPL Token program[]
SPL Associated Token Account program[optional]
Token Authorization Rules program[optional]
Token Authorization Rules account
impl InstructionBuilder for Revoke
Revokes a delegate.
Accounts:
[optional, writable]
Delegate record account[]
Delegated owner[writable]
Metadata account[optional]
Master Edition account[optional, writable]
Token record account[]
Mint account[optional, writable]
Token account[signer]
Update authority or token owner[signer, writable]
Payer[]
System Program[]
Instructions sysvar account[optional]
SPL Token Program[optional]
Token Authorization Rules program[optional]
Token Authorization Rules account
impl InstructionBuilder for Transfer
Transfer tokens from a token account.
Accounts:
[writable]
Token account[]
Token account owner[writable]
Destination token account[]
Destination token account owner[]
Mint of token asset[writable]
Metadata account[optional]
Edition of token asset[optional, writable]
Owner token record account[optional, writable]
Destination token record account- `[signer] Transfer authority (token owner or delegate)
[signer, writable]
Payer[]
System Program[]
Instructions sysvar account[]
SPL Token Program[]
SPL Associated Token Account program[optional]
Token Authorization Rules Program[optional]
Token Authorization Rules account
impl InstructionBuilder for Unlock
Unlocks an asset. For non-programmable assets, this will also thaw the token account.
Accounts:
[signer]
Delegate account[optional]
Token owner[writable]
Token account[]
Mint account[writable]
Metadata account[optional]
Edition account[optional, writable]
Token record account[signer, writable]
Payer[]
System Program[]
Instructions sysvar account[optional]
SPL Token Program[optional]
Token Authorization Rules program[optional]
Token Authorization Rules account
impl InstructionBuilder for Update
Updates the metadata of an asset.
Accounts:
[signer]
Update authority or delegate[optional]
Delegate record PDA[optional]
Token account[]
Mint account[writable]
Metadata account[optional]
Edition account[signer]
Payer[]
System program[]
System program[optional]
Token Authorization Rules Program[optional]
Token Authorization Rules account