Return error if Transaction contains writable executable or ProgramData accounts (#19629)
* Return error if Transaction locks an executable as writable * Return error if a ProgramData account is writable but the upgradable loader isn't present * Remove unreachable clause * Fixup bpf tests * Review comments * Add new TransactionError * Disallow writes to any upgradeable-loader account when loader not present; remove is_upgradeable_loader_present exception for all other executables
This commit is contained in:
@ -119,6 +119,10 @@ pub enum TransactionError {
|
||||
/// Transaction version is unsupported
|
||||
#[error("Transaction version is unsupported")]
|
||||
UnsupportedVersion,
|
||||
|
||||
/// Transaction loads a writable account that cannot be written
|
||||
#[error("Transaction loads a writable account that cannot be written")]
|
||||
InvalidWritableAccount,
|
||||
}
|
||||
|
||||
pub type Result<T> = result::Result<T, TransactionError>;
|
||||
|
Reference in New Issue
Block a user