Merge heaviest bank modules (bp #10672) (#10677)

* Merge heaviest bank modules

* Update lockfiles

Co-authored-by: Greg Fitzgerald <greg@solana.com>
This commit is contained in:
mergify[bot]
2020-06-18 06:14:53 +00:00
committed by GitHub
parent 3125c74681
commit 2cc71f2d55
6 changed files with 212 additions and 221 deletions

View File

@ -21,7 +21,7 @@ impl ForkChoice for BankWeightForkChoice {
bank: &Bank, bank: &Bank,
_tower: &Tower, _tower: &Tower,
progress: &mut ProgressMap, progress: &mut ProgressMap,
computed_bank_stats: &ComputedBankState, computed_bank_state: &ComputedBankState,
) { ) {
let bank_slot = bank.slot(); let bank_slot = bank.slot();
// Only time progress map should be missing a bank slot // Only time progress map should be missing a bank slot
@ -37,14 +37,14 @@ impl ForkChoice for BankWeightForkChoice {
.get_fork_stats_mut(bank_slot) .get_fork_stats_mut(bank_slot)
.expect("All frozen banks must exist in the Progress map"); .expect("All frozen banks must exist in the Progress map");
let ComputedBankState { bank_weight, .. } = computed_bank_stats; let ComputedBankState { bank_weight, .. } = computed_bank_state;
stats.weight = *bank_weight; stats.weight = *bank_weight;
stats.fork_weight = stats.weight + parent_weight; stats.fork_weight = stats.weight + parent_weight;
} }
// Returns: // Returns:
// 1) The heaviest overall bank // 1) The heaviest overall bank
// 2) The heavest bank on the same fork as the last vote (doesn't require a // 2) The heaviest bank on the same fork as the last vote (doesn't require a
// switching proof to vote for) // switching proof to vote for)
fn select_forks( fn select_forks(
&self, &self,

View File

@ -1,4 +1,8 @@
#[cfg(test)] use crate::{
consensus::{ComputedBankState, Tower},
fork_choice::ForkChoice,
progress_map::ProgressMap,
};
use solana_ledger::bank_forks::BankForks; use solana_ledger::bank_forks::BankForks;
use solana_runtime::{bank::Bank, epoch_stakes::EpochStakes}; use solana_runtime::{bank::Bank, epoch_stakes::EpochStakes};
use solana_sdk::{ use solana_sdk::{
@ -7,13 +11,12 @@ use solana_sdk::{
pubkey::Pubkey, pubkey::Pubkey,
}; };
use std::{ use std::{
collections::{BTreeMap, HashMap}, collections::{BTreeMap, HashMap, HashSet},
sync::Arc, sync::{Arc, RwLock},
}; };
#[cfg(test)] #[cfg(test)]
use trees::{Tree, TreeWalk}; use trees::{Tree, TreeWalk};
mod fork_choice;
pub type ForkWeight = u64; pub type ForkWeight = u64;
#[derive(PartialEq, Eq, Clone, Debug, PartialOrd, Ord)] #[derive(PartialEq, Eq, Clone, Debug, PartialOrd, Ord)]
@ -401,6 +404,66 @@ impl HeaviestSubtreeForkChoice {
} }
} }
impl ForkChoice for HeaviestSubtreeForkChoice {
fn compute_bank_stats(
&mut self,
bank: &Bank,
_tower: &Tower,
_progress: &mut ProgressMap,
computed_bank_state: &ComputedBankState,
) {
let ComputedBankState { pubkey_votes, .. } = computed_bank_state;
// Update `heaviest_subtree_fork_choice` to find the best fork to build on
let best_overall_slot = self.add_votes(
&pubkey_votes,
bank.epoch_stakes_map(),
bank.epoch_schedule(),
);
datapoint_info!(
"best_slot",
("slot", bank.slot(), i64),
("best_slot", best_overall_slot, i64),
);
}
// Returns:
// 1) The heaviest overall bank
// 2) The heaviest bank on the same fork as the last vote (doesn't require a
// switching proof to vote for)
fn select_forks(
&self,
_frozen_banks: &[Arc<Bank>],
tower: &Tower,
_progress: &ProgressMap,
_ancestors: &HashMap<u64, HashSet<u64>>,
bank_forks: &RwLock<BankForks>,
) -> (Arc<Bank>, Option<Arc<Bank>>) {
let last_vote = tower.last_vote().slots.last().cloned();
let heaviest_slot_on_same_voted_fork = last_vote.map(|last_vote| {
let heaviest_slot_on_same_voted_fork =
self.best_slot(last_vote).expect("last_vote is a frozen bank so must have been added to heaviest_subtree_fork_choice at time of freezing");
if heaviest_slot_on_same_voted_fork == last_vote {
None
} else {
Some(heaviest_slot_on_same_voted_fork)
}
}).unwrap_or(None);
let heaviest_slot = self.best_overall_slot();
let r_bank_forks = bank_forks.read().unwrap();
(
r_bank_forks.get(heaviest_slot).unwrap().clone(),
heaviest_slot_on_same_voted_fork.map(|heaviest_slot_on_same_voted_fork| {
r_bank_forks
.get(heaviest_slot_on_same_voted_fork)
.unwrap()
.clone()
}),
)
}
}
struct AncestorIterator<'a> { struct AncestorIterator<'a> {
current_slot: Slot, current_slot: Slot,
fork_infos: &'a HashMap<Slot, ForkInfo>, fork_infos: &'a HashMap<Slot, ForkInfo>,

View File

@ -1,72 +0,0 @@
use crate::{
consensus::{ComputedBankState, Tower},
fork_choice::ForkChoice,
heaviest_subtree_fork_choice::HeaviestSubtreeForkChoice,
progress_map::ProgressMap,
};
use solana_ledger::bank_forks::BankForks;
use solana_runtime::bank::Bank;
use std::{
collections::{HashMap, HashSet},
sync::{Arc, RwLock},
};
impl ForkChoice for HeaviestSubtreeForkChoice {
fn compute_bank_stats(
&mut self,
bank: &Bank,
_tower: &Tower,
_progress: &mut ProgressMap,
computed_bank_stats: &ComputedBankState,
) {
let ComputedBankState { pubkey_votes, .. } = computed_bank_stats;
// Update `heaviest_subtree_fork_choice` to find the best fork to build on
let best_overall_slot = self.add_votes(
&pubkey_votes,
bank.epoch_stakes_map(),
bank.epoch_schedule(),
);
datapoint_info!(
"best_slot",
("slot", bank.slot(), i64),
("best_slot", best_overall_slot, i64),
);
}
// Returns:
// 1) The heaviest overall bbank
// 2) The heavest bank on the same fork as the last vote (doesn't require a
// switching proof to vote for)
fn select_forks(
&self,
_frozen_banks: &[Arc<Bank>],
tower: &Tower,
_progress: &ProgressMap,
_ancestors: &HashMap<u64, HashSet<u64>>,
bank_forks: &RwLock<BankForks>,
) -> (Arc<Bank>, Option<Arc<Bank>>) {
let last_vote = tower.last_vote().slots.last().cloned();
let heaviest_slot_on_same_voted_fork = last_vote.map(|last_vote| {
let heaviest_slot_on_same_voted_fork =
self.best_slot(last_vote).expect("last_vote is a frozen bank so must have been added to heaviest_subtree_fork_choice at time of freezing");
if heaviest_slot_on_same_voted_fork == last_vote {
None
} else {
Some(heaviest_slot_on_same_voted_fork)
}
}).unwrap_or(None);
let heaviest_slot = self.best_overall_slot();
let r_bank_forks = bank_forks.read().unwrap();
(
r_bank_forks.get(heaviest_slot).unwrap().clone(),
heaviest_slot_on_same_voted_fork.map(|heaviest_slot_on_same_voted_fork| {
r_bank_forks
.get(heaviest_slot_on_same_voted_fork)
.unwrap()
.clone()
}),
)
}
}

194
programs/bpf/Cargo.lock generated
View File

@ -1352,7 +1352,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-bpf-loader-program" name = "solana-bpf-loader-program"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1360,187 +1360,187 @@ dependencies = [
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"num-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "num-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 1.2.4", "solana-logger 1.2.5",
"solana-runtime 1.2.4", "solana-runtime 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana_rbpf 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", "solana_rbpf 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-bpf-programs" name = "solana-bpf-programs"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)", "elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-bpf-loader-program 1.2.4", "solana-bpf-loader-program 1.2.5",
"solana-logger 1.2.4", "solana-logger 1.2.5",
"solana-runtime 1.2.4", "solana-runtime 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana_rbpf 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", "solana_rbpf 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
"walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-128bit" name = "solana-bpf-rust-128bit"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-bpf-rust-128bit-dep 1.2.4", "solana-bpf-rust-128bit-dep 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-128bit-dep" name = "solana-bpf-rust-128bit-dep"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-alloc" name = "solana-bpf-rust-alloc"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-dep-crate" name = "solana-bpf-rust-dep-crate"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-dup-accounts" name = "solana-bpf-rust-dup-accounts"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-error-handling" name = "solana-bpf-rust-error-handling"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"num-derive 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "num-derive 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-external-spend" name = "solana-bpf-rust-external-spend"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-invoke" name = "solana-bpf-rust-invoke"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-bpf-rust-invoked 1.2.4", "solana-bpf-rust-invoked 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-invoked" name = "solana-bpf-rust-invoked"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-iter" name = "solana-bpf-rust-iter"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-many-args" name = "solana-bpf-rust-many-args"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-bpf-rust-many-args-dep 1.2.4", "solana-bpf-rust-many-args-dep 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-many-args-dep" name = "solana-bpf-rust-many-args-dep"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-noop" name = "solana-bpf-rust-noop"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-panic" name = "solana-bpf-rust-panic"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-param-passing" name = "solana-bpf-rust-param-passing"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-bpf-rust-param-passing-dep 1.2.4", "solana-bpf-rust-param-passing-dep 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-param-passing-dep" name = "solana-bpf-rust-param-passing-dep"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-bpf-rust-sysval" name = "solana-bpf-rust-sysval"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-sdk-bpf-test 1.2.4", "solana-sdk-bpf-test 1.2.5",
] ]
[[package]] [[package]]
name = "solana-config-program" name = "solana-config-program"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"chrono 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (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)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
] ]
[[package]] [[package]]
name = "solana-crate-features" name = "solana-crate-features"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"backtrace 0.3.49 (registry+https://github.com/rust-lang/crates.io-index)", "backtrace 0.3.49 (registry+https://github.com/rust-lang/crates.io-index)",
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1563,7 +1563,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-logger" name = "solana-logger"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1572,30 +1572,30 @@ dependencies = [
[[package]] [[package]]
name = "solana-measure" name = "solana-measure"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 1.2.4", "solana-metrics 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
] ]
[[package]] [[package]]
name = "solana-metrics" name = "solana-metrics"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gethostname 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "gethostname 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"reqwest 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", "reqwest 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
] ]
[[package]] [[package]]
name = "solana-rayon-threadlimit" name = "solana-rayon-threadlimit"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1603,7 +1603,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-runtime" name = "solana-runtime"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "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)", "bv 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1623,21 +1623,21 @@ dependencies = [
"rayon 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (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)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-config-program 1.2.4", "solana-config-program 1.2.5",
"solana-logger 1.2.4", "solana-logger 1.2.5",
"solana-measure 1.2.4", "solana-measure 1.2.5",
"solana-metrics 1.2.4", "solana-metrics 1.2.5",
"solana-rayon-threadlimit 1.2.4", "solana-rayon-threadlimit 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-stake-program 1.2.4", "solana-stake-program 1.2.5",
"solana-vote-program 1.2.4", "solana-vote-program 1.2.5",
"tempfile 3.1.0 (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.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-sdk" name = "solana-sdk"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1662,19 +1662,19 @@ dependencies = [
"serde_derive 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)",
"serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)",
"sha2 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-crate-features 1.2.4", "solana-crate-features 1.2.5",
"solana-logger 1.2.4", "solana-logger 1.2.5",
"solana-sdk-macro 1.2.4", "solana-sdk-macro 1.2.5",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-sdk-bpf-test" name = "solana-sdk-bpf-test"
version = "1.2.4" version = "1.2.5"
[[package]] [[package]]
name = "solana-sdk-macro" name = "solana-sdk-macro"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bs58 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1684,7 +1684,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-stake-program" name = "solana-stake-program"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1692,16 +1692,16 @@ dependencies = [
"num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (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)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-config-program 1.2.4", "solana-config-program 1.2.5",
"solana-metrics 1.2.4", "solana-metrics 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-vote-program 1.2.4", "solana-vote-program 1.2.5",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-vote-program" name = "solana-vote-program"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1709,8 +1709,8 @@ dependencies = [
"num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (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)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 1.2.4", "solana-metrics 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]

View File

@ -2288,19 +2288,19 @@ dependencies = [
[[package]] [[package]]
name = "solana-config-program" name = "solana-config-program"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"chrono 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (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)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
] ]
[[package]] [[package]]
name = "solana-crate-features" name = "solana-crate-features"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"backtrace 0.3.49 (registry+https://github.com/rust-lang/crates.io-index)", "backtrace 0.3.49 (registry+https://github.com/rust-lang/crates.io-index)",
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2323,20 +2323,20 @@ dependencies = [
[[package]] [[package]]
name = "solana-librapay" name = "solana-librapay"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 1.2.4", "solana-logger 1.2.5",
"solana-move-loader-program 1.2.4", "solana-move-loader-program 1.2.5",
"solana-runtime 1.2.4", "solana-runtime 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana_libra_types 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_types 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-logger" name = "solana-logger"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2345,30 +2345,30 @@ dependencies = [
[[package]] [[package]]
name = "solana-measure" name = "solana-measure"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 1.2.4", "solana-metrics 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
] ]
[[package]] [[package]]
name = "solana-metrics" name = "solana-metrics"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gethostname 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "gethostname 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"reqwest 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", "reqwest 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
] ]
[[package]] [[package]]
name = "solana-move-loader-program" name = "solana-move-loader-program"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"indexmap 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "indexmap 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2379,8 +2379,8 @@ dependencies = [
"serde_bytes 0.11.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde_bytes 0.11.5 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 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)",
"serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 1.2.4", "solana-logger 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana_libra_bytecode_verifier 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_bytecode_verifier 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)",
"solana_libra_canonical_serialization 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_canonical_serialization 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)",
"solana_libra_compiler 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_compiler 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2397,7 +2397,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-rayon-threadlimit" name = "solana-rayon-threadlimit"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2405,7 +2405,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-runtime" name = "solana-runtime"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "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)", "bv 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2425,21 +2425,21 @@ dependencies = [
"rayon 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (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)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-config-program 1.2.4", "solana-config-program 1.2.5",
"solana-logger 1.2.4", "solana-logger 1.2.5",
"solana-measure 1.2.4", "solana-measure 1.2.5",
"solana-metrics 1.2.4", "solana-metrics 1.2.5",
"solana-rayon-threadlimit 1.2.4", "solana-rayon-threadlimit 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-stake-program 1.2.4", "solana-stake-program 1.2.5",
"solana-vote-program 1.2.4", "solana-vote-program 1.2.5",
"tempfile 3.1.0 (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.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-sdk" name = "solana-sdk"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2464,15 +2464,15 @@ dependencies = [
"serde_derive 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)",
"serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)",
"sha2 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-crate-features 1.2.4", "solana-crate-features 1.2.5",
"solana-logger 1.2.4", "solana-logger 1.2.5",
"solana-sdk-macro 1.2.4", "solana-sdk-macro 1.2.5",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-sdk-macro" name = "solana-sdk-macro"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bs58 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2482,7 +2482,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-stake-program" name = "solana-stake-program"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2490,16 +2490,16 @@ dependencies = [
"num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (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)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-config-program 1.2.4", "solana-config-program 1.2.5",
"solana-metrics 1.2.4", "solana-metrics 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"solana-vote-program 1.2.4", "solana-vote-program 1.2.5",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "solana-vote-program" name = "solana-vote-program"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2507,8 +2507,8 @@ dependencies = [
"num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (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)", "serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 1.2.4", "solana-metrics 1.2.5",
"solana-sdk 1.2.4", "solana-sdk 1.2.5",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
] ]

View File

@ -2472,7 +2472,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-crate-features" name = "solana-crate-features"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"bytes 0.4.12", "bytes 0.4.12",
@ -2495,7 +2495,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-logger" name = "solana-logger"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"env_logger", "env_logger",
"lazy_static", "lazy_static",
@ -2504,7 +2504,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-move-loader-program" name = "solana-move-loader-program"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bincode", "bincode",
"indexmap", "indexmap",
@ -2533,7 +2533,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-sdk" name = "solana-sdk"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"assert_matches", "assert_matches",
"bincode", "bincode",
@ -2566,7 +2566,7 @@ dependencies = [
[[package]] [[package]]
name = "solana-sdk-macro" name = "solana-sdk-macro"
version = "1.2.4" version = "1.2.5"
dependencies = [ dependencies = [
"bs58 0.3.1", "bs58 0.3.1",
"proc-macro2 1.0.18", "proc-macro2 1.0.18",