Port programs to solana-program-sdk
This commit is contained in:
parent
63db324204
commit
fe68f7f786
|
@ -1833,35 +1833,35 @@ name = "solana-bpf-rust-128bit"
|
|||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-128bit-dep",
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-128bit-dep"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-alloc"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-call-depth"
|
||||
version = "1.4.0"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-custom-heap"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1869,21 +1869,21 @@ name = "solana-bpf-rust-dep-crate"
|
|||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"byteorder 1.3.4",
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-deprecated_loader"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-dup-accounts"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1892,7 +1892,7 @@ version = "1.5.0"
|
|||
dependencies = [
|
||||
"num-derive 0.2.5",
|
||||
"num-traits",
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
|
@ -1900,14 +1900,14 @@ dependencies = [
|
|||
name = "solana-bpf-rust-external-spend"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-instruction-introspection"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1915,21 +1915,21 @@ name = "solana-bpf-rust-invoke"
|
|||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-invoked",
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoked"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-iter"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1937,28 +1937,28 @@ name = "solana-bpf-rust-many-args"
|
|||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-many-args-dep",
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-many-args-dep"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-noop"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-panic"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1966,14 +1966,14 @@ name = "solana-bpf-rust-param-passing"
|
|||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-param-passing-dep",
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-param-passing-dep"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1982,7 +1982,7 @@ version = "1.5.0"
|
|||
dependencies = [
|
||||
"getrandom",
|
||||
"rand",
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1991,28 +1991,28 @@ version = "1.5.0"
|
|||
dependencies = [
|
||||
"curve25519-dalek 3.0.0",
|
||||
"getrandom",
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sanity"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sha256"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sysval"
|
||||
version = "1.5.0"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
"solana-program-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2116,8 +2116,10 @@ version = "1.5.0"
|
|||
dependencies = [
|
||||
"bincode",
|
||||
"bs58",
|
||||
"bv",
|
||||
"curve25519-dalek 2.1.0",
|
||||
"hex",
|
||||
"itertools",
|
||||
"lazy_static",
|
||||
"log",
|
||||
"num-derive 0.3.0",
|
||||
|
|
|
@ -60,6 +60,7 @@ fn main() {
|
|||
let rust_programs = [
|
||||
"128bit",
|
||||
"alloc",
|
||||
"call_depth",
|
||||
"custom_heap",
|
||||
"dep_crate",
|
||||
"deprecated_loader",
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-128bit"
|
||||
version = "1.5.0"
|
||||
|
@ -11,12 +9,8 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_128bit"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief Example Rust-based BPF program tests loop iteration
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::entrypoint::SUCCESS;
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::entrypoint::SUCCESS;
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-128bit-dep"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! @brief Solana Rust-based BPF program utility functions and types
|
||||
|
||||
extern crate solana_sdk;
|
||||
extern crate solana_program_sdk;
|
||||
|
||||
pub fn uadd(x: u128, y: u128) -> u128 {
|
||||
x + y
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-alloc"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_alloc"
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
|
||||
#[macro_use]
|
||||
extern crate alloc;
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{entrypoint::SUCCESS, info};
|
||||
use solana_program_sdk::{entrypoint::SUCCESS, info};
|
||||
use std::{alloc::Layout, mem};
|
||||
|
||||
#[no_mangle]
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-call-depth"
|
||||
version = "1.4.0"
|
||||
version = "1.5.0"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.4.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_call_depth"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! @brief Example Rust-based BPF program that tests call depth and stack usage
|
||||
|
||||
use solana_sdk::{entrypoint::SUCCESS, info};
|
||||
use solana_program_sdk::{entrypoint::SUCCESS, info};
|
||||
|
||||
#[inline(never)]
|
||||
pub fn recurse(data: &mut [u8]) {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-custom-heap"
|
||||
version = "1.5.0"
|
||||
|
@ -11,12 +9,11 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[features]
|
||||
default = ["custom-heap"]
|
||||
custom-heap = []
|
||||
program = ["custom-heap", "solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_custom_heap"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! @brief Example Rust-based BPF that tests out using a custom heap
|
||||
|
||||
use solana_sdk::{
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo,
|
||||
entrypoint,
|
||||
entrypoint::{ProgramResult, HEAP_LENGTH, HEAP_START_ADDRESS},
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-dep-crate"
|
||||
version = "1.5.0"
|
||||
|
@ -12,11 +10,7 @@ edition = "2018"
|
|||
|
||||
[dependencies]
|
||||
byteorder = { version = "1", default-features = false }
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_dep_crate"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
//! @brief Example Rust-based BPF program tests dependent crates
|
||||
|
||||
extern crate solana_sdk;
|
||||
extern crate solana_program_sdk;
|
||||
use byteorder::{ByteOrder, LittleEndian};
|
||||
use solana_sdk::entrypoint::SUCCESS;
|
||||
use solana_program_sdk::entrypoint::SUCCESS;
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-deprecated_loader"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_deprecated_loader"
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
#![allow(unreachable_code)]
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo, bpf_loader, entrypoint_deprecated,
|
||||
entrypoint_deprecated::ProgramResult, info, log::*, pubkey::Pubkey,
|
||||
};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-dup-accounts"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_dup_accounts"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief Example Rust-based BPF program that tests duplicate accounts passed via accounts
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, info,
|
||||
program_error::ProgramError, pubkey::Pubkey,
|
||||
};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-error-handling"
|
||||
version = "1.5.0"
|
||||
|
@ -13,13 +11,9 @@ edition = "2018"
|
|||
[dependencies]
|
||||
num-derive = "0.2"
|
||||
num-traits = "0.2"
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_error_handling"
|
||||
crate-type = ["cdylib"]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
//! @brief Example Rust-based BPF program that exercises error handling
|
||||
|
||||
extern crate solana_sdk;
|
||||
extern crate solana_program_sdk;
|
||||
use num_derive::FromPrimitive;
|
||||
use num_traits::FromPrimitive;
|
||||
use solana_sdk::{
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo,
|
||||
decode_error::DecodeError,
|
||||
entrypoint,
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-external-spend"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_external_spend"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief Example Rust-based BPF program that moves a lamport from one account to another
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-instruction-introspection"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_instruction_introspection"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief Example Rust-based BPF program that exercises instruction introspection
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{
|
||||
account_info::next_account_info, account_info::AccountInfo, entrypoint,
|
||||
entrypoint::ProgramResult, info, program_error::ProgramError, pubkey::Pubkey,
|
||||
sysvar::instructions,
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke"
|
||||
version = "1.5.0"
|
||||
|
@ -12,11 +10,7 @@ edition = "2018"
|
|||
|
||||
[dependencies]
|
||||
solana-bpf-rust-invoked = { path = "../invoked", default-features = false }
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_invoke"
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
#![allow(unreachable_code)]
|
||||
|
||||
extern crate solana_sdk;
|
||||
extern crate solana_program_sdk;
|
||||
|
||||
use solana_bpf_rust_invoked::instruction::*;
|
||||
use solana_sdk::{
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo,
|
||||
entrypoint,
|
||||
entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE},
|
||||
|
@ -52,7 +52,7 @@ fn process_instruction(
|
|||
let from_lamports = accounts[FROM_INDEX].lamports();
|
||||
let to_lamports = accounts[DERIVED_KEY1_INDEX].lamports();
|
||||
assert_eq!(accounts[DERIVED_KEY1_INDEX].data_len(), 0);
|
||||
assert!(solana_sdk::system_program::check_id(
|
||||
assert!(solana_program_sdk::system_program::check_id(
|
||||
accounts[DERIVED_KEY1_INDEX].owner
|
||||
));
|
||||
|
||||
|
|
|
@ -11,11 +11,11 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
default = ["program"]
|
||||
program = []
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_invoked"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! @brief Example Rust-based BPF program that issues a cross-program-invocation
|
||||
|
||||
use solana_sdk::{
|
||||
use solana_program_sdk::{
|
||||
instruction::{AccountMeta, Instruction},
|
||||
pubkey::Pubkey,
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
//! @brief Example Rust-based BPF program that issues a cross-program-invocation
|
||||
|
||||
pub mod instruction;
|
||||
#[cfg(feature = "program")]
|
||||
pub mod processor;
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
//! @brief Example Rust-based BPF program that issues a cross-program-invocation
|
||||
|
||||
#![cfg(feature = "program")]
|
||||
|
||||
use crate::instruction::*;
|
||||
use solana_sdk::{
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo,
|
||||
bpf_loader, entrypoint,
|
||||
entrypoint::ProgramResult,
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-iter"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_iter"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief Example Rust-based BPF program tests loop iteration
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{entrypoint::SUCCESS, info};
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{entrypoint::SUCCESS, info};
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-many-args"
|
||||
version = "1.5.0"
|
||||
|
@ -11,12 +9,8 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_many_args"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief Example Rust-based BPF program tests loop iteration
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::log::*;
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::log::*;
|
||||
|
||||
pub fn many_args(
|
||||
arg1: u64,
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
//! @brief Example Rust-based BPF program tests loop iteration
|
||||
|
||||
mod helper;
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{entrypoint::SUCCESS, info};
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{entrypoint::SUCCESS, info};
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-many-args-dep"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief Solana Rust-based BPF program utility functions and types
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::info;
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::info;
|
||||
|
||||
pub fn many_args(
|
||||
arg1: u64,
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-noop"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_noop"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief Example Rust-based BPF noop program
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-panic"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_panic"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! @brief Example Rust-based BPF program that panics
|
||||
|
||||
extern crate solana_sdk;
|
||||
extern crate solana_program_sdk;
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-param-passing"
|
||||
version = "1.5.0"
|
||||
|
@ -11,12 +9,8 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
solana-bpf-rust-param-passing-dep = { path = "../param_passing_dep", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
solana-bpf-rust-param-passing-dep = { path = "../param_passing_dep", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_param_passing"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
//! @brief Example Rust-based BPF program tests loop iteration
|
||||
|
||||
extern crate solana_sdk;
|
||||
extern crate solana_program_sdk;
|
||||
use solana_bpf_rust_param_passing_dep::{Data, TestDep};
|
||||
use solana_sdk::{entrypoint::SUCCESS, info};
|
||||
use solana_program_sdk::{entrypoint::SUCCESS, info};
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-param-passing-dep"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! @brief Example Rust-based BPF program tests loop iteration
|
||||
|
||||
extern crate solana_sdk;
|
||||
extern crate solana_program_sdk;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Data<'a> {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-rand"
|
||||
version = "1.5.0"
|
||||
|
@ -13,11 +11,7 @@ edition = "2018"
|
|||
[dependencies]
|
||||
getrandom = { version = "0.1.14", features = ["dummy"] }
|
||||
rand = "0.7"
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_rand"
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
#![allow(unreachable_code)]
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, info, pubkey::Pubkey,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-ristretto"
|
||||
version = "1.5.0"
|
||||
|
@ -13,11 +11,7 @@ edition = "2018"
|
|||
[dependencies]
|
||||
curve25519-dalek = "3"
|
||||
getrandom = { version = "0.1.14", features = ["dummy"] }
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_ristretto"
|
||||
|
|
|
@ -4,7 +4,7 @@ pub mod ristretto;
|
|||
|
||||
use crate::ristretto::ristretto_mul;
|
||||
use curve25519_dalek::{constants::RISTRETTO_BASEPOINT_POINT, scalar::Scalar};
|
||||
use solana_sdk::{
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, info, pubkey::Pubkey,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
use curve25519_dalek::{ristretto::RistrettoPoint, scalar::Scalar};
|
||||
#[cfg(all(feature = "program", target_arch = "bpf"))]
|
||||
use solana_sdk::entrypoint::SUCCESS;
|
||||
use solana_sdk::program_error::ProgramError;
|
||||
use solana_program_sdk::program_error::ProgramError;
|
||||
|
||||
/// Multiply a ristretto point with a scalar
|
||||
///
|
||||
|
@ -15,12 +13,12 @@ pub fn ristretto_mul(
|
|||
) -> Result<RistrettoPoint, ProgramError> {
|
||||
// Perform the calculation inline, calling this from within a program is
|
||||
// not supported
|
||||
#[cfg(not(all(feature = "program", target_arch = "bpf")))]
|
||||
#[cfg(not(target_arch = "bpf"))]
|
||||
{
|
||||
Ok(point * scalar)
|
||||
}
|
||||
// Call via a system call to perform the calculation
|
||||
#[cfg(all(feature = "program", target_arch = "bpf"))]
|
||||
#[cfg(target_arch = "bpf")]
|
||||
{
|
||||
extern "C" {
|
||||
fn sol_ristretto_mul(
|
||||
|
@ -39,7 +37,7 @@ pub fn ristretto_mul(
|
|||
)
|
||||
};
|
||||
match status {
|
||||
SUCCESS => Ok(result),
|
||||
solana_program_sdk::entrypoint::SUCCESS => Ok(result),
|
||||
_ => Err(status.into()),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-sanity"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_sanity"
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
#![allow(unreachable_code)]
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo, bpf_loader, entrypoint, entrypoint::ProgramResult, info, log::*,
|
||||
pubkey::Pubkey,
|
||||
};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-sha256"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_sha256"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief SHA256 Syscall test
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{
|
||||
hash::{hashv, Hasher},
|
||||
info,
|
||||
};
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-sysval"
|
||||
version = "1.5.0"
|
||||
|
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false }
|
||||
|
||||
[features]
|
||||
program = ["solana-sdk/program"]
|
||||
default = ["program", "solana-sdk/default"]
|
||||
solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_rust_sysval"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//! @brief Example Rust-based BPF program that tests sysval use
|
||||
|
||||
extern crate solana_sdk;
|
||||
use solana_sdk::{
|
||||
extern crate solana_program_sdk;
|
||||
use solana_program_sdk::{
|
||||
account_info::AccountInfo,
|
||||
clock::DEFAULT_SLOTS_PER_EPOCH,
|
||||
entrypoint,
|
||||
|
|
Loading…
Reference in New Issue