Switch to solana_sdk Pack and COption

This commit is contained in:
Jack May 2020-09-21 14:56:19 -07:00
parent 15aa02760a
commit 759fe1487e
7 changed files with 72 additions and 61 deletions

32
Cargo.lock generated
View File

@ -1883,9 +1883,9 @@ dependencies = [
[[package]]
name = "solana-account-decoder"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c39dea8ed03d3531cd6de3636e23927d07fc476bf153b773f4451851f9ad698"
checksum = "1cc05651f6c01d207452816e439ae07d27f505f7df9a6b47d873e0e758366d4b"
dependencies = [
"Inflector",
"base64 0.12.3",
@ -1906,9 +1906,9 @@ dependencies = [
[[package]]
name = "solana-clap-utils"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fd94f05278fcbbb700fedd2effd58998f091e9688724b3a79bb3da2712c41fc"
checksum = "2af1a135e5d71da59e93b9f01310f312ec831bbd9509685fb089e116f37ec5e2"
dependencies = [
"chrono",
"clap",
@ -1922,9 +1922,9 @@ dependencies = [
[[package]]
name = "solana-cli-config"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbb523748ccf9ce146c9da4bdd6eda15aa6606d327b9f974f41eba15ea96a713"
checksum = "309e2f28dbca8b64ababbcf7ed50c051bf6146a40419f1dcd3197ae75cb7af78"
dependencies = [
"dirs",
"lazy_static",
@ -1962,9 +1962,9 @@ dependencies = [
[[package]]
name = "solana-config-program"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca137e659f9390c1334bfc8273527fffb4d88980a0726a193c0c2da15598ee8b"
checksum = "c96a4875aa76cd477910dc95e6de7dcc276c92cad9a82d473503b2b9e4aeb280"
dependencies = [
"bincode",
"chrono",
@ -2012,9 +2012,9 @@ dependencies = [
[[package]]
name = "solana-metrics"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83e61ca207772e4c5d85f0eb5c748c643ccfdf788b233ac06aacbabbc6a15a93"
checksum = "384187253d39d3777c543de4c2a8216fb7e353d709711cbfb929a9b227184255"
dependencies = [
"env_logger",
"gethostname",
@ -2049,9 +2049,9 @@ dependencies = [
[[package]]
name = "solana-remote-wallet"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f1dc617878261c71c42648ca8afa8c6b38806a9cc18ae0d17d7b94696f72120"
checksum = "8ac2e1d8efc9f11eef199be1983ca519c31aeae07d543c4494a773c1bb0b0c5f"
dependencies = [
"base32",
"console",
@ -2134,9 +2134,9 @@ dependencies = [
[[package]]
name = "solana-stake-program"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90b8adcb78b874ed9cf2734f1de34b62261f37376abb9dc8e718307e50e15224"
checksum = "97894719507af7fbdab9e55291249fba1f6f2e2fa762292f2fc2587c93652e87"
dependencies = [
"bincode",
"log",
@ -2193,9 +2193,9 @@ dependencies = [
[[package]]
name = "solana-vote-program"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bec2be091a60f3352915fddeba42f99843b05ceabaea0fc127c9f75df54038c5"
checksum = "77a9673c65787d669eade8322a13ed9d35795d797254f7097ac18b731d82702f"
dependencies = [
"bincode",
"log",

View File

@ -19,9 +19,10 @@ use solana_sdk::{
info,
program_error::PrintProgramError,
program_error::ProgramError,
program_option::COption,
program_pack::Pack,
pubkey::Pubkey,
};
use spl_token::{option::COption, pack::Pack};
// Test program id for the swap program.
#[cfg(not(target_arch = "bpf"))]
@ -584,7 +585,6 @@ mod tests {
use spl_token::{
error::TokenError,
instruction::{approve, initialize_account, initialize_mint, mint_to, revoke},
pack::Pack,
processor::Processor as SplProcessor,
state::{Account as SplAccount, Mint as SplMint},
};

View File

@ -11,12 +11,12 @@ version = "2.0.1"
[dependencies]
clap = "2.33.3"
serde_json = "1.0.57"
solana-account-decoder = { version = "1.3.11" }
solana-clap-utils = { version = "1.3.11"}
solana-cli-config = { version = "1.3.11" }
solana-account-decoder = { version = "1.3.12" }
solana-clap-utils = { version = "1.3.12"}
solana-cli-config = { version = "1.3.12" }
solana-client = { version = "1.3.11" }
solana-logger = { version = "1.3.12" }
solana-sdk = { version = "1.3.11" }
solana-sdk = { version = "1.3.12" }
spl-token = { version = "2.0", path="../program" }
[[bin]]

View File

@ -12,6 +12,7 @@ use solana_client::{rpc_client::RpcClient, rpc_request::TokenAccountsFilter};
use solana_sdk::{
commitment_config::CommitmentConfig,
native_token::*,
program_pack::Pack,
pubkey::Pubkey,
signature::{Keypair, Signer},
system_instruction,
@ -21,7 +22,6 @@ use spl_token::{
self,
instruction::*,
native_mint,
pack::Pack,
state::{Account, Mint},
};
use std::process::exit;

View File

@ -1690,9 +1690,9 @@ dependencies = [
[[package]]
name = "solana-bpf-loader-program"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bac8ad55958d4b195891f863ae280f3c126f59aab3304d4b688a14631138e713"
checksum = "8a61d66b0103b49ec1420f19f0202789f24c3bba6d0efdf1498755c071c523e4"
dependencies = [
"bincode",
"byteorder",
@ -1706,9 +1706,9 @@ dependencies = [
[[package]]
name = "solana-config-program"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca137e659f9390c1334bfc8273527fffb4d88980a0726a193c0c2da15598ee8b"
checksum = "c96a4875aa76cd477910dc95e6de7dcc276c92cad9a82d473503b2b9e4aeb280"
dependencies = [
"bincode",
"chrono",
@ -1720,9 +1720,9 @@ dependencies = [
[[package]]
name = "solana-crate-features"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "992ff506ea06612d6c1659d7d54bdef37eb7730029986c469dbfe04cb47bed12"
checksum = "0cb500621867cd1e9297ca989bd754f4bf52772c7ea8cd2cb3616c1c75e9f62d"
dependencies = [
"backtrace",
"bytes 0.4.12",
@ -1745,9 +1745,9 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a45189fb72c59bc9afdb9b4a04e871f8ad11a2c2f10335fd5bb2a11c2f141b6"
checksum = "10fa1615c22d1d63230e7aeaf421321c24ea4746e2e4842cc0694adf5916c1b8"
dependencies = [
"env_logger",
"lazy_static",
@ -1756,9 +1756,9 @@ dependencies = [
[[package]]
name = "solana-measure"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72e19c7896b73e9fbf6bb2443efee42f7ff02f2db3428fc8729e978bcf7f2227"
checksum = "603e2072559207b71e5c9d6abbbfbbe08785be1328bd1cf4b12d3fd5a563cc57"
dependencies = [
"jemalloc-ctl",
"jemallocator",
@ -1769,9 +1769,9 @@ dependencies = [
[[package]]
name = "solana-metrics"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83e61ca207772e4c5d85f0eb5c748c643ccfdf788b233ac06aacbabbc6a15a93"
checksum = "384187253d39d3777c543de4c2a8216fb7e353d709711cbfb929a9b227184255"
dependencies = [
"env_logger",
"gethostname",
@ -1783,9 +1783,9 @@ dependencies = [
[[package]]
name = "solana-rayon-threadlimit"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b439562dbd378945c491122d79f156946c6ba9ad1f7ca7ac33a76a69497eb91d"
checksum = "74dd54ee484b9536f486f2c692872c27bc55e19d48014199d8311aade27a0efd"
dependencies = [
"lazy_static",
"num_cpus",
@ -1793,9 +1793,9 @@ dependencies = [
[[package]]
name = "solana-runtime"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53860f38267978ba11aa9c026ceddac1daa8e39a7e4fdeffa322b856937cdf90"
checksum = "5b8e6dcb65e3b899bf9f307d28d3303e683193dcedbbadf2199069a3b131a193"
dependencies = [
"bincode",
"blake3",
@ -1840,9 +1840,9 @@ dependencies = [
[[package]]
name = "solana-sdk"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b29efe5a4cd4e38a522b77ecef03fdc385d90f32b3d088850eea524e11de5a67"
checksum = "191c1799a2f43eb2f2a97ff8daaeed3bdeb7bee4a3e746bac4618b4eb8b81df9"
dependencies = [
"assert_matches",
"bincode",
@ -1879,9 +1879,9 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81fb82b637777885974c6e3c04e142783a643f3a7518248e18ae236155a5e4ac"
checksum = "a1c48e7c0d81123734b9074ad03546e89508e2ab12d3aca008184f284b62abc9"
dependencies = [
"bs58",
"proc-macro2 1.0.19",
@ -1892,9 +1892,9 @@ dependencies = [
[[package]]
name = "solana-sdk-macro-frozen-abi"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b2cd5882bab5625c6c02badcde0f1afdaf203a80b74cf98281ac002627275d7"
checksum = "d64fed6f7a226c02c48b539cae879c0eef9f64be08986b248d8ad4cec4328945"
dependencies = [
"lazy_static",
"proc-macro2 1.0.19",
@ -1905,9 +1905,9 @@ dependencies = [
[[package]]
name = "solana-stake-program"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90b8adcb78b874ed9cf2734f1de34b62261f37376abb9dc8e718307e50e15224"
checksum = "97894719507af7fbdab9e55291249fba1f6f2e2fa762292f2fc2587c93652e87"
dependencies = [
"bincode",
"log",
@ -1926,9 +1926,9 @@ dependencies = [
[[package]]
name = "solana-vote-program"
version = "1.3.11"
version = "1.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bec2be091a60f3352915fddeba42f99843b05ceabaea0fc127c9f75df54038c5"
checksum = "77a9673c65787d669eade8322a13ed9d35795d797254f7097ac18b731d82702f"
dependencies = [
"bincode",
"log",
@ -1946,9 +1946,9 @@ dependencies = [
[[package]]
name = "solana_rbpf"
version = "0.1.30"
version = "0.1.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "185f68b54660652e2244bbdef792b369f12045da856a4af75b776e6e72757831"
checksum = "962f8f04ac7239fe4dd45fa4ce706ec78b59a0da9f41def463832857e36c60b0"
dependencies = [
"byteorder",
"combine",
@ -1970,7 +1970,7 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
name = "spl-token"
version = "2.0.4"
version = "2.0.5"
dependencies = [
"arrayref",
"num-derive",

View File

@ -10,6 +10,6 @@ edition = "2018"
[dev-dependencies]
rand = { version = "0.7.0"}
spl-token = { path = "../program" }
solana-sdk = { version = "1.3.9" }
solana-bpf-loader-program = { version = "1.3.9" }
solana_rbpf = "=0.1.30"
solana-sdk = { version = "1.3.12" }
solana-bpf-loader-program = { version = "1.3.12" }
solana_rbpf = "=0.1.31"

View File

@ -2,24 +2,26 @@ use solana_bpf_loader_program::{
create_vm,
serialization::{deserialize_parameters, serialize_parameters},
};
use solana_rbpf::InstructionMeter;
use solana_rbpf::vm::{EbpfVm, InstructionMeter};
use solana_sdk::{
account::{Account as SolanaAccount, KeyedAccount},
bpf_loader,
entrypoint::SUCCESS,
entrypoint_native::{ComputeBudget, ComputeMeter, InvokeContext, Logger, ProcessInstruction},
entrypoint_native::{
ComputeBudget, ComputeMeter, Executor, InvokeContext, Logger, ProcessInstruction,
},
instruction::{CompiledInstruction, InstructionError},
message::Message,
program_option::COption,
program_pack::Pack,
pubkey::Pubkey,
sysvar::rent::{self, Rent},
};
use spl_token::{
instruction::TokenInstruction,
option::COption,
pack::Pack,
state::{Account, Mint},
};
use std::{cell::RefCell, fs::File, io::Read, path::PathBuf, rc::Rc};
use std::{cell::RefCell, fs::File, io::Read, path::PathBuf, rc::Rc, sync::Arc};
fn load_program(name: &str) -> Vec<u8> {
let mut path = PathBuf::new();
@ -42,9 +44,14 @@ fn run_program(
program_account.data = load_program("spl_token");
let loader_id = bpf_loader::id();
let mut invoke_context = MockInvokeContext::default();
let executable = EbpfVm::<solana_bpf_loader_program::BPFError>::create_executable_from_elf(
&&program_account.data,
None,
)
.unwrap();
let (mut vm, heap_region) = create_vm(
&loader_id,
&program_account.data,
executable.as_ref(),
parameter_accounts,
&mut invoke_context,
)
@ -203,6 +210,10 @@ impl InvokeContext for MockInvokeContext {
fn get_compute_meter(&self) -> Rc<RefCell<dyn ComputeMeter>> {
Rc::new(RefCell::new(self.compute_meter.clone()))
}
fn add_executor(&mut self, _pubkey: &Pubkey, _executor: Arc<dyn Executor>) {}
fn get_executor(&mut self, _pubkey: &Pubkey) -> Option<Arc<dyn Executor>> {
None
}
}
#[derive(Debug, Default, Clone)]