Instruction: UpdateTokenMetadata
This instruction is used to update the pool's token metadata account.
A key differentiation between the UpdateTokenMetadata
instruction and CreateTokenMetadata
instruction is that only the UpdateTokenMetadata
instruction can specify name, symbol, and URI.
Input accounts
vote_account_info
: Vote account associated with the pool.W/S requisites: None.
Owner: Must be owned by native vote program.
Rent: Not a responsibility of the program under review.
Initialized: Must be initialized.
Discriminant: Checked.
PDA: No.
pool_info
: The stake pool.W/S requisites: None.
Owner: Single pool program (newly created).
Rent: Must be exempt.
Initialized: Yes.
Discriminant: Checked (
account_type
field).PDA: Yes, controlled by the single pool program — using seeds
"pool", vote_account_address
.
pool_mpl_authority_info
: The update authority controlling the metadata account.W/S requisites: None.
Owner: N/A.
Rent: N/A.
Initialized: N/A.
Discriminant: N/A.
PDA: Yes, controlled by the single pool program — using seeds
"mpl_authority", pool_address
.
authorized_withdrawer_info
: The authorized withdrawer account as set on the vote account.W/S requisites: Signer.
Owner: N/A.
Rent: N/A.
Initialized: N/A.
Discriminant: N/A.
PDA: N/A.
metadata_info
: The MPL metadata account address.W/S requisites: Writable.
Owner: MPL Metadata program.
Rent: N/A.
Initialized: No.
Discriminant: N/A.
PDA: Yes — using seeds
"metadata"
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s
mint
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s
mpl_token_metadata_program_info
: MPL Token Program account.W/S requisites: None.
Owner: N/A (sysvar).
Rent: N/A (sysvar).
Initialized: N/A (sysvar).
Discriminant: N/A (sysvar).
PDA: No, but the address must match the MPL token metadata program.