solana_program

Module bpf_loader_upgradeable

Source
Expand description

An upgradeable BPF loader native program.

The upgradeable BPF loader is responsible for deploying, upgrading, and executing BPF programs. The upgradeable loader allows a program’s authority to update the program at any time. This ability breaks the “code is law” contract that once a program is on-chain it is immutable. Because of this, care should be taken before executing upgradeable programs which still have a functioning authority. For more information refer to the loader_upgradeable_instruction module.

The solana program deploy CLI command uses the upgradeable BPF loader. Calling solana program deploy --final deploys a program that cannot be upgraded, but it does so by revoking the authority to upgrade, not by using the non-upgradeable loader.

Enums§

UpgradeableLoaderState
Upgradeable loader account states

Constants§

ID
The const program ID.

Functions§

check_id
Returns true if given pubkey is the program ID.
close
Returns the instructions required to close a buffer account
close_any
Returns the instructions required to close program, buffer, or uninitialized account
create_buffer
Returns the instructions required to initialize a Buffer account.
deploy_with_max_program_len
Returns the instructions required to deploy a program with a specified maximum program length. The maximum length must be large enough to accommodate any future upgrades.
extend_program
Returns the instruction required to extend the size of a program’s executable data account
get_program_data_address
Returns the program data address for a program ID
id
Returns the program ID.
is_close_instruction
is_set_authority_checked_instruction
is_set_authority_instruction
is_upgrade_instruction
set_buffer_authority
Returns the instructions required to set a buffers’s authority.
set_buffer_authority_checked
Returns the instructions required to set a buffers’s authority. If using this instruction, the new authority must sign.
set_upgrade_authority
Returns the instructions required to set a program’s authority.
set_upgrade_authority_checked
Returns the instructions required to set a program’s authority. If using this instruction, the new authority must sign.
upgrade
Returns the instructions required to upgrade a program.
write
Returns the instructions required to write a chunk of program data to a buffer account.