Port programs to solana-program-sdk

This commit is contained in:
Michael Vines 2020-10-22 10:23:50 -07:00
parent 63db324204
commit fe68f7f786
56 changed files with 113 additions and 253 deletions

View File

@ -1833,35 +1833,35 @@ name = "solana-bpf-rust-128bit"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-bpf-rust-128bit-dep", "solana-bpf-rust-128bit-dep",
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-128bit-dep" name = "solana-bpf-rust-128bit-dep"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-alloc" name = "solana-bpf-rust-alloc"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-call-depth" name = "solana-bpf-rust-call-depth"
version = "1.4.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-custom-heap" name = "solana-bpf-rust-custom-heap"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
@ -1869,21 +1869,21 @@ name = "solana-bpf-rust-dep-crate"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"byteorder 1.3.4", "byteorder 1.3.4",
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-deprecated_loader" name = "solana-bpf-rust-deprecated_loader"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-dup-accounts" name = "solana-bpf-rust-dup-accounts"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
@ -1892,7 +1892,7 @@ version = "1.5.0"
dependencies = [ dependencies = [
"num-derive 0.2.5", "num-derive 0.2.5",
"num-traits", "num-traits",
"solana-sdk", "solana-program-sdk",
"thiserror", "thiserror",
] ]
@ -1900,14 +1900,14 @@ dependencies = [
name = "solana-bpf-rust-external-spend" name = "solana-bpf-rust-external-spend"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-instruction-introspection" name = "solana-bpf-rust-instruction-introspection"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
@ -1915,21 +1915,21 @@ name = "solana-bpf-rust-invoke"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-bpf-rust-invoked", "solana-bpf-rust-invoked",
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-invoked" name = "solana-bpf-rust-invoked"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-iter" name = "solana-bpf-rust-iter"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
@ -1937,28 +1937,28 @@ name = "solana-bpf-rust-many-args"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-bpf-rust-many-args-dep", "solana-bpf-rust-many-args-dep",
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-many-args-dep" name = "solana-bpf-rust-many-args-dep"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-noop" name = "solana-bpf-rust-noop"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-panic" name = "solana-bpf-rust-panic"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
@ -1966,14 +1966,14 @@ name = "solana-bpf-rust-param-passing"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-bpf-rust-param-passing-dep", "solana-bpf-rust-param-passing-dep",
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-param-passing-dep" name = "solana-bpf-rust-param-passing-dep"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
@ -1982,7 +1982,7 @@ version = "1.5.0"
dependencies = [ dependencies = [
"getrandom", "getrandom",
"rand", "rand",
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
@ -1991,28 +1991,28 @@ version = "1.5.0"
dependencies = [ dependencies = [
"curve25519-dalek 3.0.0", "curve25519-dalek 3.0.0",
"getrandom", "getrandom",
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-sanity" name = "solana-bpf-rust-sanity"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-sha256" name = "solana-bpf-rust-sha256"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-sysval" name = "solana-bpf-rust-sysval"
version = "1.5.0" version = "1.5.0"
dependencies = [ dependencies = [
"solana-sdk", "solana-program-sdk",
] ]
[[package]] [[package]]
@ -2116,8 +2116,10 @@ version = "1.5.0"
dependencies = [ dependencies = [
"bincode", "bincode",
"bs58", "bs58",
"bv",
"curve25519-dalek 2.1.0", "curve25519-dalek 2.1.0",
"hex", "hex",
"itertools",
"lazy_static", "lazy_static",
"log", "log",
"num-derive 0.3.0", "num-derive 0.3.0",

View File

@ -60,6 +60,7 @@ fn main() {
let rust_programs = [ let rust_programs = [
"128bit", "128bit",
"alloc", "alloc",
"call_depth",
"custom_heap", "custom_heap",
"dep_crate", "dep_crate",
"deprecated_loader", "deprecated_loader",

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-128bit" name = "solana-bpf-rust-128bit"
version = "1.5.0" version = "1.5.0"
@ -11,12 +9,8 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false } solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "1.5.0", default-features = false } solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "1.5.0" }
[features]
program = ["solana-sdk/program"]
default = ["program", "solana-sdk/default"]
[lib] [lib]
name = "solana_bpf_rust_128bit" name = "solana_bpf_rust_128bit"

View File

@ -1,7 +1,7 @@
//! @brief Example Rust-based BPF program tests loop iteration //! @brief Example Rust-based BPF program tests loop iteration
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::entrypoint::SUCCESS; use solana_program_sdk::entrypoint::SUCCESS;
#[no_mangle] #[no_mangle]
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-128bit-dep" name = "solana-bpf-rust-128bit-dep"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"] targets = ["x86_64-unknown-linux-gnu"]

View File

@ -1,6 +1,6 @@
//! @brief Solana Rust-based BPF program utility functions and types //! @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 { pub fn uadd(x: u128, y: u128) -> u128 {
x + y x + y

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-alloc" name = "solana-bpf-rust-alloc"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_alloc" name = "solana_bpf_rust_alloc"

View File

@ -2,8 +2,7 @@
#[macro_use] #[macro_use]
extern crate alloc; extern crate alloc;
extern crate solana_sdk; use solana_program_sdk::{entrypoint::SUCCESS, info};
use solana_sdk::{entrypoint::SUCCESS, info};
use std::{alloc::Layout, mem}; use std::{alloc::Layout, mem};
#[no_mangle] #[no_mangle]

View File

@ -1,8 +1,6 @@
[package] [package]
name = "solana-bpf-rust-call-depth" name = "solana-bpf-rust-call-depth"
version = "1.4.0" version = "1.5.0"
description = "Solana BPF test program written in Rust" description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.foundation>"] authors = ["Solana Maintainers <maintainers@solana.foundation>"]
repository = "https://github.com/solana-labs/solana" repository = "https://github.com/solana-labs/solana"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.4.0", default-features = false } solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
[features]
program = ["solana-sdk/program"]
default = ["program", "solana-sdk/default"]
[lib] [lib]
name = "solana_bpf_rust_call_depth" name = "solana_bpf_rust_call_depth"

View File

@ -1,6 +1,6 @@
//! @brief Example Rust-based BPF program that tests call depth and stack usage //! @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)] #[inline(never)]
pub fn recurse(data: &mut [u8]) { pub fn recurse(data: &mut [u8]) {

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-custom-heap" name = "solana-bpf-rust-custom-heap"
version = "1.5.0" version = "1.5.0"
@ -11,12 +9,11 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false } solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
[features] [features]
default = ["custom-heap"]
custom-heap = [] custom-heap = []
program = ["custom-heap", "solana-sdk/program"]
default = ["program", "solana-sdk/default"]
[lib] [lib]
name = "solana_bpf_rust_custom_heap" name = "solana_bpf_rust_custom_heap"

View File

@ -1,6 +1,6 @@
//! @brief Example Rust-based BPF that tests out using a custom heap //! @brief Example Rust-based BPF that tests out using a custom heap
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, account_info::AccountInfo,
entrypoint, entrypoint,
entrypoint::{ProgramResult, HEAP_LENGTH, HEAP_START_ADDRESS}, entrypoint::{ProgramResult, HEAP_LENGTH, HEAP_START_ADDRESS},

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-dep-crate" name = "solana-bpf-rust-dep-crate"
version = "1.5.0" version = "1.5.0"
@ -12,11 +10,7 @@ edition = "2018"
[dependencies] [dependencies]
byteorder = { version = "1", default-features = false } byteorder = { version = "1", default-features = false }
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"]
[lib] [lib]
name = "solana_bpf_rust_dep_crate" name = "solana_bpf_rust_dep_crate"

View File

@ -1,8 +1,8 @@
//! @brief Example Rust-based BPF program tests dependent crates //! @brief Example Rust-based BPF program tests dependent crates
extern crate solana_sdk; extern crate solana_program_sdk;
use byteorder::{ByteOrder, LittleEndian}; use byteorder::{ByteOrder, LittleEndian};
use solana_sdk::entrypoint::SUCCESS; use solana_program_sdk::entrypoint::SUCCESS;
#[no_mangle] #[no_mangle]
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-deprecated_loader" name = "solana-bpf-rust-deprecated_loader"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_deprecated_loader" name = "solana_bpf_rust_deprecated_loader"

View File

@ -2,8 +2,8 @@
#![allow(unreachable_code)] #![allow(unreachable_code)]
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, bpf_loader, entrypoint_deprecated, account_info::AccountInfo, bpf_loader, entrypoint_deprecated,
entrypoint_deprecated::ProgramResult, info, log::*, pubkey::Pubkey, entrypoint_deprecated::ProgramResult, info, log::*, pubkey::Pubkey,
}; };

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-dup-accounts" name = "solana-bpf-rust-dup-accounts"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_dup_accounts" name = "solana_bpf_rust_dup_accounts"

View File

@ -1,7 +1,7 @@
//! @brief Example Rust-based BPF program that tests duplicate accounts passed via accounts //! @brief Example Rust-based BPF program that tests duplicate accounts passed via accounts
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, info, account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, info,
program_error::ProgramError, pubkey::Pubkey, program_error::ProgramError, pubkey::Pubkey,
}; };

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-error-handling" name = "solana-bpf-rust-error-handling"
version = "1.5.0" version = "1.5.0"
@ -13,13 +11,9 @@ edition = "2018"
[dependencies] [dependencies]
num-derive = "0.2" num-derive = "0.2"
num-traits = "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" thiserror = "1.0"
[features]
program = ["solana-sdk/program"]
default = ["program", "solana-sdk/default"]
[lib] [lib]
name = "solana_bpf_rust_error_handling" name = "solana_bpf_rust_error_handling"
crate-type = ["cdylib"] crate-type = ["cdylib"]

View File

@ -1,9 +1,9 @@
//! @brief Example Rust-based BPF program that exercises error handling //! @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_derive::FromPrimitive;
use num_traits::FromPrimitive; use num_traits::FromPrimitive;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, account_info::AccountInfo,
decode_error::DecodeError, decode_error::DecodeError,
entrypoint, entrypoint,

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-external-spend" name = "solana-bpf-rust-external-spend"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_external_spend" name = "solana_bpf_rust_external_spend"

View File

@ -1,7 +1,7 @@
//! @brief Example Rust-based BPF program that moves a lamport from one account to another //! @brief Example Rust-based BPF program that moves a lamport from one account to another
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey, account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey,
}; };

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-instruction-introspection" name = "solana-bpf-rust-instruction-introspection"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_instruction_introspection" name = "solana_bpf_rust_instruction_introspection"

View File

@ -1,7 +1,7 @@
//! @brief Example Rust-based BPF program that exercises instruction introspection //! @brief Example Rust-based BPF program that exercises instruction introspection
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{ use solana_program_sdk::{
account_info::next_account_info, account_info::AccountInfo, entrypoint, account_info::next_account_info, account_info::AccountInfo, entrypoint,
entrypoint::ProgramResult, info, program_error::ProgramError, pubkey::Pubkey, entrypoint::ProgramResult, info, program_error::ProgramError, pubkey::Pubkey,
sysvar::instructions, sysvar::instructions,

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-invoke" name = "solana-bpf-rust-invoke"
version = "1.5.0" version = "1.5.0"
@ -12,11 +10,7 @@ edition = "2018"
[dependencies] [dependencies]
solana-bpf-rust-invoked = { path = "../invoked", default-features = false } solana-bpf-rust-invoked = { path = "../invoked", default-features = false }
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"]
[lib] [lib]
name = "solana_bpf_rust_invoke" name = "solana_bpf_rust_invoke"

View File

@ -2,10 +2,10 @@
#![allow(unreachable_code)] #![allow(unreachable_code)]
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_bpf_rust_invoked::instruction::*; use solana_bpf_rust_invoked::instruction::*;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, account_info::AccountInfo,
entrypoint, entrypoint,
entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE}, entrypoint::{ProgramResult, MAX_PERMITTED_DATA_INCREASE},
@ -52,7 +52,7 @@ fn process_instruction(
let from_lamports = accounts[FROM_INDEX].lamports(); let from_lamports = accounts[FROM_INDEX].lamports();
let to_lamports = accounts[DERIVED_KEY1_INDEX].lamports(); let to_lamports = accounts[DERIVED_KEY1_INDEX].lamports();
assert_eq!(accounts[DERIVED_KEY1_INDEX].data_len(), 0); 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 accounts[DERIVED_KEY1_INDEX].owner
)); ));

View File

@ -11,11 +11,11 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false } solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
[features] [features]
program = ["solana-sdk/program"] default = ["program"]
default = ["program", "solana-sdk/default"] program = []
[lib] [lib]
name = "solana_bpf_rust_invoked" name = "solana_bpf_rust_invoked"

View File

@ -1,6 +1,6 @@
//! @brief Example Rust-based BPF program that issues a cross-program-invocation //! @brief Example Rust-based BPF program that issues a cross-program-invocation
use solana_sdk::{ use solana_program_sdk::{
instruction::{AccountMeta, Instruction}, instruction::{AccountMeta, Instruction},
pubkey::Pubkey, pubkey::Pubkey,
}; };

View File

@ -1,5 +1,4 @@
//! @brief Example Rust-based BPF program that issues a cross-program-invocation //! @brief Example Rust-based BPF program that issues a cross-program-invocation
pub mod instruction; pub mod instruction;
#[cfg(feature = "program")]
pub mod processor; pub mod processor;

View File

@ -1,7 +1,9 @@
//! @brief Example Rust-based BPF program that issues a cross-program-invocation //! @brief Example Rust-based BPF program that issues a cross-program-invocation
#![cfg(feature = "program")]
use crate::instruction::*; use crate::instruction::*;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, account_info::AccountInfo,
bpf_loader, entrypoint, bpf_loader, entrypoint,
entrypoint::ProgramResult, entrypoint::ProgramResult,

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-iter" name = "solana-bpf-rust-iter"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_iter" name = "solana_bpf_rust_iter"

View File

@ -1,7 +1,7 @@
//! @brief Example Rust-based BPF program tests loop iteration //! @brief Example Rust-based BPF program tests loop iteration
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{entrypoint::SUCCESS, info}; use solana_program_sdk::{entrypoint::SUCCESS, info};
#[no_mangle] #[no_mangle]
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-many-args" name = "solana-bpf-rust-many-args"
version = "1.5.0" version = "1.5.0"
@ -11,12 +9,8 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false } solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "1.5.0", default-features = false } solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "1.5.0" }
[features]
program = ["solana-sdk/program"]
default = ["program", "solana-sdk/default"]
[lib] [lib]
name = "solana_bpf_rust_many_args" name = "solana_bpf_rust_many_args"

View File

@ -1,7 +1,7 @@
//! @brief Example Rust-based BPF program tests loop iteration //! @brief Example Rust-based BPF program tests loop iteration
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::log::*; use solana_program_sdk::log::*;
pub fn many_args( pub fn many_args(
arg1: u64, arg1: u64,

View File

@ -1,8 +1,8 @@
//! @brief Example Rust-based BPF program tests loop iteration //! @brief Example Rust-based BPF program tests loop iteration
mod helper; mod helper;
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{entrypoint::SUCCESS, info}; use solana_program_sdk::{entrypoint::SUCCESS, info};
#[no_mangle] #[no_mangle]
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-many-args-dep" name = "solana-bpf-rust-many-args-dep"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"] targets = ["x86_64-unknown-linux-gnu"]

View File

@ -1,7 +1,7 @@
//! @brief Solana Rust-based BPF program utility functions and types //! @brief Solana Rust-based BPF program utility functions and types
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::info; use solana_program_sdk::info;
pub fn many_args( pub fn many_args(
arg1: u64, arg1: u64,

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-noop" name = "solana-bpf-rust-noop"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_noop" name = "solana_bpf_rust_noop"

View File

@ -1,7 +1,7 @@
//! @brief Example Rust-based BPF noop program //! @brief Example Rust-based BPF noop program
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey, account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey,
}; };

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-panic" name = "solana-bpf-rust-panic"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_panic" name = "solana_bpf_rust_panic"

View File

@ -1,6 +1,6 @@
//! @brief Example Rust-based BPF program that panics //! @brief Example Rust-based BPF program that panics
extern crate solana_sdk; extern crate solana_program_sdk;
#[no_mangle] #[no_mangle]
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-param-passing" name = "solana-bpf-rust-param-passing"
version = "1.5.0" version = "1.5.0"
@ -11,12 +9,8 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.5.0", default-features = false } solana-program-sdk = { path = "../../../../sdk/program", version = "1.5.0" }
solana-bpf-rust-param-passing-dep = { path = "../param_passing_dep", version = "1.5.0", default-features = false } solana-bpf-rust-param-passing-dep = { path = "../param_passing_dep", version = "1.5.0" }
[features]
program = ["solana-sdk/program"]
default = ["program", "solana-sdk/default"]
[lib] [lib]
name = "solana_bpf_rust_param_passing" name = "solana_bpf_rust_param_passing"

View File

@ -1,8 +1,8 @@
//! @brief Example Rust-based BPF program tests loop iteration //! @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_bpf_rust_param_passing_dep::{Data, TestDep};
use solana_sdk::{entrypoint::SUCCESS, info}; use solana_program_sdk::{entrypoint::SUCCESS, info};
#[no_mangle] #[no_mangle]
pub extern "C" fn entrypoint(_input: *mut u8) -> u64 { pub extern "C" fn entrypoint(_input: *mut u8) -> u64 {

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-param-passing-dep" name = "solana-bpf-rust-param-passing-dep"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"] targets = ["x86_64-unknown-linux-gnu"]

View File

@ -1,6 +1,6 @@
//! @brief Example Rust-based BPF program tests loop iteration //! @brief Example Rust-based BPF program tests loop iteration
extern crate solana_sdk; extern crate solana_program_sdk;
#[derive(Debug)] #[derive(Debug)]
pub struct Data<'a> { pub struct Data<'a> {

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-rand" name = "solana-bpf-rust-rand"
version = "1.5.0" version = "1.5.0"
@ -13,11 +11,7 @@ edition = "2018"
[dependencies] [dependencies]
getrandom = { version = "0.1.14", features = ["dummy"] } getrandom = { version = "0.1.14", features = ["dummy"] }
rand = "0.7" rand = "0.7"
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"]
[lib] [lib]
name = "solana_bpf_rust_rand" name = "solana_bpf_rust_rand"

View File

@ -2,8 +2,8 @@
#![allow(unreachable_code)] #![allow(unreachable_code)]
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, info, pubkey::Pubkey, account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, info, pubkey::Pubkey,
}; };

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-ristretto" name = "solana-bpf-rust-ristretto"
version = "1.5.0" version = "1.5.0"
@ -13,11 +11,7 @@ edition = "2018"
[dependencies] [dependencies]
curve25519-dalek = "3" curve25519-dalek = "3"
getrandom = { version = "0.1.14", features = ["dummy"] } getrandom = { version = "0.1.14", features = ["dummy"] }
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"]
[lib] [lib]
name = "solana_bpf_rust_ristretto" name = "solana_bpf_rust_ristretto"

View File

@ -4,7 +4,7 @@ pub mod ristretto;
use crate::ristretto::ristretto_mul; use crate::ristretto::ristretto_mul;
use curve25519_dalek::{constants::RISTRETTO_BASEPOINT_POINT, scalar::Scalar}; 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, account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, info, pubkey::Pubkey,
}; };

View File

@ -1,7 +1,5 @@
use curve25519_dalek::{ristretto::RistrettoPoint, scalar::Scalar}; use curve25519_dalek::{ristretto::RistrettoPoint, scalar::Scalar};
#[cfg(all(feature = "program", target_arch = "bpf"))] use solana_program_sdk::program_error::ProgramError;
use solana_sdk::entrypoint::SUCCESS;
use solana_sdk::program_error::ProgramError;
/// Multiply a ristretto point with a scalar /// Multiply a ristretto point with a scalar
/// ///
@ -15,12 +13,12 @@ pub fn ristretto_mul(
) -> Result<RistrettoPoint, ProgramError> { ) -> Result<RistrettoPoint, ProgramError> {
// Perform the calculation inline, calling this from within a program is // Perform the calculation inline, calling this from within a program is
// not supported // not supported
#[cfg(not(all(feature = "program", target_arch = "bpf")))] #[cfg(not(target_arch = "bpf"))]
{ {
Ok(point * scalar) Ok(point * scalar)
} }
// Call via a system call to perform the calculation // Call via a system call to perform the calculation
#[cfg(all(feature = "program", target_arch = "bpf"))] #[cfg(target_arch = "bpf")]
{ {
extern "C" { extern "C" {
fn sol_ristretto_mul( fn sol_ristretto_mul(
@ -39,7 +37,7 @@ pub fn ristretto_mul(
) )
}; };
match status { match status {
SUCCESS => Ok(result), solana_program_sdk::entrypoint::SUCCESS => Ok(result),
_ => Err(status.into()), _ => Err(status.into()),
} }
} }

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-sanity" name = "solana-bpf-rust-sanity"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_sanity" name = "solana_bpf_rust_sanity"

View File

@ -2,8 +2,8 @@
#![allow(unreachable_code)] #![allow(unreachable_code)]
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, bpf_loader, entrypoint, entrypoint::ProgramResult, info, log::*, account_info::AccountInfo, bpf_loader, entrypoint, entrypoint::ProgramResult, info, log::*,
pubkey::Pubkey, pubkey::Pubkey,
}; };

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-sha256" name = "solana-bpf-rust-sha256"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_sha256" name = "solana_bpf_rust_sha256"

View File

@ -1,7 +1,7 @@
//! @brief SHA256 Syscall test //! @brief SHA256 Syscall test
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{ use solana_program_sdk::{
hash::{hashv, Hasher}, hash::{hashv, Hasher},
info, info,
}; };

View File

@ -1,5 +1,3 @@
[package] [package]
name = "solana-bpf-rust-sysval" name = "solana-bpf-rust-sysval"
version = "1.5.0" version = "1.5.0"
@ -11,11 +9,7 @@ homepage = "https://solana.com/"
edition = "2018" edition = "2018"
[dependencies] [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"]
[lib] [lib]
name = "solana_bpf_rust_sysval" name = "solana_bpf_rust_sysval"

View File

@ -1,7 +1,7 @@
//! @brief Example Rust-based BPF program that tests sysval use //! @brief Example Rust-based BPF program that tests sysval use
extern crate solana_sdk; extern crate solana_program_sdk;
use solana_sdk::{ use solana_program_sdk::{
account_info::AccountInfo, account_info::AccountInfo,
clock::DEFAULT_SLOTS_PER_EPOCH, clock::DEFAULT_SLOTS_PER_EPOCH,
entrypoint, entrypoint,