Cleanup nits (#16211)
This commit is contained in:
parent
54c68ea83f
commit
f84e88f0a2
|
@ -2863,7 +2863,7 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sysval"
|
||||
name = "solana-bpf-rust-sysvar"
|
||||
version = "1.7.0"
|
||||
dependencies = [
|
||||
"solana-program 1.7.0",
|
||||
|
|
|
@ -73,7 +73,7 @@ members = [
|
|||
"rust/sha256",
|
||||
"rust/spoof1",
|
||||
"rust/spoof1_system",
|
||||
"rust/sysval",
|
||||
"rust/sysvar",
|
||||
"rust/upgradeable",
|
||||
"rust/upgraded",
|
||||
]
|
||||
|
|
|
@ -88,7 +88,7 @@ fn main() {
|
|||
"sha256",
|
||||
"spoof1",
|
||||
"spoof1_system",
|
||||
"sysval",
|
||||
"sysvar",
|
||||
"upgradeable",
|
||||
"upgraded",
|
||||
];
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
[package]
|
||||
name = "solana-bpf-rust-sysval"
|
||||
name = "solana-bpf-rust-sysvar"
|
||||
version = "1.7.0"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-bpf-rust-sysval"
|
||||
documentation = "https://docs.rs/solana-bpf-rust-sysvar"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
|
@ -1,4 +1,4 @@
|
|||
//! @brief Example Rust-based BPF program that tests sysval use
|
||||
//! @brief Example Rust-based BPF program that tests sysvar use
|
||||
|
||||
extern crate solana_program;
|
||||
use solana_program::{
|
|
@ -438,7 +438,7 @@ fn test_program_bpf_sanity() {
|
|||
("solana_bpf_rust_ristretto", true),
|
||||
("solana_bpf_rust_sanity", true),
|
||||
("solana_bpf_rust_sha256", true),
|
||||
("solana_bpf_rust_sysval", true),
|
||||
("solana_bpf_rust_sysvar", true),
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
@ -111,13 +111,6 @@ pub fn register_syscalls(
|
|||
|
||||
syscall_registry.register_syscall_by_name(b"sol_log_pubkey", SyscallLogPubkey::call)?;
|
||||
|
||||
syscall_registry.register_syscall_by_name(b"sol_sha256", SyscallSha256::call)?;
|
||||
|
||||
if invoke_context.is_feature_active(&ristretto_mul_syscall_enabled::id()) {
|
||||
syscall_registry
|
||||
.register_syscall_by_name(b"sol_ristretto_mul", SyscallRistrettoMul::call)?;
|
||||
}
|
||||
|
||||
syscall_registry.register_syscall_by_name(
|
||||
b"sol_create_program_address",
|
||||
SyscallCreateProgramAddress::call,
|
||||
|
@ -126,6 +119,14 @@ pub fn register_syscalls(
|
|||
b"sol_try_find_program_address",
|
||||
SyscallTryFindProgramAddress::call,
|
||||
)?;
|
||||
|
||||
syscall_registry.register_syscall_by_name(b"sol_sha256", SyscallSha256::call)?;
|
||||
|
||||
if invoke_context.is_feature_active(&ristretto_mul_syscall_enabled::id()) {
|
||||
syscall_registry
|
||||
.register_syscall_by_name(b"sol_ristretto_mul", SyscallRistrettoMul::call)?;
|
||||
}
|
||||
|
||||
syscall_registry
|
||||
.register_syscall_by_name(b"sol_invoke_signed_c", SyscallInvokeSignedC::call)?;
|
||||
syscall_registry
|
||||
|
@ -203,6 +204,24 @@ pub fn bind_syscall_context_objects<'a>(
|
|||
None,
|
||||
)?;
|
||||
|
||||
vm.bind_syscall_context_object(
|
||||
Box::new(SyscallCreateProgramAddress {
|
||||
cost: bpf_compute_budget.create_program_address_units,
|
||||
compute_meter: invoke_context.get_compute_meter(),
|
||||
loader_id,
|
||||
}),
|
||||
None,
|
||||
)?;
|
||||
|
||||
vm.bind_syscall_context_object(
|
||||
Box::new(SyscallTryFindProgramAddress {
|
||||
cost: bpf_compute_budget.create_program_address_units,
|
||||
compute_meter: invoke_context.get_compute_meter(),
|
||||
loader_id,
|
||||
}),
|
||||
None,
|
||||
)?;
|
||||
|
||||
vm.bind_syscall_context_object(
|
||||
Box::new(SyscallSha256 {
|
||||
sha256_base_cost: bpf_compute_budget.sha256_base_cost,
|
||||
|
@ -224,24 +243,6 @@ pub fn bind_syscall_context_objects<'a>(
|
|||
}),
|
||||
);
|
||||
|
||||
vm.bind_syscall_context_object(
|
||||
Box::new(SyscallCreateProgramAddress {
|
||||
cost: bpf_compute_budget.create_program_address_units,
|
||||
compute_meter: invoke_context.get_compute_meter(),
|
||||
loader_id,
|
||||
}),
|
||||
None,
|
||||
)?;
|
||||
|
||||
vm.bind_syscall_context_object(
|
||||
Box::new(SyscallTryFindProgramAddress {
|
||||
cost: bpf_compute_budget.create_program_address_units,
|
||||
compute_meter: invoke_context.get_compute_meter(),
|
||||
loader_id,
|
||||
}),
|
||||
None,
|
||||
)?;
|
||||
|
||||
// Cross-program invocation syscalls
|
||||
|
||||
let invoke_context = Rc::new(RefCell::new(invoke_context));
|
||||
|
|
|
@ -176,30 +176,39 @@ pub enum InstructionError {
|
|||
#[error("Cross-program invocation with unauthorized signer or writable account")]
|
||||
PrivilegeEscalation,
|
||||
|
||||
/// Failed to create program execution environment
|
||||
#[error("Failed to create program execution environment")]
|
||||
ProgramEnvironmentSetupFailure,
|
||||
|
||||
/// Program failed to complete
|
||||
#[error("Program failed to complete")]
|
||||
ProgramFailedToComplete,
|
||||
|
||||
/// Program failed to compile
|
||||
#[error("Program failed to compile")]
|
||||
ProgramFailedToCompile,
|
||||
|
||||
/// Account is immutable
|
||||
#[error("Account is immutable")]
|
||||
Immutable,
|
||||
|
||||
/// Incorrect authority provided
|
||||
#[error("Incorrect authority provided")]
|
||||
IncorrectAuthority,
|
||||
|
||||
/// Failed to serialize or deserialize account data
|
||||
#[error("Failed to serialize or deserialize account data: {0}")]
|
||||
BorshIoError(String),
|
||||
|
||||
/// An account does not have enough lamports to be rent-exempt
|
||||
#[error("An account does not have enough lamports to be rent-exempt")]
|
||||
AccountNotRentExempt,
|
||||
|
||||
/// Invalid account owner
|
||||
#[error("Invalid account owner")]
|
||||
InvalidAccountOwner,
|
||||
|
||||
/// Program arithmetic overflowed
|
||||
#[error("Program arithmetic overflowed")]
|
||||
ArithmeticOverflow,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue