diff --git a/Cargo.lock b/Cargo.lock index cbd400264f..fea6d8ac00 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4009,7 +4009,7 @@ dependencies = [ "indicatif", "log 0.4.8", "reqwest", - "solana-ledger", + "solana-runtime", "solana-sdk", "tar", ] @@ -4073,6 +4073,7 @@ dependencies = [ "solana-genesis-programs", "solana-ledger", "solana-logger", + "solana-runtime", "solana-sdk", "solana-stake-program", "solana-version", @@ -4163,14 +4164,11 @@ dependencies = [ "assert_matches", "bincode", "byteorder", - "bzip2", "chrono", "crossbeam-channel", - "dir-diff", "dlopen", "dlopen_derive", "ed25519-dalek", - "flate2", "fs_extra", "itertools 0.9.0", "lazy_static", @@ -4182,7 +4180,6 @@ dependencies = [ "rand_chacha 0.2.2", "rayon", "reed-solomon-erasure", - "regex", "rocksdb", "serde", "serde_bytes", @@ -4200,11 +4197,8 @@ dependencies = [ "solana-stake-program", "solana-transaction-status", "solana-vote-program", - "symlink", - "tar", "tempfile", "thiserror", - "zstd", ] [[package]] @@ -4498,6 +4492,9 @@ dependencies = [ "bincode", "bv", "byteorder", + "bzip2", + "dir-diff", + "flate2", "fnv", "fs_extra", "itertools 0.9.0", @@ -4511,6 +4508,7 @@ dependencies = [ "num_cpus", "rand 0.7.3", "rayon", + "regex", "serde", "serde_derive", "solana-config-program", @@ -4522,8 +4520,11 @@ dependencies = [ "solana-sdk", "solana-stake-program", "solana-vote-program", + "symlink", + "tar", "tempfile", "thiserror", + "zstd", ] [[package]] diff --git a/banking-bench/src/main.rs b/banking-bench/src/main.rs index 4713eb65a7..66a6d8146b 100644 --- a/banking-bench/src/main.rs +++ b/banking-bench/src/main.rs @@ -11,14 +11,13 @@ use solana_core::{ poh_recorder::WorkingBankEntry, }; use solana_ledger::{ - bank_forks::BankForks, blockstore::Blockstore, genesis_utils::{create_genesis_config, GenesisConfigInfo}, get_tmp_ledger_path, }; use solana_measure::measure::Measure; use solana_perf::packet::to_packets_chunked; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use solana_sdk::{ hash::Hash, pubkey::Pubkey, diff --git a/core/benches/retransmit_stage.rs b/core/benches/retransmit_stage.rs index 523a916874..c855f3d940 100644 --- a/core/benches/retransmit_stage.rs +++ b/core/benches/retransmit_stage.rs @@ -7,13 +7,13 @@ use log::*; use solana_core::cluster_info::{ClusterInfo, Node}; use solana_core::contact_info::ContactInfo; use solana_core::retransmit_stage::retransmitter; -use solana_ledger::bank_forks::BankForks; use solana_ledger::genesis_utils::{create_genesis_config, GenesisConfigInfo}; use solana_ledger::leader_schedule_cache::LeaderScheduleCache; use solana_measure::measure::Measure; use solana_perf::packet::to_packets_chunked; use solana_perf::test_tx::test_tx; use solana_runtime::bank::Bank; +use solana_runtime::bank_forks::BankForks; use solana_sdk::pubkey::Pubkey; use solana_sdk::timing::timestamp; use std::net::UdpSocket; diff --git a/core/src/accounts_background_service.rs b/core/src/accounts_background_service.rs index 6cee5cce00..9d26925ed6 100644 --- a/core/src/accounts_background_service.rs +++ b/core/src/accounts_background_service.rs @@ -2,7 +2,7 @@ // // This can be expensive since we have to walk the append vecs being cleaned up. -use solana_ledger::bank_forks::BankForks; +use solana_runtime::bank_forks::BankForks; use std::sync::{ atomic::{AtomicBool, Ordering}, Arc, RwLock, diff --git a/core/src/accounts_hash_verifier.rs b/core/src/accounts_hash_verifier.rs index a9b1207953..96f06d699f 100644 --- a/core/src/accounts_hash_verifier.rs +++ b/core/src/accounts_hash_verifier.rs @@ -5,9 +5,8 @@ // set and halt the node if a mismatch is detected. use crate::cluster_info::{ClusterInfo, MAX_SNAPSHOT_HASHES}; -use solana_ledger::{ - snapshot_package::AccountsPackage, snapshot_package::AccountsPackageReceiver, - snapshot_package::AccountsPackageSender, +use solana_runtime::snapshot_package::{ + AccountsPackage, AccountsPackageReceiver, AccountsPackageSender, }; use solana_sdk::{clock::Slot, hash::Hash, pubkey::Pubkey}; use std::collections::{HashMap, HashSet}; @@ -176,7 +175,7 @@ mod tests { use super::*; use crate::cluster_info::make_accounts_hashes_message; use crate::contact_info::ContactInfo; - use solana_ledger::bank_forks::CompressionType; + use solana_runtime::bank_forks::CompressionType; use solana_sdk::{ hash::hash, signature::{Keypair, Signer}, diff --git a/core/src/bank_weight_fork_choice.rs b/core/src/bank_weight_fork_choice.rs index d5500f4bc4..72572a9221 100644 --- a/core/src/bank_weight_fork_choice.rs +++ b/core/src/bank_weight_fork_choice.rs @@ -3,8 +3,7 @@ use crate::{ fork_choice::ForkChoice, progress_map::{ForkStats, ProgressMap}, }; -use solana_ledger::bank_forks::BankForks; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use solana_sdk::timing; use std::time::Instant; use std::{ diff --git a/core/src/cluster_info.rs b/core/src/cluster_info.rs index 9914b963ee..2cdaba3749 100644 --- a/core/src/cluster_info.rs +++ b/core/src/cluster_info.rs @@ -37,7 +37,7 @@ use itertools::Itertools; use rayon::iter::IntoParallelIterator; use rayon::iter::ParallelIterator; use rayon::ThreadPool; -use solana_ledger::{bank_forks::BankForks, staking_utils}; +use solana_ledger::staking_utils; use solana_measure::measure::Measure; use solana_measure::thread_mem_usage; use solana_metrics::{datapoint_debug, inc_new_counter_debug, inc_new_counter_error}; @@ -50,6 +50,7 @@ use solana_perf::packet::{ PACKET_DATA_SIZE, }; use solana_rayon_threadlimit::get_thread_count; +use solana_runtime::bank_forks::BankForks; use solana_sdk::hash::Hash; use solana_sdk::{ clock::{Slot, DEFAULT_MS_PER_SLOT, DEFAULT_SLOTS_PER_EPOCH}, diff --git a/core/src/cluster_info_vote_listener.rs b/core/src/cluster_info_vote_listener.rs index c72f049301..225e231144 100644 --- a/core/src/cluster_info_vote_listener.rs +++ b/core/src/cluster_info_vote_listener.rs @@ -14,11 +14,11 @@ use crossbeam_channel::{ }; use itertools::izip; use log::*; -use solana_ledger::bank_forks::BankForks; use solana_metrics::inc_new_counter_debug; use solana_perf::packet::{self, Packets}; use solana_runtime::{ bank::Bank, + bank_forks::BankForks, epoch_stakes::{EpochAuthorizedVoters, EpochStakes}, }; use solana_sdk::{ diff --git a/core/src/cluster_slots.rs b/core/src/cluster_slots.rs index 85cf83fece..8e3abbe1a6 100644 --- a/core/src/cluster_slots.rs +++ b/core/src/cluster_slots.rs @@ -2,8 +2,7 @@ use crate::{ cluster_info::ClusterInfo, contact_info::ContactInfo, epoch_slots::EpochSlots, pubkey_references::LockedPubkeyReferences, serve_repair::RepairType, }; -use solana_ledger::bank_forks::BankForks; -use solana_runtime::epoch_stakes::NodeIdToVoteAccounts; +use solana_runtime::{bank_forks::BankForks, epoch_stakes::NodeIdToVoteAccounts}; use solana_sdk::{clock::Slot, pubkey::Pubkey}; use std::{ collections::{HashMap, HashSet}, diff --git a/core/src/consensus.rs b/core/src/consensus.rs index 17359e6436..6641af5343 100644 --- a/core/src/consensus.rs +++ b/core/src/consensus.rs @@ -4,8 +4,7 @@ use crate::{ pubkey_references::PubkeyReferences, }; use chrono::prelude::*; -use solana_ledger::bank_forks::BankForks; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use solana_sdk::{ account::Account, clock::{Slot, UnixTimestamp}, @@ -666,9 +665,9 @@ pub mod test { progress_map::ForkProgress, replay_stage::{HeaviestForkFailures, ReplayStage}, }; - use solana_ledger::bank_forks::BankForks; use solana_runtime::{ bank::Bank, + bank_forks::BankForks, genesis_utils::{ create_genesis_config_with_vote_accounts, GenesisConfigInfo, ValidatorVoteKeypairs, }, diff --git a/core/src/fork_choice.rs b/core/src/fork_choice.rs index 117fcf027e..343d8c54a4 100644 --- a/core/src/fork_choice.rs +++ b/core/src/fork_choice.rs @@ -3,8 +3,7 @@ use crate::{ progress_map::ProgressMap, replay_stage::HeaviestForkFailures, }; -use solana_ledger::bank_forks::BankForks; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use std::{ collections::{HashMap, HashSet}, sync::{Arc, RwLock}, diff --git a/core/src/gossip_service.rs b/core/src/gossip_service.rs index 843d28dd06..d2f0d184ba 100644 --- a/core/src/gossip_service.rs +++ b/core/src/gossip_service.rs @@ -4,8 +4,8 @@ use crate::cluster_info::{ClusterInfo, VALIDATOR_PORT_RANGE}; use crate::contact_info::ContactInfo; use rand::{thread_rng, Rng}; use solana_client::thin_client::{create_client, ThinClient}; -use solana_ledger::bank_forks::BankForks; use solana_perf::recycler::Recycler; +use solana_runtime::bank_forks::BankForks; use solana_sdk::pubkey::Pubkey; use solana_sdk::signature::{Keypair, Signer}; use solana_streamer::streamer; diff --git a/core/src/heaviest_subtree_fork_choice/fork_choice.rs b/core/src/heaviest_subtree_fork_choice/fork_choice.rs index 5fb46cca14..cec172bb22 100644 --- a/core/src/heaviest_subtree_fork_choice/fork_choice.rs +++ b/core/src/heaviest_subtree_fork_choice/fork_choice.rs @@ -4,8 +4,7 @@ use crate::{ heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice, progress_map::ProgressMap, }; -use solana_ledger::bank_forks::BankForks; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use std::{ collections::{HashMap, HashSet}, sync::{Arc, RwLock}, diff --git a/core/src/heaviest_subtree_fork_choice/mod.rs b/core/src/heaviest_subtree_fork_choice/mod.rs index 8a620d7627..6d97e36ee2 100644 --- a/core/src/heaviest_subtree_fork_choice/mod.rs +++ b/core/src/heaviest_subtree_fork_choice/mod.rs @@ -1,5 +1,5 @@ #[cfg(test)] -use solana_ledger::bank_forks::BankForks; +use solana_runtime::bank_forks::BankForks; use solana_runtime::{bank::Bank, epoch_stakes::EpochStakes}; use solana_sdk::{ clock::{Epoch, Slot}, diff --git a/core/src/progress_map.rs b/core/src/progress_map.rs index 70e5c874ab..cdb867c17e 100644 --- a/core/src/progress_map.rs +++ b/core/src/progress_map.rs @@ -3,11 +3,8 @@ use crate::{ consensus::StakeLockout, pubkey_references::PubkeyReferences, replay_stage::SUPERMINORITY_THRESHOLD, }; -use solana_ledger::{ - bank_forks::BankForks, - blockstore_processor::{ConfirmationProgress, ConfirmationTiming}, -}; -use solana_runtime::bank::Bank; +use solana_ledger::blockstore_processor::{ConfirmationProgress, ConfirmationTiming}; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use solana_sdk::{account::Account, clock::Slot, hash::Hash, pubkey::Pubkey}; use std::{ collections::{BTreeMap, HashMap, HashSet}, diff --git a/core/src/repair_service.rs b/core/src/repair_service.rs index 6847196412..14d7ef3a67 100644 --- a/core/src/repair_service.rs +++ b/core/src/repair_service.rs @@ -9,11 +9,10 @@ use crate::{ }; use crossbeam_channel::{Receiver as CrossbeamReceiver, Sender as CrossbeamSender}; use solana_ledger::{ - bank_forks::BankForks, blockstore::{Blockstore, CompletedSlotsReceiver, SlotMeta}, shred::Nonce, }; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use solana_sdk::{clock::Slot, epoch_schedule::EpochSchedule, pubkey::Pubkey, timing::timestamp}; use std::{ collections::HashMap, diff --git a/core/src/replay_stage.rs b/core/src/replay_stage.rs index 820bd6c1fc..aa32ceeb87 100644 --- a/core/src/replay_stage.rs +++ b/core/src/replay_stage.rs @@ -20,17 +20,15 @@ use crate::{ rpc_subscriptions::RpcSubscriptions, }; use solana_ledger::{ - bank_forks::BankForks, block_error::BlockError, blockstore::Blockstore, blockstore_processor::{self, BlockstoreProcessorError, TransactionStatusSender}, entry::VerifyRecyclers, leader_schedule_cache::LeaderScheduleCache, - snapshot_package::AccountsPackageSender, }; use solana_measure::thread_mem_usage; use solana_metrics::inc_new_counter_info; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks, snapshot_package::AccountsPackageSender}; use solana_sdk::{ clock::{Slot, NUM_CONSECUTIVE_LEADER_SLOTS}, genesis_config::OperatingMode, diff --git a/core/src/result.rs b/core/src/result.rs index 5e69d3e180..3fa44d9d1e 100644 --- a/core/src/result.rs +++ b/core/src/result.rs @@ -4,7 +4,7 @@ use crate::cluster_info; use crate::poh_recorder; use solana_ledger::block_error; use solana_ledger::blockstore; -use solana_ledger::snapshot_utils; +use solana_runtime::snapshot_utils; use solana_sdk::transaction; use std::any::Any; diff --git a/core/src/retransmit_stage.rs b/core/src/retransmit_stage.rs index ad978f0049..d157f08b0b 100644 --- a/core/src/retransmit_stage.rs +++ b/core/src/retransmit_stage.rs @@ -11,7 +11,6 @@ use crate::{ }; use crossbeam_channel::Receiver; use solana_ledger::{ - bank_forks::BankForks, blockstore::{Blockstore, CompletedSlotsReceiver}, leader_schedule_cache::LeaderScheduleCache, staking_utils, @@ -19,6 +18,7 @@ use solana_ledger::{ use solana_measure::measure::Measure; use solana_metrics::inc_new_counter_error; use solana_perf::packet::Packets; +use solana_runtime::bank_forks::BankForks; use solana_sdk::clock::{Epoch, Slot}; use solana_sdk::epoch_schedule::EpochSchedule; use solana_sdk::pubkey::Pubkey; diff --git a/core/src/rpc.rs b/core/src/rpc.rs index e26f0d7235..03420cc84d 100644 --- a/core/src/rpc.rs +++ b/core/src/rpc.rs @@ -23,12 +23,11 @@ use solana_client::{ rpc_response::*, }; use solana_faucet::faucet::request_airdrop_transaction; -use solana_ledger::{ - bank_forks::BankForks, blockstore::Blockstore, blockstore_db::BlockstoreError, - get_tmp_ledger_path, -}; +use solana_ledger::{blockstore::Blockstore, blockstore_db::BlockstoreError, get_tmp_ledger_path}; use solana_perf::packet::PACKET_DATA_SIZE; -use solana_runtime::{accounts::AccountAddressFilter, bank::Bank, log_collector::LogCollector}; +use solana_runtime::{ + accounts::AccountAddressFilter, bank::Bank, bank_forks::BankForks, log_collector::LogCollector, +}; use solana_sdk::{ clock::{Epoch, Slot, UnixTimestamp}, commitment_config::{CommitmentConfig, CommitmentLevel}, diff --git a/core/src/rpc_pubsub.rs b/core/src/rpc_pubsub.rs index 53e2cb88bf..78e20b73ae 100644 --- a/core/src/rpc_pubsub.rs +++ b/core/src/rpc_pubsub.rs @@ -8,7 +8,9 @@ use solana_client::rpc_response::{ Response as RpcResponse, RpcAccount, RpcKeyedAccount, RpcSignatureResult, }; #[cfg(test)] -use solana_ledger::{bank_forks::BankForks, blockstore::Blockstore}; +use solana_ledger::blockstore::Blockstore; +#[cfg(test)] +use solana_runtime::bank_forks::BankForks; use solana_sdk::{ clock::Slot, commitment_config::CommitmentConfig, pubkey::Pubkey, signature::Signature, }; @@ -364,12 +366,12 @@ mod tests { use serial_test_derive::serial; use solana_budget_program::{self, budget_instruction}; use solana_ledger::{ - bank_forks::BankForks, genesis_utils::{create_genesis_config, GenesisConfigInfo}, get_tmp_ledger_path, }; use solana_runtime::{ bank::Bank, + bank_forks::BankForks, genesis_utils::{create_genesis_config_with_vote_accounts, ValidatorVoteKeypairs}, }; use solana_sdk::{ diff --git a/core/src/rpc_pubsub_service.rs b/core/src/rpc_pubsub_service.rs index f5e53fb1c7..629954b896 100644 --- a/core/src/rpc_pubsub_service.rs +++ b/core/src/rpc_pubsub_service.rs @@ -74,12 +74,11 @@ mod tests { use super::*; use crate::commitment::BlockCommitmentCache; use solana_ledger::{ - bank_forks::BankForks, blockstore::Blockstore, genesis_utils::{create_genesis_config, GenesisConfigInfo}, get_tmp_ledger_path, }; - use solana_runtime::bank::Bank; + use solana_runtime::{bank::Bank, bank_forks::BankForks}; use std::{ net::{IpAddr, Ipv4Addr}, sync::RwLock, diff --git a/core/src/rpc_service.rs b/core/src/rpc_service.rs index 57da6dbb81..f1043ef310 100644 --- a/core/src/rpc_service.rs +++ b/core/src/rpc_service.rs @@ -10,9 +10,9 @@ use jsonrpc_http_server::{ RequestMiddlewareAction, ServerBuilder, }; use regex::Regex; -use solana_ledger::{ +use solana_ledger::blockstore::Blockstore; +use solana_runtime::{ bank_forks::{BankForks, SnapshotConfig}, - blockstore::Blockstore, snapshot_utils, }; use solana_sdk::{hash::Hash, native_token::lamports_to_sol, pubkey::Pubkey}; @@ -350,11 +350,10 @@ mod tests { rpc::create_validator_exit, }; use solana_ledger::{ - bank_forks::CompressionType, genesis_utils::{create_genesis_config, GenesisConfigInfo}, get_tmp_ledger_path, }; - use solana_runtime::bank::Bank; + use solana_runtime::{bank::Bank, bank_forks::CompressionType}; use solana_sdk::signature::Signer; use std::net::{IpAddr, Ipv4Addr}; diff --git a/core/src/rpc_subscriptions.rs b/core/src/rpc_subscriptions.rs index 01af82ab29..4104ee1400 100644 --- a/core/src/rpc_subscriptions.rs +++ b/core/src/rpc_subscriptions.rs @@ -11,8 +11,8 @@ use serde::Serialize; use solana_client::rpc_response::{ Response, RpcAccount, RpcKeyedAccount, RpcResponseContext, RpcSignatureResult, }; -use solana_ledger::{bank_forks::BankForks, blockstore::Blockstore}; -use solana_runtime::bank::Bank; +use solana_ledger::blockstore::Blockstore; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use solana_sdk::{ account::Account, clock::{Slot, UnixTimestamp}, diff --git a/core/src/send_transaction_service.rs b/core/src/send_transaction_service.rs index d67bbb3225..eca31d6089 100644 --- a/core/src/send_transaction_service.rs +++ b/core/src/send_transaction_service.rs @@ -1,7 +1,6 @@ use crate::cluster_info::ClusterInfo; -use solana_ledger::bank_forks::BankForks; use solana_metrics::{datapoint_warn, inc_new_counter_info}; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use solana_sdk::{clock::Slot, signature::Signature}; use std::{ collections::HashMap, diff --git a/core/src/shred_fetch_stage.rs b/core/src/shred_fetch_stage.rs index 570848834c..7eace281e5 100644 --- a/core/src/shred_fetch_stage.rs +++ b/core/src/shred_fetch_stage.rs @@ -1,7 +1,6 @@ //! The `shred_fetch_stage` pulls shreds from UDP sockets and sends it to a channel. use bv::BitVec; -use solana_ledger::bank_forks::BankForks; use solana_ledger::blockstore::MAX_DATA_SHREDS_PER_SLOT; use solana_ledger::shred::{ CODING_SHRED, DATA_SHRED, OFFSET_OF_SHRED_INDEX, OFFSET_OF_SHRED_SLOT, OFFSET_OF_SHRED_TYPE, @@ -10,6 +9,7 @@ use solana_ledger::shred::{ use solana_perf::cuda_runtime::PinnedVec; use solana_perf::packet::{limited_deserialize, Packet, PacketsRecycler}; use solana_perf::recycler::Recycler; +use solana_runtime::bank_forks::BankForks; use solana_sdk::clock::Slot; use solana_streamer::streamer::{self, PacketReceiver, PacketSender}; use std::collections::HashMap; diff --git a/core/src/sigverify_shreds.rs b/core/src/sigverify_shreds.rs index f03786fbfc..c256af6557 100644 --- a/core/src/sigverify_shreds.rs +++ b/core/src/sigverify_shreds.rs @@ -1,12 +1,12 @@ #![allow(clippy::implicit_hasher)] use crate::sigverify; use crate::sigverify_stage::SigVerifier; -use solana_ledger::bank_forks::BankForks; use solana_ledger::leader_schedule_cache::LeaderScheduleCache; use solana_ledger::shred::{OFFSET_OF_SHRED_SLOT, SIZE_OF_SHRED_SLOT}; use solana_ledger::sigverify_shreds::verify_shreds_gpu; use solana_perf::packet::{limited_deserialize, Packets}; use solana_perf::recycler_cache::RecyclerCache; +use solana_runtime::bank_forks::BankForks; use std::collections::{HashMap, HashSet}; use std::sync::{Arc, RwLock}; diff --git a/core/src/snapshot_packager_service.rs b/core/src/snapshot_packager_service.rs index 626fdb735e..7457449165 100644 --- a/core/src/snapshot_packager_service.rs +++ b/core/src/snapshot_packager_service.rs @@ -1,5 +1,5 @@ use crate::cluster_info::{ClusterInfo, MAX_SNAPSHOT_HASHES}; -use solana_ledger::{snapshot_package::AccountsPackageReceiver, snapshot_utils}; +use solana_runtime::{snapshot_package::AccountsPackageReceiver, snapshot_utils}; use solana_sdk::{clock::Slot, hash::Hash}; use std::{ sync::{ @@ -78,12 +78,13 @@ impl SnapshotPackagerService { mod tests { use super::*; use bincode::serialize_into; - use solana_ledger::bank_forks::CompressionType; - use solana_ledger::{ + use solana_runtime::{ + accounts_db::AccountStorageEntry, + bank::BankSlotDelta, + bank_forks::CompressionType, snapshot_package::AccountsPackage, snapshot_utils::{self, SNAPSHOT_STATUS_CACHE_FILE_NAME}, }; - use solana_runtime::{accounts_db::AccountStorageEntry, bank::BankSlotDelta}; use solana_sdk::hash::Hash; use std::{ fs::{self, remove_dir_all, OpenOptions}, diff --git a/core/src/tpu.rs b/core/src/tpu.rs index 6f77824fea..66116bb738 100644 --- a/core/src/tpu.rs +++ b/core/src/tpu.rs @@ -13,9 +13,8 @@ use crate::{ sigverify_stage::SigVerifyStage, }; use crossbeam_channel::unbounded; -use solana_ledger::{ - bank_forks::BankForks, blockstore::Blockstore, blockstore_processor::TransactionStatusSender, -}; +use solana_ledger::{blockstore::Blockstore, blockstore_processor::TransactionStatusSender}; +use solana_runtime::bank_forks::BankForks; use std::{ net::UdpSocket, sync::{ diff --git a/core/src/tvu.rs b/core/src/tvu.rs index 33c2dde3ca..40debe1ffe 100644 --- a/core/src/tvu.rs +++ b/core/src/tvu.rs @@ -22,11 +22,10 @@ use crate::{ use crossbeam_channel::unbounded; use solana_ledger::leader_schedule_cache::LeaderScheduleCache; use solana_ledger::{ - bank_forks::BankForks, blockstore::{Blockstore, CompletedSlotsReceiver}, blockstore_processor::TransactionStatusSender, - snapshot_package::AccountsPackageSender, }; +use solana_runtime::{bank_forks::BankForks, snapshot_package::AccountsPackageSender}; use solana_sdk::{ pubkey::Pubkey, signature::{Keypair, Signer}, diff --git a/core/src/validator.rs b/core/src/validator.rs index 3de03cc74c..d4b1bc8dc1 100644 --- a/core/src/validator.rs +++ b/core/src/validator.rs @@ -24,16 +24,18 @@ use crate::{ }; use crossbeam_channel::unbounded; use solana_ledger::{ - bank_forks::{BankForks, SnapshotConfig}, bank_forks_utils, blockstore::{Blockstore, CompletedSlotsReceiver}, blockstore_processor, create_new_tmp_ledger, - hardened_unpack::{open_genesis_config, MAX_GENESIS_ARCHIVE_UNPACKED_SIZE}, leader_schedule::FixedSchedule, leader_schedule_cache::LeaderScheduleCache, }; use solana_metrics::datapoint_info; -use solana_runtime::bank::Bank; +use solana_runtime::{ + bank::Bank, + bank_forks::{BankForks, SnapshotConfig}, + hardened_unpack::{open_genesis_config, MAX_GENESIS_ARCHIVE_UNPACKED_SIZE}, +}; use solana_sdk::{ clock::Slot, epoch_schedule::MAX_LEADER_SCHEDULE_EPOCH_OFFSET, diff --git a/core/src/window_service.rs b/core/src/window_service.rs index 6ea5819f07..d539826eae 100644 --- a/core/src/window_service.rs +++ b/core/src/window_service.rs @@ -16,7 +16,6 @@ use rayon::iter::IntoParallelRefMutIterator; use rayon::iter::ParallelIterator; use rayon::ThreadPool; use solana_ledger::{ - bank_forks::BankForks, blockstore::{self, Blockstore, BlockstoreInsertionMetrics, MAX_DATA_SHREDS_PER_SLOT}, leader_schedule_cache::LeaderScheduleCache, shred::{Nonce, Shred}, @@ -24,7 +23,7 @@ use solana_ledger::{ use solana_metrics::{inc_new_counter_debug, inc_new_counter_error}; use solana_perf::packet::Packets; use solana_rayon_threadlimit::get_thread_count; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use solana_sdk::{packet::PACKET_DATA_SIZE, pubkey::Pubkey, timing::duration_as_ms}; use solana_streamer::streamer::PacketSender; use std::{ diff --git a/core/tests/bank_forks.rs b/core/tests/bank_forks.rs index cca8a85e13..f614aadb61 100644 --- a/core/tests/bank_forks.rs +++ b/core/tests/bank_forks.rs @@ -8,14 +8,11 @@ mod tests { use solana_core::cluster_info::ClusterInfo; use solana_core::contact_info::ContactInfo; use solana_core::snapshot_packager_service::SnapshotPackagerService; - use solana_ledger::bank_forks::CompressionType; - use solana_ledger::{ - bank_forks::{BankForks, SnapshotConfig}, - genesis_utils::{create_genesis_config, GenesisConfigInfo}, - snapshot_utils, - }; use solana_runtime::{ bank::{Bank, BankSlotDelta}, + bank_forks::{BankForks, CompressionType, SnapshotConfig}, + genesis_utils::{create_genesis_config, GenesisConfigInfo}, + snapshot_utils, status_cache::MAX_CACHE_ENTRIES, }; use solana_sdk::{ diff --git a/core/tests/client.rs b/core/tests/client.rs index 07c6604823..6885aed158 100644 --- a/core/tests/client.rs +++ b/core/tests/client.rs @@ -7,12 +7,11 @@ use solana_core::{ rpc_subscriptions::RpcSubscriptions, validator::TestValidator, }; use solana_ledger::{ - bank_forks::BankForks, blockstore::Blockstore, genesis_utils::{create_genesis_config, GenesisConfigInfo}, get_tmp_ledger_path, }; -use solana_runtime::bank::Bank; +use solana_runtime::{bank::Bank, bank_forks::BankForks}; use solana_sdk::{ commitment_config::CommitmentConfig, pubkey::Pubkey, rpc_port, signature::Signer, system_transaction, diff --git a/core/tests/gossip.rs b/core/tests/gossip.rs index a0cdcb4d8b..ce3fd8a00d 100644 --- a/core/tests/gossip.rs +++ b/core/tests/gossip.rs @@ -4,7 +4,7 @@ extern crate log; use rayon::iter::*; use solana_core::cluster_info::{ClusterInfo, Node}; use solana_core::gossip_service::GossipService; -use solana_ledger::bank_forks::BankForks; +use solana_runtime::bank_forks::BankForks; use solana_perf::packet::Packet; use solana_sdk::signature::{Keypair, Signer}; diff --git a/download-utils/Cargo.toml b/download-utils/Cargo.toml index 5c33098214..ff525b5b91 100644 --- a/download-utils/Cargo.toml +++ b/download-utils/Cargo.toml @@ -15,7 +15,7 @@ indicatif = "0.15.0" log = "0.4.8" reqwest = { version = "0.10.6", default-features = false, features = ["blocking", "rustls-tls", "json"] } solana-sdk = { path = "../sdk", version = "1.3.0" } -solana-ledger = { path = "../ledger", version = "1.3.0" } +solana-runtime = { path = "../runtime", version = "1.3.0" } tar = "0.4.28" [lib] diff --git a/download-utils/src/lib.rs b/download-utils/src/lib.rs index 9d9aa0bd4a..183994118e 100644 --- a/download-utils/src/lib.rs +++ b/download-utils/src/lib.rs @@ -1,7 +1,7 @@ use console::Emoji; use indicatif::{ProgressBar, ProgressStyle}; use log::*; -use solana_ledger::bank_forks::CompressionType; +use solana_runtime::{bank_forks::CompressionType, snapshot_utils}; use solana_sdk::clock::Slot; use solana_sdk::hash::Hash; use std::fs::{self, File}; @@ -133,7 +133,7 @@ pub fn download_snapshot( desired_snapshot_hash: (Slot, Hash), ) -> Result<(), String> { // Remove all snapshot not matching the desired hash - let snapshot_packages = solana_ledger::snapshot_utils::get_snapshot_archives(ledger_path); + let snapshot_packages = snapshot_utils::get_snapshot_archives(ledger_path); let mut found_package = false; for (snapshot_package, (snapshot_slot, snapshot_hash, _compression)) in snapshot_packages.iter() { @@ -154,7 +154,7 @@ pub fn download_snapshot( CompressionType::Gzip, CompressionType::Bzip2, ] { - let desired_snapshot_package = solana_ledger::snapshot_utils::get_snapshot_archive_path( + let desired_snapshot_package = snapshot_utils::get_snapshot_archive_path( ledger_path, &desired_snapshot_hash, compression, diff --git a/genesis/Cargo.toml b/genesis/Cargo.toml index d8bfde9408..2c4cc20d69 100644 --- a/genesis/Cargo.toml +++ b/genesis/Cargo.toml @@ -19,6 +19,7 @@ solana-clap-utils = { path = "../clap-utils", version = "1.3.0" } solana-genesis-programs = { path = "../genesis-programs", version = "1.3.0" } solana-ledger = { path = "../ledger", version = "1.3.0" } solana-logger = { path = "../logger", version = "1.3.0" } +solana-runtime = { path = "../runtime", version = "1.3.0" } solana-sdk = { path = "../sdk", version = "1.3.0" } solana-stake-program = { path = "../programs/stake", version = "1.3.0" } solana-vote-program = { path = "../programs/vote", version = "1.3.0" } diff --git a/genesis/src/main.rs b/genesis/src/main.rs index 5ef1bd0369..fd81b3b5aa 100644 --- a/genesis/src/main.rs +++ b/genesis/src/main.rs @@ -7,9 +7,9 @@ use solana_clap_utils::{ }; use solana_genesis::{genesis_accounts::add_genesis_accounts, Base64Account}; use solana_ledger::{ - blockstore::create_new_ledger, blockstore_db::AccessType, - hardened_unpack::MAX_GENESIS_ARCHIVE_UNPACKED_SIZE, poh::compute_hashes_per_tick, + blockstore::create_new_ledger, blockstore_db::AccessType, poh::compute_hashes_per_tick, }; +use solana_runtime::hardened_unpack::MAX_GENESIS_ARCHIVE_UNPACKED_SIZE; use solana_sdk::{ account::Account, clock, diff --git a/ledger-tool/src/main.rs b/ledger-tool/src/main.rs index e498b23268..a929aab4fc 100644 --- a/ledger-tool/src/main.rs +++ b/ledger-tool/src/main.rs @@ -4,18 +4,19 @@ use clap::{ }; use serde_json::json; use solana_clap_utils::input_validators::is_slot; -use solana_ledger::bank_forks::CompressionType; use solana_ledger::{ - bank_forks::{BankForks, SnapshotConfig}, bank_forks_utils, blockstore::Blockstore, blockstore_db::{self, AccessType, Column, Database}, blockstore_processor::ProcessOptions, - hardened_unpack::{open_genesis_config, MAX_GENESIS_ARCHIVE_UNPACKED_SIZE}, rooted_slot_iterator::RootedSlotIterator, +}; +use solana_runtime::{ + bank::Bank, + bank_forks::{BankForks, CompressionType, SnapshotConfig}, + hardened_unpack::{open_genesis_config, MAX_GENESIS_ARCHIVE_UNPACKED_SIZE}, snapshot_utils, }; -use solana_runtime::bank::Bank; use solana_sdk::{ clock::Slot, genesis_config::GenesisConfig, native_token::lamports_to_sol, pubkey::Pubkey, shred_version::compute_shred_version, diff --git a/ledger/Cargo.toml b/ledger/Cargo.toml index 07f7d04112..ecc83e175e 100644 --- a/ledger/Cargo.toml +++ b/ledger/Cargo.toml @@ -11,17 +11,14 @@ edition = "2018" [dependencies] bincode = "1.2.1" byteorder = "1.3.4" -bzip2 = "0.3.3" chrono = { version = "0.4.11", features = ["serde"] } crossbeam-channel = "0.4" -dir-diff = "0.3.2" dlopen_derive = "0.1.4" dlopen = "0.1.8" -sha2 = "0.8.2" -flate2 = "1.0.14" -zstd = "0.5.1" +ed25519-dalek = "1.0.0-pre.3" fs_extra = "1.1.0" itertools = "0.9.0" +lazy_static = "1.4.0" libc = "0.2.71" log = { version = "0.4.8" } num_cpus = "1.13.0" @@ -29,9 +26,9 @@ rand = "0.7.0" rand_chacha = "0.2.2" rayon = "1.3.0" reed-solomon-erasure = { version = "4.0.2", features = ["simd-accel"] } -regex = "1.3.9" serde = "1.0.112" serde_bytes = "0.11.4" +sha2 = "0.8.2" solana-transaction-status = { path = "../transaction-status", version = "1.3.0" } solana-genesis-programs = { path = "../genesis-programs", version = "1.3.0" } solana-logger = { path = "../logger", version = "1.3.0" } @@ -39,17 +36,13 @@ solana-measure = { path = "../measure", version = "1.3.0" } solana-merkle-tree = { path = "../merkle-tree", version = "1.3.0" } solana-metrics = { path = "../metrics", version = "1.3.0" } solana-perf = { path = "../perf", version = "1.3.0" } -ed25519-dalek = "1.0.0-pre.3" solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.3.0" } solana-runtime = { path = "../runtime", version = "1.3.0" } solana-sdk = { path = "../sdk", version = "1.3.0" } solana-stake-program = { path = "../programs/stake", version = "1.3.0" } solana-vote-program = { path = "../programs/vote", version = "1.3.0" } -symlink = "0.1.0" -tar = "0.4.28" -thiserror = "1.0" tempfile = "3.1.0" -lazy_static = "1.4.0" +thiserror = "1.0" [dependencies.rocksdb] # Avoid the vendored bzip2 within rocksdb-sys that can cause linker conflicts diff --git a/ledger/src/bank_forks_utils.rs b/ledger/src/bank_forks_utils.rs index 43c7686f2f..9d6cea4fe1 100644 --- a/ledger/src/bank_forks_utils.rs +++ b/ledger/src/bank_forks_utils.rs @@ -1,14 +1,16 @@ use crate::{ - bank_forks::{BankForks, SnapshotConfig}, blockstore::Blockstore, blockstore_processor::{ self, BlockstoreProcessorError, BlockstoreProcessorResult, ProcessOptions, }, entry::VerifyRecyclers, leader_schedule_cache::LeaderScheduleCache, - snapshot_utils, }; use log::*; +use solana_runtime::{ + bank_forks::{BankForks, SnapshotConfig}, + snapshot_utils, +}; use solana_sdk::{clock::Slot, genesis_config::GenesisConfig, hash::Hash}; use std::{fs, path::PathBuf, process, result, sync::Arc}; diff --git a/ledger/src/blockstore.rs b/ledger/src/blockstore.rs index 25ec18765f..12bcce8a88 100644 --- a/ledger/src/blockstore.rs +++ b/ledger/src/blockstore.rs @@ -10,7 +10,6 @@ use crate::{ blockstore_meta::*, entry::{create_ticks, Entry}, erasure::ErasureConfig, - hardened_unpack::{unpack_genesis_archive, MAX_GENESIS_ARCHIVE_UNPACKED_SIZE}, leader_schedule_cache::LeaderScheduleCache, next_slots_iterator::NextSlotsIterator, shred::{Result as ShredResult, Shred, Shredder}, @@ -25,6 +24,7 @@ use rocksdb::DBRawIterator; use solana_measure::measure::Measure; use solana_metrics::{datapoint_debug, datapoint_error}; use solana_rayon_threadlimit::get_thread_count; +use solana_runtime::hardened_unpack::{unpack_genesis_archive, MAX_GENESIS_ARCHIVE_UNPACKED_SIZE}; use solana_sdk::{ account::Account, clock::{Slot, UnixTimestamp, DEFAULT_TICKS_PER_SECOND, MS_PER_TICK}, diff --git a/ledger/src/blockstore_db.rs b/ledger/src/blockstore_db.rs index 52766386c2..af06b44c38 100644 --- a/ledger/src/blockstore_db.rs +++ b/ledger/src/blockstore_db.rs @@ -1,4 +1,4 @@ -use crate::{blockstore_meta, hardened_unpack::UnpackError}; +use crate::blockstore_meta; use bincode::{deserialize, serialize}; use byteorder::{BigEndian, ByteOrder}; use log::*; @@ -9,6 +9,7 @@ use rocksdb::{ }; use serde::de::DeserializeOwned; use serde::Serialize; +use solana_runtime::hardened_unpack::UnpackError; use solana_sdk::{clock::Slot, pubkey::Pubkey, signature::Signature}; use solana_transaction_status::{Rewards, TransactionStatusMeta}; use std::{collections::HashMap, fs, marker::PhantomData, path::Path, sync::Arc}; diff --git a/ledger/src/blockstore_processor.rs b/ledger/src/blockstore_processor.rs index 325db152d1..b6c156c564 100644 --- a/ledger/src/blockstore_processor.rs +++ b/ledger/src/blockstore_processor.rs @@ -1,5 +1,4 @@ use crate::{ - bank_forks::BankForks, block_error::BlockError, blockstore::Blockstore, blockstore_db::BlockstoreError, @@ -17,6 +16,7 @@ use solana_metrics::{datapoint_error, inc_new_counter_debug}; use solana_rayon_threadlimit::get_thread_count; use solana_runtime::{ bank::{Bank, TransactionBalancesSet, TransactionProcessResult, TransactionResults}, + bank_forks::BankForks, transaction_batch::TransactionBatch, }; use solana_sdk::{ diff --git a/ledger/src/lib.rs b/ledger/src/lib.rs index 552addbaa7..318b2be998 100644 --- a/ledger/src/lib.rs +++ b/ledger/src/lib.rs @@ -1,4 +1,3 @@ -pub mod bank_forks; pub mod bank_forks_utils; pub mod block_error; #[macro_use] @@ -9,7 +8,6 @@ pub mod blockstore_processor; pub mod entry; pub mod erasure; pub mod genesis_utils; -pub mod hardened_unpack; pub mod leader_schedule; pub mod leader_schedule_cache; pub mod leader_schedule_utils; @@ -18,8 +16,6 @@ pub mod poh; pub mod rooted_slot_iterator; pub mod shred; pub mod sigverify_shreds; -pub mod snapshot_package; -pub mod snapshot_utils; pub mod staking_utils; #[macro_use] diff --git a/local-cluster/tests/local_cluster.rs b/local-cluster/tests/local_cluster.rs index 53b1bca97c..3254cbab6b 100644 --- a/local-cluster/tests/local_cluster.rs +++ b/local-cluster/tests/local_cluster.rs @@ -8,16 +8,18 @@ use solana_core::{ gossip_service::discover_cluster, validator::ValidatorConfig, }; use solana_download_utils::download_snapshot; -use solana_ledger::bank_forks::CompressionType; use solana_ledger::{ - bank_forks::SnapshotConfig, blockstore::Blockstore, leader_schedule::FixedSchedule, - leader_schedule::LeaderSchedule, snapshot_utils, + blockstore::Blockstore, leader_schedule::FixedSchedule, leader_schedule::LeaderSchedule, }; use solana_local_cluster::{ cluster::Cluster, cluster_tests, local_cluster::{ClusterConfig, LocalCluster}, }; +use solana_runtime::{ + bank_forks::{CompressionType, SnapshotConfig}, + snapshot_utils, +}; use solana_sdk::{ client::{AsyncClient, SyncClient}, clock::{self, Slot}, diff --git a/programs/bpf/Cargo.lock b/programs/bpf/Cargo.lock index 94eb63b1e6..a6381621ae 100644 --- a/programs/bpf/Cargo.lock +++ b/programs/bpf/Cargo.lock @@ -8,6 +8,11 @@ dependencies = [ "gimli 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "adler32" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "aho-corasick" version = "0.7.10" @@ -146,6 +151,25 @@ name = "bytes" version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "bzip2" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bzip2-sys 0.1.9+1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.9+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "cc" version = "1.0.49" @@ -196,6 +220,14 @@ dependencies = [ "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "crc32fast" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "crossbeam-deque" version = "0.7.3" @@ -268,6 +300,14 @@ dependencies = [ "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "dir-diff" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "dtoa" version = "0.4.5" @@ -348,6 +388,28 @@ name = "feature-probe" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "filetime" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "flate2" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", + "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz_oxide 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "fnv" version = "1.0.7" @@ -477,6 +539,11 @@ name = "gimli" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "goblin" version = "0.2.3" @@ -781,6 +848,14 @@ dependencies = [ "unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "miniz_oxide" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "adler32 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "mio" version = "0.6.22" @@ -977,6 +1052,11 @@ name = "pin-utils" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "pkg-config" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "plain" version = "0.2.3" @@ -1586,6 +1666,9 @@ dependencies = [ "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bv 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "dir-diff 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "flate2 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1599,6 +1682,7 @@ dependencies = [ "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)", "solana-config-program 1.3.0", @@ -1609,8 +1693,11 @@ dependencies = [ "solana-sdk 1.3.0", "solana-stake-program 1.3.0", "solana-vote-program 1.3.0", + "symlink 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tar 0.4.29 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)", + "zstd 0.5.3+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1737,6 +1824,11 @@ name = "subtle" version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "symlink" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "syn" version = "0.15.44" @@ -1768,6 +1860,17 @@ dependencies = [ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "tar" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "filetime 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", + "xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tempfile" version = "3.1.0" @@ -2269,13 +2372,50 @@ dependencies = [ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "xattr" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "zeroize" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "zstd" +version = "0.5.3+zstd.1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "zstd-safe 2.0.5+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "zstd-safe" +version = "2.0.5+zstd.1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "zstd-sys 1.4.17+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "zstd-sys" +version = "1.4.17+zstd.1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)", + "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", +] + [metadata] "checksum addr2line 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a49806b9dadc843c61e7c97e72490ad7f7220ae249012fbda9ad0609457c0543" +"checksum adler32 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d" "checksum aho-corasick 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)" = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada" "checksum ascii 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae7d751998c189c1d4468cf0a39bb2eae052a9c58d50ebb3b9591ee3813ad50" "checksum assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5" @@ -2296,12 +2436,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" "checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" +"checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b" +"checksum bzip2-sys 0.1.9+1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ad3b39a260062fca31f7b0b12f207e8f2590a67d32ec7d59c20484b07ea7285e" "checksum cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)" = "e450b8da92aa6f274e7c6437692f9f2ce6d701fb73bacfcf87897b3f89a4c20e" "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" "checksum chrono 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2" "checksum clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "97276801e127ffb46b66ce23f35cc96bd454fa311294bced4bbace7baa8b1d17" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" "checksum combine 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1645a65a99c7c8d345761f4b75a6ffe5be3b3b27a93ee731fccc5050ba6be97c" +"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" "checksum crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" "checksum crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" "checksum crossbeam-queue 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ab6bffe714b6bb07e42f201352c34f51fefd355ace793f9e638ebd52d23f98d2" @@ -2309,6 +2452,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" "checksum curve25519-dalek 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d85653f070353a16313d0046f173f70d1aadd5b42600a14de626f0dfb3473a5" "checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +"checksum dir-diff 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2860407d7d7e2e004bb2128510ad9e8d669e76fa005ccf567977b5d71b8b4a0b" "checksum dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3" "checksum ed25519-dalek 1.0.0-pre.3 (registry+https://github.com/rust-lang/crates.io-index)" = "978710b352437433c97b2bff193f2fb1dfd58a093f863dd95e225a19baa599a2" "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" @@ -2319,6 +2463,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum failure_derive 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum feature-probe 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" +"checksum filetime 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "affc17579b132fc2461adf7c575cc6e8b134ebca52c51f5411388965227dc695" +"checksum flate2 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "2cfff41391129e0a856d6d822600b8d71179d46879e310417eb9c762eb178b42" "checksum fnv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" "checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" @@ -2336,6 +2482,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum gethostname 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e692e296bfac1d2533ef168d0b60ff5897b8b70a4009276834014dd8924cc028" "checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" "checksum gimli 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" +"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" "checksum goblin 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d20fd25aa456527ce4f544271ae4fea65d2eda4a6561ea56f39fb3ee4f7e3884" "checksum h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" "checksum hash32 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d4041af86e63ac4298ce40e5cca669066e75b6f1aa3390fe2561ffa5e1d9f4cc" @@ -2371,6 +2518,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum memoffset 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8" "checksum mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" "checksum mime_guess 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212" +"checksum miniz_oxide 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" "checksum mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)" = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430" "checksum mio-uds 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" @@ -2393,6 +2541,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum pin-project-internal 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)" = "e58db2081ba5b4c93bd6be09c40fd36cb9193a8336c384f3b40012e531aa7e40" "checksum pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f" "checksum pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" "checksum plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" "checksum ppv-lite86 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" "checksum proc-macro-hack 0.5.16 (registry+https://github.com/rust-lang/crates.io-index)" = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" @@ -2438,9 +2587,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" "checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" "checksum subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" +"checksum symlink 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" "checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" "checksum syn 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)" = "ef781e621ee763a2a40721a8861ec519cb76966aee03bb5d00adb6a31dc1c1de" "checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" +"checksum tar 0.4.29 (registry+https://github.com/rust-lang/crates.io-index)" = "c8a4c1d0bee3230179544336c15eefb563cf0302955d962e456542323e8c2e8a" "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" "checksum termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f" "checksum thiserror 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)" = "b13f926965ad00595dd129fa12823b04bbf866e9085ab0a5f2b05b850fbfc344" @@ -2494,4 +2645,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" "checksum winreg 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +"checksum xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" "checksum zeroize 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3cbac2ed2ba24cc90f5e06485ac8c7c1e5449fe8911aef4d8877218af021a5b8" +"checksum zstd 0.5.3+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01b32eaf771efa709e8308605bbf9319bf485dc1503179ec0469b611937c0cd8" +"checksum zstd-safe 2.0.5+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1cfb642e0d27f64729a639c52db457e0ae906e7bc6f5fe8f5c453230400f1055" +"checksum zstd-sys 1.4.17+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b89249644df056b522696b1bb9e7c18c87e8ffa3e2f0dc3b0155875d6498f01b" diff --git a/programs/librapay/Cargo.lock b/programs/librapay/Cargo.lock index 64aa2e20b9..c224bb82cd 100644 --- a/programs/librapay/Cargo.lock +++ b/programs/librapay/Cargo.lock @@ -8,6 +8,11 @@ dependencies = [ "gimli 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "adler32" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "aho-corasick" version = "0.7.10" @@ -216,6 +221,25 @@ name = "bytes" version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "bzip2" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bzip2-sys 0.1.9+1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.9+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "c_linked_list" version = "1.1.1" @@ -308,6 +332,14 @@ name = "constant_time_eq" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "crc32fast" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "crossbeam" version = "0.7.3" @@ -439,6 +471,14 @@ dependencies = [ "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "dir-diff" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "dirs" version = "1.0.5" @@ -584,11 +624,33 @@ name = "feature-probe" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "filetime" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "fixedbitset" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "flate2" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", + "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz_oxide 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "fnv" version = "1.0.7" @@ -757,6 +819,11 @@ name = "gimli" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "h2" version = "0.1.26" @@ -1196,6 +1263,14 @@ dependencies = [ "unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "miniz_oxide" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "adler32 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "mio" version = "0.6.22" @@ -1526,6 +1601,11 @@ name = "pin-utils" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "pkg-config" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "ppv-lite86" version = "0.2.8" @@ -2073,6 +2153,14 @@ name = "ryu" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "scopeguard" version = "1.1.0" @@ -2391,6 +2479,9 @@ dependencies = [ "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bv 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "dir-diff 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "flate2 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2404,6 +2495,7 @@ dependencies = [ "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)", "solana-config-program 1.3.0", @@ -2414,8 +2506,11 @@ dependencies = [ "solana-sdk 1.3.0", "solana-stake-program 1.3.0", "solana-vote-program 1.3.0", + "symlink 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tar 0.4.29 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)", + "zstd 0.5.3+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2918,6 +3013,11 @@ name = "subtle" version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "symlink" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "syn" version = "0.15.44" @@ -2964,6 +3064,17 @@ name = "take_mut" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "tar" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "filetime 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", + "xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tempfile" version = "3.1.0" @@ -3424,6 +3535,16 @@ dependencies = [ "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "walkdir" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "want" version = "0.2.0" @@ -3609,6 +3730,14 @@ dependencies = [ "zeroize 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "xattr" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "zeroize" version = "1.1.0" @@ -3628,8 +3757,37 @@ dependencies = [ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "zstd" +version = "0.5.3+zstd.1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "zstd-safe 2.0.5+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "zstd-safe" +version = "2.0.5+zstd.1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", + "zstd-sys 1.4.17+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "zstd-sys" +version = "1.4.17+zstd.1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)", + "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.71 (registry+https://github.com/rust-lang/crates.io-index)", +] + [metadata] "checksum addr2line 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a49806b9dadc843c61e7c97e72490ad7f7220ae249012fbda9ad0609457c0543" +"checksum adler32 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d" "checksum aho-corasick 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)" = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada" "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" "checksum arc-swap 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b585a98a234c46fc563103e9278c9391fde1f4e6850334da895d27edb9580f62" @@ -3660,6 +3818,8 @@ dependencies = [ "checksum byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" "checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" +"checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b" +"checksum bzip2-sys 0.1.9+1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ad3b39a260062fca31f7b0b12f207e8f2590a67d32ec7d59c20484b07ea7285e" "checksum c_linked_list 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" "checksum cc 1.0.49 (registry+https://github.com/rust-lang/crates.io-index)" = "e450b8da92aa6f274e7c6437692f9f2ce6d701fb73bacfcf87897b3f89a4c20e" "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" @@ -3671,6 +3831,7 @@ dependencies = [ "checksum codespan 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "004def512a9848b23a68ed110927d102b0e6d9f3dc732e28570879afde051f8c" "checksum codespan-reporting 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab081a14ab8f9598ce826890fe896d0addee68c7a58ab49008369ccbb51510a8" "checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" "checksum crossbeam 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "69323bff1fb41c635347b8ead484a5ca6c3f11914d784170b158d8449ab07f8e" "checksum crossbeam-channel 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cced8691919c02aac3cb0a1bc2e9b73d89e832bf9a06fc579d4e71b68a2da061" "checksum crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" @@ -3685,6 +3846,7 @@ dependencies = [ "checksum derivative 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cb582b60359da160a9477ee80f15c8d784c477e69c217ef2cdd4169c24ea380f" "checksum diff 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499" "checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +"checksum dir-diff 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2860407d7d7e2e004bb2128510ad9e8d669e76fa005ccf567977b5d71b8b4a0b" "checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" @@ -3702,7 +3864,9 @@ dependencies = [ "checksum failure_derive 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum feature-probe 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" +"checksum filetime 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "affc17579b132fc2461adf7c575cc6e8b134ebca52c51f5411388965227dc695" "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" +"checksum flate2 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "2cfff41391129e0a856d6d822600b8d71179d46879e310417eb9c762eb178b42" "checksum fnv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" "checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" @@ -3725,6 +3889,7 @@ dependencies = [ "checksum gethostname 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e692e296bfac1d2533ef168d0b60ff5897b8b70a4009276834014dd8924cc028" "checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" "checksum gimli 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" +"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" "checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" "checksum h2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" @@ -3772,6 +3937,7 @@ dependencies = [ "checksum memsec 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0cb9280f8c37546661083aa45eb0318d8469253d31e87649faed25522428398e" "checksum mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" "checksum mime_guess 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212" +"checksum miniz_oxide 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" "checksum mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)" = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430" "checksum mio-uds 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" @@ -3810,6 +3976,7 @@ dependencies = [ "checksum pin-project-internal 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)" = "e58db2081ba5b4c93bd6be09c40fd36cb9193a8336c384f3b40012e531aa7e40" "checksum pin-project-lite 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f" "checksum pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" "checksum ppv-lite86 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" "checksum precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" "checksum proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e" @@ -3866,6 +4033,7 @@ dependencies = [ "checksum rustls 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1" "checksum rusty-fork 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3dd93264e10c577503e926bd1430193eeb5d21b059148910082245309b424fae" "checksum ryu 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ed3d612bc64430efeb3f7ee6ef26d590dce0c43249217bddc62112540c7941e1" +"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" "checksum scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" "checksum sct 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" @@ -3922,11 +4090,13 @@ dependencies = [ "checksum structopt-derive 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "d239ca4b13aee7a2142e6795cbd69e457665ff8037aed33b3effdc430d2f927a" "checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" "checksum subtle 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" +"checksum symlink 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" "checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" "checksum syn 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)" = "ef781e621ee763a2a40721a8861ec519cb76966aee03bb5d00adb6a31dc1c1de" "checksum syn-mid 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" "checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" +"checksum tar 0.4.29 (registry+https://github.com/rust-lang/crates.io-index)" = "c8a4c1d0bee3230179544336c15eefb563cf0302955d962e456542323e8c2e8a" "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" "checksum term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42" "checksum term 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0863a3345e70f61d613eab32ee046ccd1bcc5f9105fe402c61fcd0c13eeb8b5" @@ -3975,6 +4145,7 @@ dependencies = [ "checksum vec_map 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" "checksum version_check 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" "checksum wait-timeout 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" "checksum want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" "checksum want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" "checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" @@ -3997,5 +4168,9 @@ dependencies = [ "checksum winreg 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" "checksum x25519-dalek 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "637ff90c9540fa3073bb577e65033069e4bae7c79d49d74aa3ffdf5342a53217" +"checksum xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" "checksum zeroize 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3cbac2ed2ba24cc90f5e06485ac8c7c1e5449fe8911aef4d8877218af021a5b8" "checksum zeroize_derive 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de251eec69fc7c1bc3923403d18ececb929380e016afe103da75f396704f8ca2" +"checksum zstd 0.5.3+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01b32eaf771efa709e8308605bbf9319bf485dc1503179ec0469b611937c0cd8" +"checksum zstd-safe 2.0.5+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1cfb642e0d27f64729a639c52db457e0ae906e7bc6f5fe8f5c453230400f1055" +"checksum zstd-sys 1.4.17+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b89249644df056b522696b1bb9e7c18c87e8ffa3e2f0dc3b0155875d6498f01b" diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 17f01f5388..22e4e31763 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -12,6 +12,9 @@ edition = "2018" bincode = "1.2.1" bv = { version = "0.11.1", features = ["serde"] } byteorder = "1.3.4" +bzip2 = "0.3.3" +dir-diff = "0.3.2" +flate2 = "1.0.14" fnv = "1.0.7" fs_extra = "1.1.0" itertools = "0.9.0" @@ -25,6 +28,7 @@ num-traits = { version = "0.2" } num_cpus = "1.13.0" rand = "0.7.0" rayon = "1.3.0" +regex = "1.3.9" serde = { version = "1.0.112", features = ["rc"] } serde_derive = "1.0.103" solana-config-program = { path = "../programs/config", version = "1.3.0" } @@ -35,8 +39,11 @@ solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.3.0" } solana-sdk = { path = "../sdk", version = "1.3.0" } solana-stake-program = { path = "../programs/stake", version = "1.3.0" } solana-vote-program = { path = "../programs/vote", version = "1.3.0" } +symlink = "0.1.0" +tar = "0.4.28" tempfile = "3.1.0" thiserror = "1.0" +zstd = "0.5.1" [lib] crate-type = ["lib"] diff --git a/ledger/src/bank_forks.rs b/runtime/src/bank_forks.rs similarity index 99% rename from ledger/src/bank_forks.rs rename to runtime/src/bank_forks.rs index 54419ecbb3..2e42ea82c1 100644 --- a/ledger/src/bank_forks.rs +++ b/runtime/src/bank_forks.rs @@ -2,10 +2,10 @@ use crate::snapshot_package::{AccountsPackageSendError, AccountsPackageSender}; use crate::snapshot_utils::{self, SnapshotError}; +use crate::{bank::Bank, status_cache::MAX_CACHE_ENTRIES}; use log::*; use solana_measure::measure::Measure; use solana_metrics::inc_new_counter_info; -use solana_runtime::{bank::Bank, status_cache::MAX_CACHE_ENTRIES}; use solana_sdk::{clock::Slot, timing}; use std::{ collections::{HashMap, HashSet}, diff --git a/ledger/src/hardened_unpack.rs b/runtime/src/hardened_unpack.rs similarity index 99% rename from ledger/src/hardened_unpack.rs rename to runtime/src/hardened_unpack.rs index 67d325a7d0..a3976554f3 100644 --- a/ledger/src/hardened_unpack.rs +++ b/runtime/src/hardened_unpack.rs @@ -237,7 +237,7 @@ fn is_valid_genesis_archive_entry(parts: &[&str], kind: tar::EntryType) -> bool #[cfg(test)] mod tests { use super::*; - use matches::assert_matches; + use assert_matches::assert_matches; use tar::{Builder, Header}; #[test] diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index fe261d6662..49b33d2572 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -4,11 +4,13 @@ pub mod accounts_index; pub mod append_vec; pub mod bank; pub mod bank_client; +pub mod bank_forks; mod blockhash_queue; pub mod bloom; pub mod builtin_programs; pub mod epoch_stakes; pub mod genesis_utils; +pub mod hardened_unpack; mod legacy_system_instruction_processor0; pub mod loader_utils; pub mod log_collector; @@ -17,6 +19,8 @@ mod native_loader; pub mod nonce_utils; pub mod rent_collector; pub mod serde_snapshot; +pub mod snapshot_package; +pub mod snapshot_utils; pub mod stakes; pub mod status_cache; mod system_instruction_processor; diff --git a/ledger/src/snapshot_package.rs b/runtime/src/snapshot_package.rs similarity index 94% rename from ledger/src/snapshot_package.rs rename to runtime/src/snapshot_package.rs index a426ff2e90..0a787be5a0 100644 --- a/ledger/src/snapshot_package.rs +++ b/runtime/src/snapshot_package.rs @@ -1,5 +1,5 @@ use crate::bank_forks::CompressionType; -use solana_runtime::{accounts_db::SnapshotStorages, bank::BankSlotDelta}; +use crate::{accounts_db::SnapshotStorages, bank::BankSlotDelta}; use solana_sdk::clock::Slot; use solana_sdk::hash::Hash; use std::{ diff --git a/ledger/src/snapshot_utils.rs b/runtime/src/snapshot_utils.rs similarity index 99% rename from ledger/src/snapshot_utils.rs rename to runtime/src/snapshot_utils.rs index 7567615715..f5d53fe8f2 100644 --- a/ledger/src/snapshot_utils.rs +++ b/runtime/src/snapshot_utils.rs @@ -1,6 +1,12 @@ use crate::bank_forks::CompressionType; use crate::hardened_unpack::{unpack_snapshot, UnpackError}; use crate::snapshot_package::AccountsPackage; +use crate::{ + bank::{Bank, BankSlotDelta}, + serde_snapshot::{ + bankrc_from_stream, bankrc_to_stream, SerdeStyle, SnapshotStorage, SnapshotStorages, + }, +}; use bincode::serialize_into; use bzip2::bufread::BzDecoder; use flate2::read::GzDecoder; @@ -8,12 +14,6 @@ use fs_extra::dir::CopyOptions; use log::*; use regex::Regex; use solana_measure::measure::Measure; -use solana_runtime::{ - bank::{Bank, BankSlotDelta}, - serde_snapshot::{ - bankrc_from_stream, bankrc_to_stream, SerdeStyle, SnapshotStorage, SnapshotStorages, - }, -}; use solana_sdk::{clock::Slot, genesis_config::GenesisConfig, hash::Hash, pubkey::Pubkey}; use std::{ cmp::Ordering, @@ -784,8 +784,8 @@ pub fn verify_snapshot_archive
( #[cfg(test)] mod tests { use super::*; + use assert_matches::assert_matches; use bincode::{deserialize_from, serialize_into}; - use matches::assert_matches; use std::mem::size_of; #[test] diff --git a/validator/src/main.rs b/validator/src/main.rs index ddf9eaad5c..29f9347fc7 100644 --- a/validator/src/main.rs +++ b/validator/src/main.rs @@ -21,11 +21,11 @@ use solana_core::{ validator::{Validator, ValidatorConfig}, }; use solana_download_utils::{download_genesis_if_missing, download_snapshot}; -use solana_ledger::{ +use solana_perf::recycler::enable_recycler_warming; +use solana_runtime::{ bank_forks::{CompressionType, SnapshotConfig}, hardened_unpack::{unpack_genesis_archive, MAX_GENESIS_ARCHIVE_UNPACKED_SIZE}, }; -use solana_perf::recycler::enable_recycler_warming; use solana_sdk::{ clock::Slot, commitment_config::CommitmentConfig,