Merge api/program into single units (#7061)
This commit is contained in:
@ -22,7 +22,7 @@ walkdir = "2"
|
||||
bincode = "1.1.4"
|
||||
byteorder = "1.3.2"
|
||||
elf = "0.0.10"
|
||||
solana-bpf-loader-api = { path = "../bpf_loader_api", version = "0.21.0" }
|
||||
solana-bpf-loader-program = { path = "../bpf_loader", version = "0.21.0" }
|
||||
solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-runtime = { path = "../../runtime", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
|
@ -60,7 +60,7 @@ fn bench_program_verify(bencher: &mut Bencher) {
|
||||
vm.set_elf(&elf).unwrap();
|
||||
|
||||
bencher.iter(|| {
|
||||
vm.set_verifier(solana_bpf_loader_api::bpf_verifier::check)
|
||||
vm.set_verifier(solana_bpf_loader_program::bpf_verifier::check)
|
||||
.unwrap();
|
||||
});
|
||||
}
|
||||
@ -76,7 +76,7 @@ fn bench_program_alu(bencher: &mut Bencher) {
|
||||
inner_iter.write_u64::<LittleEndian>(0).unwrap();
|
||||
|
||||
let elf = load_elf().unwrap();
|
||||
let (mut vm, _) = solana_bpf_loader_api::create_vm(&elf).unwrap();
|
||||
let (mut vm, _) = solana_bpf_loader_program::create_vm(&elf).unwrap();
|
||||
|
||||
println!("Interpreted:");
|
||||
assert_eq!(
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-bpf-loader-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana BPF Loader"
|
||||
description = "Solana BPF loader"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
@ -9,10 +9,14 @@ homepage = "https://solana.com/"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
bincode = "1.2.0"
|
||||
byteorder = "1.3.2"
|
||||
libc = "0.2.65"
|
||||
log = "0.4.8"
|
||||
serde = "1.0.102"
|
||||
solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
solana-bpf-loader-api = { path = "../bpf_loader_api", version = "0.21.0" }
|
||||
solana_rbpf = "=0.1.19"
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib", "cdylib"]
|
@ -3,20 +3,11 @@ pub mod allocator_bump;
|
||||
pub mod bpf_verifier;
|
||||
pub mod helpers;
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! solana_bpf_loader {
|
||||
() => {
|
||||
(
|
||||
"solana_bpf_loader".to_string(),
|
||||
solana_sdk::bpf_loader::id(),
|
||||
)
|
||||
};
|
||||
}
|
||||
|
||||
use byteorder::{ByteOrder, LittleEndian, WriteBytesExt};
|
||||
use log::*;
|
||||
use solana_rbpf::{memory_region::MemoryRegion, EbpfVm};
|
||||
use solana_sdk::account::KeyedAccount;
|
||||
use solana_sdk::bpf_loader::PROGRAM_ID;
|
||||
use solana_sdk::instruction::InstructionError;
|
||||
use solana_sdk::instruction_processor_utils::{limited_deserialize, next_keyed_account};
|
||||
use solana_sdk::loader_instruction::LoaderInstruction;
|
||||
@ -27,6 +18,13 @@ use std::io::prelude::*;
|
||||
use std::io::Error;
|
||||
use std::mem;
|
||||
|
||||
solana_sdk::declare_program!(
|
||||
PROGRAM_ID,
|
||||
"BPFLoader1111111111111111111111111111111111",
|
||||
solana_bpf_loader_program,
|
||||
process_instruction
|
||||
);
|
||||
|
||||
pub fn create_vm(prog: &[u8]) -> Result<(EbpfVm, MemoryRegion), Error> {
|
||||
let mut vm = EbpfVm::new(None)?;
|
||||
vm.set_verifier(bpf_verifier::check)?;
|
@ -1,23 +0,0 @@
|
||||
[package]
|
||||
name = "solana-bpf-loader-api"
|
||||
version = "0.21.0"
|
||||
description = "Solana BPF Loader"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
bincode = "1.2.0"
|
||||
byteorder = "1.3.2"
|
||||
libc = "0.2.65"
|
||||
log = "0.4.8"
|
||||
serde = "1.0.102"
|
||||
solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
solana_rbpf = "=0.1.19"
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
name = "solana_bpf_loader_api"
|
@ -1,12 +0,0 @@
|
||||
#[macro_export]
|
||||
macro_rules! solana_bpf_loader_program {
|
||||
() => {
|
||||
(
|
||||
"solana_bpf_loader_program".to_string(),
|
||||
solana_sdk::bpf_loader::id(),
|
||||
)
|
||||
};
|
||||
}
|
||||
|
||||
use solana_bpf_loader_api::process_instruction;
|
||||
solana_sdk::solana_entrypoint!(process_instruction);
|
@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "solana-bitcoin-spv-program"
|
||||
name = "solana-btc-spv-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana Bitcoin spv parsing program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
@ -17,8 +17,7 @@ num-traits = "0.2"
|
||||
serde = "1.0.102"
|
||||
serde_derive = "1.0.102"
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0"}
|
||||
solana-btc-spv-api = { path = "../btc_spv_api", version = "0.21.0"}
|
||||
|
||||
hex = "0.3.2"
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib", "cdylib"]
|
@ -9,12 +9,16 @@ pub mod spv_processor;
|
||||
pub mod spv_state;
|
||||
pub mod utils;
|
||||
|
||||
use crate::spv_processor::process_instruction;
|
||||
|
||||
pub const BTC_SPV_PROGRAM_ID: [u8; 32] = [
|
||||
2, 202, 42, 59, 228, 51, 182, 147, 162, 245, 234, 78, 205, 37, 131, 154, 110, 252, 154, 254,
|
||||
190, 13, 90, 231, 198, 144, 239, 96, 0, 0, 0, 0,
|
||||
];
|
||||
|
||||
solana_sdk::solana_name_id!(
|
||||
solana_sdk::declare_program!(
|
||||
BTC_SPV_PROGRAM_ID,
|
||||
"BtcSpv1111111111111111111111111111111111111"
|
||||
"BtcSpv1111111111111111111111111111111111111",
|
||||
solana_btc_spv_program,
|
||||
process_instruction
|
||||
);
|
@ -1,24 +0,0 @@
|
||||
[package]
|
||||
name = "solana-btc-spv-api"
|
||||
version = "0.21.0"
|
||||
description = "Solana Bitcoin spv parsing program api"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
bincode = "1.2.0"
|
||||
chrono = { version = "0.4.9", features = ["serde"] }
|
||||
log = "0.4.2"
|
||||
num-derive = "0.3"
|
||||
num-traits = "0.2"
|
||||
serde = "1.0.102"
|
||||
serde_derive = "1.0.102"
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0"}
|
||||
hex = "0.3.2"
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
name = "solana_btc_spv_api"
|
@ -1,13 +0,0 @@
|
||||
use solana_btc_spv_api::spv_processor::process_instruction;
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! solana_btc_spv_program {
|
||||
() => {
|
||||
(
|
||||
"solana_btc_spv_program".to_string(),
|
||||
solana_btc_spv_api::id(),
|
||||
)
|
||||
};
|
||||
}
|
||||
|
||||
solana_sdk::solana_entrypoint!(process_instruction);
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-budget-api"
|
||||
name = "solana-budget-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana Budget program API"
|
||||
description = "Solana Budget program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
@ -22,5 +22,5 @@ solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
solana-runtime = { path = "../../runtime", version = "0.21.0" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
name = "solana_budget_api"
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_budget_program"
|
@ -3,12 +3,16 @@ pub mod budget_instruction;
|
||||
pub mod budget_processor;
|
||||
pub mod budget_state;
|
||||
|
||||
use crate::budget_processor::process_instruction;
|
||||
|
||||
const BUDGET_PROGRAM_ID: [u8; 32] = [
|
||||
2, 203, 81, 223, 225, 24, 34, 35, 203, 214, 138, 130, 144, 208, 35, 77, 63, 16, 87, 51, 47,
|
||||
198, 115, 123, 98, 188, 19, 160, 0, 0, 0, 0,
|
||||
];
|
||||
|
||||
solana_sdk::solana_name_id!(
|
||||
solana_sdk::declare_program!(
|
||||
BUDGET_PROGRAM_ID,
|
||||
"Budget1111111111111111111111111111111111111"
|
||||
"Budget1111111111111111111111111111111111111",
|
||||
solana_budget_program,
|
||||
process_instruction
|
||||
);
|
@ -1,19 +0,0 @@
|
||||
[package]
|
||||
name = "solana-budget-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana budget program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
log = "0.4.8"
|
||||
solana-budget-api = { path = "../budget_api", version = "0.21.0" }
|
||||
solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_budget_program"
|
@ -1,9 +0,0 @@
|
||||
#[macro_export]
|
||||
macro_rules! solana_budget_program {
|
||||
() => {
|
||||
("solana_budget_program".to_string(), solana_budget_api::id())
|
||||
};
|
||||
}
|
||||
|
||||
use solana_budget_api::budget_processor::process_instruction;
|
||||
solana_sdk::solana_entrypoint!(process_instruction);
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-config-program"
|
||||
version = "0.21.0"
|
||||
description = "config program"
|
||||
description = "Solana Config program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-exchange-api"
|
||||
name = "solana-exchange-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana Exchange program API"
|
||||
description = "Solana Exchange program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
@ -21,5 +21,5 @@ solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
solana-runtime = { path = "../../runtime", version = "0.21.0" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
name = "solana_exchange_api"
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_exchange_program"
|
@ -5,14 +5,18 @@ pub mod exchange_state;
|
||||
#[macro_use]
|
||||
extern crate solana_metrics;
|
||||
|
||||
use crate::exchange_processor::process_instruction;
|
||||
|
||||
pub const EXCHANGE_PROGRAM_ID: [u8; 32] = [
|
||||
3, 147, 111, 103, 210, 47, 14, 213, 108, 116, 49, 115, 232, 171, 14, 111, 167, 140, 221, 234,
|
||||
33, 70, 185, 192, 42, 31, 141, 152, 0, 0, 0, 0,
|
||||
];
|
||||
|
||||
solana_sdk::solana_name_id!(
|
||||
solana_sdk::declare_program!(
|
||||
EXCHANGE_PROGRAM_ID,
|
||||
"Exchange11111111111111111111111111111111111"
|
||||
"Exchange11111111111111111111111111111111111",
|
||||
solana_exchange_program,
|
||||
process_instruction
|
||||
);
|
||||
|
||||
pub mod faucet {
|
@ -1,19 +0,0 @@
|
||||
[package]
|
||||
name = "solana-exchange-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana exchange program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
log = "0.4.8"
|
||||
solana-exchange-api = { path = "../exchange_api", version = "0.21.0" }
|
||||
solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_exchange_program"
|
@ -1,12 +0,0 @@
|
||||
#[macro_export]
|
||||
macro_rules! solana_exchange_program {
|
||||
() => {
|
||||
(
|
||||
"solana_exchange_program".to_string(),
|
||||
solana_exchange_api::id(),
|
||||
)
|
||||
};
|
||||
}
|
||||
use solana_exchange_api::exchange_processor::process_instruction;
|
||||
|
||||
solana_sdk::solana_entrypoint!(process_instruction);
|
@ -16,6 +16,6 @@ solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
solana-runtime = { path = "../../runtime", version = "0.21.0" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_failure_program"
|
||||
|
23
programs/failure/src/lib.rs
Normal file
23
programs/failure/src/lib.rs
Normal file
@ -0,0 +1,23 @@
|
||||
use solana_sdk::account::KeyedAccount;
|
||||
use solana_sdk::instruction::InstructionError;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
|
||||
pub const FAILURE_PROGRAM_ID: [u8; 32] = [
|
||||
3, 188, 64, 34, 171, 255, 206, 240, 89, 4, 11, 161, 30, 250, 18, 135, 195, 82, 6, 72, 220, 142,
|
||||
53, 26, 45, 144, 70, 112, 0, 0, 0, 0,
|
||||
];
|
||||
|
||||
solana_sdk::declare_program!(
|
||||
FAILURE_PROGRAM_ID,
|
||||
"FaiLure111111111111111111111111111111111111",
|
||||
solana_failure_program,
|
||||
process_instruction
|
||||
);
|
||||
|
||||
fn process_instruction(
|
||||
_program_id: &Pubkey,
|
||||
_keyed_accounts: &mut [KeyedAccount],
|
||||
_data: &[u8],
|
||||
) -> Result<(), InstructionError> {
|
||||
Err(InstructionError::GenericError)
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
use solana_sdk::account::KeyedAccount;
|
||||
use solana_sdk::instruction::InstructionError;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use solana_sdk::solana_entrypoint;
|
||||
|
||||
solana_entrypoint!(entrypoint);
|
||||
fn entrypoint(
|
||||
_program_id: &Pubkey,
|
||||
_keyed_accounts: &mut [KeyedAccount],
|
||||
_data: &[u8],
|
||||
) -> Result<(), InstructionError> {
|
||||
Err(InstructionError::GenericError)
|
||||
}
|
@ -12,7 +12,7 @@ edition = "2018"
|
||||
bincode = "1.2.0"
|
||||
log = "0.4.8"
|
||||
solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-move-loader-api = { path = "../move_loader_api", version = "0.21.0" }
|
||||
solana-move-loader-program = { path = "../move_loader", version = "0.21.0" }
|
||||
solana-runtime = { path = "../../runtime", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
language_e2e_tests = { version = "0.0.1-sol4", package = "solana_libra_language_e2e_tests" }
|
||||
|
@ -11,9 +11,9 @@ solana_sdk::solana_name_id!(
|
||||
pub mod librapay_instruction;
|
||||
pub mod librapay_transaction;
|
||||
|
||||
extern crate solana_move_loader_api;
|
||||
extern crate solana_move_loader_program;
|
||||
|
||||
use solana_move_loader_api::account_state::LibraAccountState;
|
||||
use solana_move_loader_program::account_state::LibraAccountState;
|
||||
use solana_runtime::loader_utils::load_program;
|
||||
use solana_sdk::account::KeyedAccount;
|
||||
use solana_sdk::client::Client;
|
||||
@ -92,5 +92,5 @@ pub fn process_instruction(
|
||||
keyed_accounts: &mut [KeyedAccount],
|
||||
data: &[u8],
|
||||
) -> Result<(), InstructionError> {
|
||||
solana_move_loader_api::processor::process_instruction(program_id, keyed_accounts, data)
|
||||
solana_move_loader_program::processor::process_instruction(program_id, keyed_accounts, data)
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
use bincode;
|
||||
use solana_move_loader_api::account_state::pubkey_to_address;
|
||||
use solana_move_loader_api::processor::InvokeCommand;
|
||||
use solana_move_loader_program::account_state::pubkey_to_address;
|
||||
use solana_move_loader_program::processor::InvokeCommand;
|
||||
use solana_sdk::instruction::{AccountMeta, Instruction};
|
||||
use solana_sdk::loader_instruction::LoaderInstruction;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
|
@ -1,7 +1,7 @@
|
||||
use crate::librapay_instruction;
|
||||
use log::*;
|
||||
use solana_move_loader_api::account_state::{pubkey_to_address, LibraAccountState};
|
||||
use solana_move_loader_api::data_store::DataStore;
|
||||
use solana_move_loader_program::account_state::{pubkey_to_address, LibraAccountState};
|
||||
use solana_move_loader_program::data_store::DataStore;
|
||||
use solana_sdk::client::Client;
|
||||
use solana_sdk::commitment_config::CommitmentConfig;
|
||||
use solana_sdk::hash::Hash;
|
||||
@ -160,7 +160,7 @@ mod tests {
|
||||
let mut bank = Bank::new(&genesis_config);
|
||||
bank.add_instruction_processor(
|
||||
solana_sdk::move_loader::id(),
|
||||
solana_move_loader_api::processor::process_instruction,
|
||||
solana_move_loader_program::processor::process_instruction,
|
||||
);
|
||||
let shared_bank = Arc::new(bank);
|
||||
let bank_client = BankClient::new_shared(&shared_bank);
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-move-loader-api"
|
||||
name = "solana-move-loader-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana Move Loader"
|
||||
description = "Solana Move loader"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
@ -35,5 +35,5 @@ vm_runtime = { version = "0.0.1-sol4", package = "solana_libra_vm_runtime" }
|
||||
vm_runtime_types = { version = "0.0.1-sol4", package = "solana_libra_vm_runtime_types" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
name = "solana_move_loader_api"
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_move_loader_program"
|
14
programs/move_loader/src/lib.rs
Normal file
14
programs/move_loader/src/lib.rs
Normal file
@ -0,0 +1,14 @@
|
||||
pub mod account_state;
|
||||
pub mod data_store;
|
||||
pub mod error_mappers;
|
||||
pub mod processor;
|
||||
|
||||
use crate::processor::process_instruction;
|
||||
use solana_sdk::move_loader::PROGRAM_ID;
|
||||
|
||||
solana_sdk::declare_program!(
|
||||
PROGRAM_ID,
|
||||
"MoveLdr111111111111111111111111111111111111",
|
||||
solana_move_loader_program,
|
||||
process_instruction
|
||||
);
|
@ -1,4 +0,0 @@
|
||||
pub mod account_state;
|
||||
pub mod data_store;
|
||||
pub mod error_mappers;
|
||||
pub mod processor;
|
1
programs/move_loader_program/.gitignore
vendored
1
programs/move_loader_program/.gitignore
vendored
@ -1 +0,0 @@
|
||||
/target/
|
3667
programs/move_loader_program/Cargo.lock
generated
3667
programs/move_loader_program/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,19 +0,0 @@
|
||||
[package]
|
||||
name = "solana-move-loader-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana Move Loader"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
log = "0.4.8"
|
||||
solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
solana-move-loader-api = { path = "../move_loader_api", version = "0.21.0" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_move_loader_program"
|
@ -1,2 +0,0 @@
|
||||
use solana_move_loader_api::processor::process_instruction;
|
||||
solana_sdk::solana_entrypoint!(process_instruction);
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-noop-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana noop program"
|
||||
description = "Solana Noop program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
@ -14,6 +14,6 @@ solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_noop_program"
|
||||
|
@ -2,10 +2,20 @@ use log::*;
|
||||
use solana_sdk::account::KeyedAccount;
|
||||
use solana_sdk::instruction::InstructionError;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use solana_sdk::solana_entrypoint;
|
||||
|
||||
solana_entrypoint!(entrypoint);
|
||||
fn entrypoint(
|
||||
pub const NOOP_PROGRAM_ID: [u8; 32] = [
|
||||
5, 150, 31, 54, 19, 205, 142, 201, 161, 38, 97, 31, 144, 212, 37, 82, 93, 58, 178, 5, 131, 178,
|
||||
31, 101, 138, 251, 91, 128, 0, 0, 0, 0,
|
||||
];
|
||||
|
||||
solana_sdk::declare_program!(
|
||||
NOOP_PROGRAM_ID,
|
||||
"Noop111111111111111111111111111111111111111",
|
||||
solana_noop_program,
|
||||
process_instruction
|
||||
);
|
||||
|
||||
fn process_instruction(
|
||||
program_id: &Pubkey,
|
||||
keyed_accounts: &mut [KeyedAccount],
|
||||
data: &[u8],
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-stake-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana Stake program API"
|
||||
description = "Solana Stake program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-stake-tests"
|
||||
version = "0.21.0"
|
||||
description = "Solana stake api tests"
|
||||
description = "Solana stake tests"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-storage-api"
|
||||
name = "solana-storage-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana Storage program API"
|
||||
description = "Solana Storage program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
@ -20,5 +20,5 @@ solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
name = "solana_storage_api"
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_storage_program"
|
@ -3,11 +3,16 @@ pub mod storage_contract;
|
||||
pub mod storage_instruction;
|
||||
pub mod storage_processor;
|
||||
|
||||
use crate::storage_processor::process_instruction;
|
||||
|
||||
const STORAGE_PROGRAM_ID: [u8; 32] = [
|
||||
6, 162, 25, 123, 127, 68, 233, 59, 131, 151, 21, 152, 162, 120, 90, 37, 154, 88, 86, 5, 156,
|
||||
221, 182, 201, 142, 103, 151, 112, 0, 0, 0, 0,
|
||||
];
|
||||
solana_sdk::solana_name_id!(
|
||||
|
||||
solana_sdk::declare_program!(
|
||||
STORAGE_PROGRAM_ID,
|
||||
"Storage111111111111111111111111111111111111"
|
||||
"Storage111111111111111111111111111111111111",
|
||||
solana_storage_program,
|
||||
process_instruction
|
||||
);
|
@ -1,12 +0,0 @@
|
||||
#[macro_export]
|
||||
macro_rules! solana_storage_program {
|
||||
() => {
|
||||
(
|
||||
"solana_storage_program".to_string(),
|
||||
solana_storage_api::id(),
|
||||
)
|
||||
};
|
||||
}
|
||||
|
||||
use solana_storage_api::storage_processor::process_instruction;
|
||||
solana_sdk::solana_entrypoint!(process_instruction);
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-storage-program"
|
||||
name = "solana-storage-tests"
|
||||
version = "0.21.0"
|
||||
description = "Solana storage program"
|
||||
description = "Solana storage tests"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
@ -12,13 +12,9 @@ edition = "2018"
|
||||
log = "0.4.8"
|
||||
solana-logger = { path = "../../logger", version = "0.21.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.21.0" }
|
||||
solana-storage-api = { path = "../storage_api", version = "0.21.0" }
|
||||
solana-storage-program = { path = "../storage", version = "0.21.0" }
|
||||
|
||||
[dev-dependencies]
|
||||
solana-runtime = { path = "../../runtime", version = "0.21.0" }
|
||||
assert_matches = "1.3.0"
|
||||
bincode = "1.2.0"
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib", "cdylib"]
|
||||
name = "solana_storage_program"
|
@ -23,7 +23,7 @@ use solana_sdk::{
|
||||
Sysvar,
|
||||
},
|
||||
};
|
||||
use solana_storage_api::{
|
||||
use solana_storage_program::{
|
||||
id,
|
||||
storage_contract::StorageAccount,
|
||||
storage_contract::{ProofStatus, StorageContract, STORAGE_ACCOUNT_SPACE},
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-vest-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana Vest program API"
|
||||
description = "Solana Vest program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-vote-program"
|
||||
version = "0.21.0"
|
||||
description = "Solana Vote program API"
|
||||
description = "Solana Vote program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
|
Reference in New Issue
Block a user