diff --git a/Cargo.lock b/Cargo.lock index baabb7e5d8..294d22221c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4792,7 +4792,8 @@ version = "1.6.5" dependencies = [ "fast-math", "hex", - "solana-sdk", + "matches", + "solana-program 1.6.5", ] [[package]] diff --git a/merkle-tree/Cargo.toml b/merkle-tree/Cargo.toml index 60fff47596..2c3b2f71e3 100644 --- a/merkle-tree/Cargo.toml +++ b/merkle-tree/Cargo.toml @@ -10,9 +10,13 @@ documentation = "https://docs.rs/solana-merkle-tree" edition = "2018" [dependencies] -solana-sdk = { path = "../sdk", version = "=1.6.5" } +solana-program = { path = "../sdk/program", version = "=1.6.5" } fast-math = "0.1" +# This can go once the BPF toolchain target Rust 1.42.0+ +[target.bpfel-unknown-unknown.dependencies] +matches = "0.1.8" + [dev-dependencies] hex = "0.4.2" diff --git a/merkle-tree/Xargo.toml b/merkle-tree/Xargo.toml new file mode 100644 index 0000000000..475fb71ed1 --- /dev/null +++ b/merkle-tree/Xargo.toml @@ -0,0 +1,2 @@ +[target.bpfel-unknown-unknown.dependencies.std] +features = [] diff --git a/merkle-tree/src/lib.rs b/merkle-tree/src/lib.rs index f68e4b7ef4..8732b823df 100644 --- a/merkle-tree/src/lib.rs +++ b/merkle-tree/src/lib.rs @@ -1,3 +1,8 @@ #![allow(clippy::integer_arithmetic)] + +#[cfg(target_arch = "bpf")] +#[macro_use] +extern crate matches; + pub mod merkle_tree; pub use merkle_tree::MerkleTree; diff --git a/merkle-tree/src/merkle_tree.rs b/merkle-tree/src/merkle_tree.rs index 7bec5ed043..2834fbee90 100644 --- a/merkle-tree/src/merkle_tree.rs +++ b/merkle-tree/src/merkle_tree.rs @@ -1,4 +1,4 @@ -use solana_sdk::hash::{hashv, Hash}; +use solana_program::hash::{hashv, Hash}; // We need to discern between leaf and intermediate nodes to prevent trivial second // pre-image attacks.