diff --git a/tendermint/src/amino_types.rs b/tendermint/src/amino_types.rs index 716e21c79..448c4f009 100644 --- a/tendermint/src/amino_types.rs +++ b/tendermint/src/amino_types.rs @@ -5,6 +5,7 @@ pub mod block_id; pub mod ed25519; +pub mod message; pub mod ping; pub mod proposal; pub mod remote_error; diff --git a/tendermint/src/amino_types/message.rs b/tendermint/src/amino_types/message.rs new file mode 100644 index 000000000..9600699ef --- /dev/null +++ b/tendermint/src/amino_types/message.rs @@ -0,0 +1,39 @@ +use prost_amino::encoding::encoded_len_varint; +use std::convert::TryInto; + +/// Extend the original prost::Message trait with a few helper functions in order to +/// reduce boiler-plate code (and without modifying the prost-amino dependency). +pub trait AminoMessage: prost_amino::Message { + /// Directly amino encode a prost-amino message into a freshly created Vec. + /// This can be useful when passing those bytes directly to a hasher, or, + /// to reduce boiler plate code when working with the encoded bytes. + /// + /// Warning: Only use this method, if you are in control what will be encoded. + /// If there is an encoding error, this method will panic. + fn bytes_vec(&self) -> Vec + where + Self: Sized, + { + let mut res = Vec::with_capacity(self.encoded_len()); + self.encode(&mut res).unwrap(); + res + } + + /// Encode prost-amino message as length delimited. + /// + /// Warning: Only use this method, if you are in control what will be encoded. + /// If there is an encoding error, this method will panic. + fn bytes_vec_length_delimited(&self) -> Vec + where + Self: Sized, + { + let len = self.encoded_len(); + let mut res = + Vec::with_capacity(len + encoded_len_varint(len.try_into().expect("length overflow"))); + self.encode_length_delimited(&mut res).unwrap(); + res + } +} +impl AminoMessage for M { + // blanket impl +} diff --git a/tendermint/src/amino_types/proposal.rs b/tendermint/src/amino_types/proposal.rs index ace5fe49f..a29a412e5 100644 --- a/tendermint/src/amino_types/proposal.rs +++ b/tendermint/src/amino_types/proposal.rs @@ -1,4 +1,3 @@ -use std::convert::TryFrom; use super::{ block_id::{BlockId, CanonicalBlockId, CanonicalPartSetHeader}, remote_error::RemoteError, @@ -14,6 +13,7 @@ use crate::{ use bytes::BufMut; use prost::{EncodeError, Message}; use signatory::{ed25519, Signature}; +use std::convert::TryFrom; #[derive(Clone, PartialEq, Message)] pub struct Proposal { diff --git a/tendermint/src/amino_types/vote.rs b/tendermint/src/amino_types/vote.rs index 151484519..db5d0d9bb 100644 --- a/tendermint/src/amino_types/vote.rs +++ b/tendermint/src/amino_types/vote.rs @@ -1,4 +1,3 @@ -use std::convert::TryFrom; use super::{ block_id::{BlockId, CanonicalBlockId, CanonicalPartSetHeader}, remote_error::RemoteError, @@ -17,6 +16,7 @@ use crate::{ use bytes::BufMut; use prost::{error::EncodeError, Message}; use signatory::{ed25519, Signature}; +use std::convert::TryFrom; const VALIDATOR_ADDR_SIZE: usize = 20; @@ -78,7 +78,7 @@ impl From<&vote::Vote> for Vote { impl block::ParseHeight for Vote { fn parse_block_height(&self) -> Result { - block::Height::try_from(self.height) + block::Height::try_from_i64(self.height) } } @@ -124,7 +124,7 @@ impl chain::ParseId for CanonicalVote { impl block::ParseHeight for CanonicalVote { fn parse_block_height(&self) -> Result { - block::Height::try_from(self.height) + block::Height::try_from_i64(self.height) } } @@ -189,7 +189,7 @@ impl SignableMsg for SignVoteRequest { fn consensus_state(&self) -> Option { match self.vote { Some(ref v) => Some(consensus::State { - height: match block::Height::try_from(v.height) { + height: match block::Height::try_from_i64(v.height) { Ok(h) => h, Err(_err) => return None, // TODO(tarcieri): return an error? }, @@ -246,9 +246,9 @@ impl ConsensusMessage for Vote { mod tests { use super::super::PartsSetHeader; use super::*; + use crate::amino_types::message::AminoMessage; use crate::amino_types::SignedMsgType; use chrono::{DateTime, Utc}; - use prost::Message; #[test] fn test_vote_serialization() { @@ -334,8 +334,7 @@ mod tests { vt_precommit.vote_type = SignedMsgType::PreCommit.to_u32(); // precommit println!("{:?}", vt_precommit); let cv_precommit = CanonicalVote::new(vt_precommit, ""); - got = vec![]; - cv_precommit.encode(&mut got).unwrap(); + let got = AminoMessage::bytes_vec(&cv_precommit); let want = vec![ 0x8, // (field_number << 3) | wire_type 0x2, // PrecommitType @@ -356,10 +355,9 @@ mod tests { vt_prevote.round = 1; vt_prevote.vote_type = SignedMsgType::PreVote.to_u32(); - got = vec![]; let cv_prevote = CanonicalVote::new(vt_prevote, ""); - cv_prevote.encode(&mut got).unwrap(); + let got = AminoMessage::bytes_vec(&cv_prevote); let want = vec![ 0x8, // (field_number << 3) | wire_type @@ -380,9 +378,8 @@ mod tests { vt_no_type.height = 1; vt_no_type.round = 1; - got = vec![]; let cv = CanonicalVote::new(vt_no_type, ""); - cv.encode(&mut got).unwrap(); + let got = AminoMessage::bytes_vec(&cv); let want = vec![ 0x11, // (field_number << 3) | wire_type @@ -401,8 +398,7 @@ mod tests { no_vote_type2.round = 1; let with_chain_id = CanonicalVote::new(no_vote_type2, "test_chain_id"); - got = vec![]; - with_chain_id.encode(&mut got).unwrap(); + got = AminoMessage::bytes_vec(&with_chain_id); let want = vec![ 0x11, // (field_number << 3) | wire_type 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, // height diff --git a/tendermint/src/block.rs b/tendermint/src/block.rs index cd4bb8728..b17e4d6e3 100644 --- a/tendermint/src/block.rs +++ b/tendermint/src/block.rs @@ -9,15 +9,15 @@ pub mod parts; mod size; pub use self::{ - commit::Commit, - header::Header, + commit::*, + header::{parse_non_empty_block_id, Header}, height::*, id::{Id, ParseId}, meta::Meta, size::Size, }; use crate::{abci::transaction, evidence}; -use serde::{Deserialize, Serialize}; +use serde::{Deserialize, Deserializer, Serialize}; /// Blocks consist of a header, transactions, votes (the commit), and a list of /// evidence of malfeasance (i.e. signing conflicting votes). @@ -35,5 +35,28 @@ pub struct Block { pub evidence: evidence::Data, /// Last commit - pub last_commit: Commit, + #[serde(deserialize_with = "parse_non_empty_commit")] + pub last_commit: Option, +} + +pub(crate) fn parse_non_empty_commit<'de, D>(deserializer: D) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + #[derive(Deserialize)] + struct TmpCommit { + #[serde(deserialize_with = "parse_non_empty_block_id")] + block_id: Option, + precommits: Option, + } + + let commit = TmpCommit::deserialize(deserializer)?; + if commit.block_id.is_none() || commit.precommits.is_none() { + Ok(None) + } else { + Ok(Some(Commit { + block_id: commit.block_id.unwrap(), + precommits: commit.precommits.unwrap(), + })) + } } diff --git a/tendermint/src/block/header.rs b/tendermint/src/block/header.rs index 42739e3bb..8d95aa6e1 100644 --- a/tendermint/src/block/header.rs +++ b/tendermint/src/block/header.rs @@ -1,7 +1,10 @@ //! Block headers +use amino_types::{message::AminoMessage, BlockId, ConsensusVersion, TimeMsg}; +use serde::{de::Error as _, Deserialize, Deserializer, Serialize}; +use std::str::FromStr; + use crate::merkle::simple_hash_from_byte_slices; -use crate::{account, amino_types, block, chain, lite, Hash, Time}; -use prost::Message; +use crate::{account, amino_types, block, chain, lite, serializers, Hash, Time}; use { crate::serializers, serde::{Deserialize, Serialize}, @@ -41,13 +44,16 @@ pub struct Header { pub total_txs: u64, /// Previous block info - pub last_block_id: block::Id, + #[serde(deserialize_with = "parse_non_empty_block_id")] + pub last_block_id: Option, /// Commit from validators from the last block - pub last_commit_hash: Hash, + #[serde(deserialize_with = "serializers::parse_non_empty_hash")] + pub last_commit_hash: Option, /// Merkle root of transaction hashes - pub data_hash: Hash, + #[serde(deserialize_with = "serializers::parse_non_empty_hash")] + pub data_hash: Option, /// Validators for the current block pub validators_hash: Hash, @@ -59,13 +65,16 @@ pub struct Header { pub consensus_hash: Hash, /// State after txs from the previous block - pub app_hash: Hash, + #[serde(deserialize_with = "serializers::parse_non_empty_hash")] + pub app_hash: Option, /// Root hash of all results from the txs from the previous block - pub last_results_hash: Hash, + #[serde(deserialize_with = "serializers::parse_non_empty_hash")] + pub last_results_hash: Option, /// Hash of evidence included in the block - pub evidence_hash: Hash, + #[serde(deserialize_with = "serializers::parse_non_empty_hash")] + pub evidence_hash: Option, /// Original proposer of the block pub proposer_address: account::Id, @@ -89,58 +98,36 @@ impl lite::Header for Header { } fn hash(&self) -> Hash { - let mut version_enc = vec![]; - // TODO: if there is an encoding problem this will + // Note that if there is an encoding problem this will // panic (as the golang code would): // https://github.com/tendermint/tendermint/blob/134fe2896275bb926b49743c1e25493f6b24cc31/types/block.go#L393 // https://github.com/tendermint/tendermint/blob/134fe2896275bb926b49743c1e25493f6b24cc31/types/encoding_helper.go#L9:6 - // Instead, handle errors gracefully here. - amino_types::ConsensusVersion::from(&self.version) - .encode(&mut version_enc) - .unwrap(); - let height_enc = encode_varint(self.height.value()); - let mut time_enc = vec![]; - amino_types::TimeMsg::from(self.time) - .encode(&mut time_enc) - .unwrap(); - let chain_id_bytes = self.chain_id.as_bytes(); - let chain_id_enc = bytes_enc(&chain_id_bytes); - let num_tx_enc = encode_varint(self.num_txs); - let total_tx_enc = encode_varint(self.total_txs); - let mut last_block_id_enc = vec![]; - amino_types::BlockId::from(&self.last_block_id) - .encode(&mut last_block_id_enc) - .unwrap(); - let last_commit_hash_enc = encode_hash(self.last_commit_hash); - let data_hash_enc = encode_hash(self.data_hash); - let validator_hash_enc = encode_hash(self.validators_hash); - let next_validator_hash_enc = encode_hash(self.next_validators_hash); - let consensus_hash_enc = encode_hash(self.consensus_hash); - let app_hash_enc = encode_hash(self.app_hash); - let last_result_hash_enc = encode_hash(self.last_results_hash); - let evidence_hash_enc = encode_hash(self.evidence_hash); - let proposer_address_bytes = self.proposer_address.as_bytes(); - let proposer_address_enc = bytes_enc(&proposer_address_bytes); - - let mut byteslices: Vec<&[u8]> = vec![]; - byteslices.push(version_enc.as_slice()); - byteslices.push(chain_id_enc.as_slice()); - byteslices.push(height_enc.as_slice()); - byteslices.push(time_enc.as_slice()); - byteslices.push(num_tx_enc.as_slice()); - byteslices.push(total_tx_enc.as_slice()); - byteslices.push(last_block_id_enc.as_slice()); - byteslices.push(last_commit_hash_enc.as_slice()); - byteslices.push(data_hash_enc.as_slice()); - byteslices.push(validator_hash_enc.as_slice()); - byteslices.push(next_validator_hash_enc.as_slice()); - byteslices.push(consensus_hash_enc.as_slice()); - byteslices.push(app_hash_enc.as_slice()); - byteslices.push(last_result_hash_enc.as_slice()); - byteslices.push(evidence_hash_enc.as_slice()); - byteslices.push(proposer_address_enc.as_slice()); - - Hash::Sha256(simple_hash_from_byte_slices(byteslices.as_slice())) + + let mut byteslices: Vec> = Vec::with_capacity(16); + byteslices.push(AminoMessage::bytes_vec(&ConsensusVersion::from( + &self.version, + ))); + byteslices.push(bytes_enc(self.chain_id.as_bytes())); + byteslices.push(encode_varint(self.height.value())); + byteslices.push(AminoMessage::bytes_vec(&TimeMsg::from(self.time))); + byteslices.push(encode_varint(self.num_txs)); + byteslices.push(encode_varint(self.total_txs)); + byteslices.push( + self.last_block_id + .as_ref() + .map_or(vec![], |id| AminoMessage::bytes_vec(&BlockId::from(id))), + ); + byteslices.push(self.last_commit_hash.as_ref().map_or(vec![], encode_hash)); + byteslices.push(self.data_hash.as_ref().map_or(vec![], encode_hash)); + byteslices.push(encode_hash(&self.validators_hash)); + byteslices.push(encode_hash(&self.next_validators_hash)); + byteslices.push(encode_hash(&self.consensus_hash)); + byteslices.push(self.app_hash.as_ref().map_or(vec![], encode_hash)); + byteslices.push(self.last_results_hash.as_ref().map_or(vec![], encode_hash)); + byteslices.push(self.evidence_hash.as_ref().map_or(vec![], encode_hash)); + byteslices.push(bytes_enc(self.proposer_address.as_bytes())); + + Hash::Sha256(simple_hash_from_byte_slices(byteslices)) } } @@ -166,10 +153,10 @@ pub struct Version { } fn bytes_enc(bytes: &[u8]) -> Vec { - let mut chain_id_enc = vec![]; + let mut res = vec![]; prost_amino::encode_length_delimiter(bytes.len(), &mut chain_id_enc).unwrap(); - chain_id_enc.append(&mut bytes.to_vec()); - chain_id_enc + res.append(&mut bytes.to_vec()); + res } fn encode_hash(hash: Hash) -> Vec { diff --git a/tendermint/src/block/height.rs b/tendermint/src/block/height.rs index 66c9ea1da..1934af69e 100644 --- a/tendermint/src/block/height.rs +++ b/tendermint/src/block/height.rs @@ -8,7 +8,7 @@ use std::{ /// Block height for a particular chain (i.e. number of blocks created since /// the chain began) -/// +/// /// A height of 0 represents a chain which has not yet produced a block. #[derive(Copy, Clone, Eq, Hash, PartialEq, PartialOrd, Ord)] pub struct Height(pub u64); diff --git a/tendermint/src/block/id.rs b/tendermint/src/block/id.rs index b0108ecbe..0ac41e4bc 100644 --- a/tendermint/src/block/id.rs +++ b/tendermint/src/block/id.rs @@ -84,7 +84,7 @@ mod tests { fn parses_hex_strings() { let id = Id::from_str(EXAMPLE_SHA256_ID).unwrap(); assert_eq!( - id.hash.as_bytes().unwrap(), + id.hash.as_bytes(), b"\x26\xC0\xA4\x1F\x32\x43\xC6\xBC\xD7\xAD\x2D\xFF\x8A\x8D\x83\xA7\ \x1D\x29\xD3\x07\xB5\x32\x6C\x22\x7F\x73\x4A\x1A\x51\x2F\xE4\x7D" .as_ref() diff --git a/tendermint/src/genesis.rs b/tendermint/src/genesis.rs index dfb7a16d6..5fb785d90 100644 --- a/tendermint/src/genesis.rs +++ b/tendermint/src/genesis.rs @@ -1,6 +1,6 @@ //! Genesis data -use crate::{chain, consensus, validator, Hash, Time}; +use crate::{chain, consensus, serializers, validator, Hash, Time}; use serde::{Deserialize, Serialize}; /// Genesis data @@ -19,7 +19,8 @@ pub struct Genesis { pub validators: Vec, /// App hash - pub app_hash: Hash, + #[serde(deserialize_with = "serializers::parse_non_empty_hash")] + pub app_hash: Option, /// App state pub app_state: AppState, diff --git a/tendermint/src/hash.rs b/tendermint/src/hash.rs index df37aa3e4..bc9ba0bff 100644 --- a/tendermint/src/hash.rs +++ b/tendermint/src/hash.rs @@ -23,9 +23,6 @@ pub enum Algorithm { pub enum Hash { /// SHA-256 hashes Sha256([u8; SHA256_HASH_SIZE]), - - /// NULL (i.e. all-zero) hashes - Null, } impl Default for Hash { @@ -63,18 +60,16 @@ impl Hash { } /// Return the digest algorithm used to produce this hash - pub fn algorithm(self) -> Option { + pub fn algorithm(self) -> Algorithm { match self { - Hash::Sha256(_) => Some(Algorithm::Sha256), - Hash::Null => None, + Hash::Sha256(_) => Algorithm::Sha256, } } /// Borrow the `Hash` as a byte slice - pub fn as_bytes(&self) -> Option<&[u8]> { + pub fn as_bytes(&self) -> &[u8] { match self { - Hash::Sha256(ref h) => Some(h.as_ref()), - Hash::Null => None, + Hash::Sha256(ref h) => h.as_ref(), } } } @@ -83,7 +78,6 @@ impl Debug for Hash { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Hash::Sha256(_) => write!(f, "Hash::Sha256({})", self), - Hash::Null => write!(f, "Hash::Null"), } } } @@ -92,7 +86,6 @@ impl Display for Hash { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let hex = match self { Hash::Sha256(ref h) => Hex::upper_case().encode_to_string(h).unwrap(), - Hash::Null => "".to_owned(), }; write!(f, "{}", hex) @@ -112,7 +105,7 @@ impl<'de> Deserialize<'de> for Hash { let hex = String::deserialize(deserializer)?; if hex.is_empty() { - Ok(Hash::Null) + Err(D::Error::custom("empty hash")) } else { Ok(Self::from_str(&hex).map_err(|e| D::Error::custom(format!("{}", e)))?) } diff --git a/tendermint/src/lite/types.rs b/tendermint/src/lite/types.rs index ddf5534d3..40c81f7fe 100644 --- a/tendermint/src/lite/types.rs +++ b/tendermint/src/lite/types.rs @@ -6,6 +6,7 @@ use crate::block::Height; use crate::Hash; #[allow(clippy::all)] use crate::Time; +use failure::_core::fmt::Debug; /// TrustedState stores the latest state trusted by a lite client, /// including the last header and the validator set to use to verify @@ -19,11 +20,21 @@ where pub validators: V, // height H } +/// SignedHeader bundles a Header and a Commit for convenience. +pub trait SignedHeader +where + H: Header, + C: Commit, +{ + fn header(&self) -> H; + fn commit(&self) -> C; +} + /// Header contains meta data about the block - /// the height, the time, the hash of the validator set /// that should sign this header, and the hash of the validator /// set that should sign the next header. -pub trait Header { +pub trait Header: Debug { fn height(&self) -> Height; fn bft_time(&self) -> Time; fn validators_hash(&self) -> Hash; @@ -70,7 +81,7 @@ pub trait Validator { /// Commit is proof a Header is valid. /// It has an underlying Vote type with the relevant vote data /// for verification. -pub trait Commit { +pub trait Commit: Debug { type Vote: Vote; /// Hash of the header this commit is for. @@ -102,6 +113,20 @@ pub trait Vote { fn signature(&self) -> &[u8]; } +/// TrustLevel defines what fraction of the total voting power of a known +/// and trusted validator set is sufficient for a commit to be +/// accepted going forward. +/// The default implementation returns true, iff at least a third of the trusted +/// voting power signed (in other words at least one honest validator signed). +/// Some clients might require more than +1/3 and can implement their own +/// TrustLevel which can be passed into all relevant methods. +pub trait TrustLevel { + fn is_enough_power(&self, signed_voting_power: u64, total_voting_power: u64) -> bool { + signed_voting_power * 3 > total_voting_power + } +} + +#[derive(Debug)] pub enum Error { Expired, NonSequentialHeight, diff --git a/tendermint/src/lite/verifier.rs b/tendermint/src/lite/verifier.rs index 4579a68cd..becd9dc8f 100644 --- a/tendermint/src/lite/verifier.rs +++ b/tendermint/src/lite/verifier.rs @@ -1,5 +1,8 @@ #[allow(clippy::all)] -use crate::lite::{Commit, Error, Header, Validator, ValidatorSet, ValidatorSetLookup, Vote}; +use crate::lite::{ + Commit, Error, Header, SignedHeader, TrustLevel, Validator, ValidatorSet, ValidatorSetLookup, + Vote, +}; use crate::Time; use std::time::Duration; @@ -8,7 +11,7 @@ use std::time::Duration; /// NOTE: this doesn't belong here. It should be called by something that handles whether to trust /// a verified commit. Verified here is really just about the header/commit/validators. Time is an /// external concern :) -fn expired(last_header: &H, trusting_period: Duration, now: Time) -> Result<(), Error> +pub fn expired(last_header: &H, trusting_period: Duration, now: Time) -> Result<(), Error> where H: Header, { @@ -34,6 +37,37 @@ where Ok(()) } +// TODO: documentation! +pub fn verify( + sh1: S, + h1_next_vals: V, + sh2: S, + h2_vals: V, + trust_level: L, +) -> Result<(), Error> +where + S: SignedHeader, + H: Header, + V: ValidatorSetLookup, + C: Commit, + L: TrustLevel, +{ + let h1 = sh1.header(); + let h2 = sh2.header(); + let commit = &sh2.commit(); + if h2.height() == h1.height().increment() { + if h2.validators_hash() != h1_next_vals.hash() { + return Err(Error::InvalidNextValidatorSet); + } + } else { + // ensure that +1/3 of last trusted validators signed correctly + if let Err(e) = verify_commit_trusting(&h1_next_vals, commit, trust_level) { + return Err(e); + } + } + verify_commit_full(&h2_vals, commit) +} + // Validate the validators and commit against the header. fn validate_vals_and_commit(header: H, commit: &C, vals: &V) -> Result<(), Error> where @@ -55,7 +89,7 @@ where } /// Verify the commit is valid from the given validators for the header. -pub fn verify(header: H, commit: C, validators: V) -> Result<(), Error> +fn verify_header_and_commit(header: H, commit: C, validators: V) -> Result<(), Error> where H: Header, V: ValidatorSet, @@ -66,38 +100,40 @@ where } // ensure that +2/3 validators signed correctly - verify_commit_full(&validators, commit) + verify_commit_full(&validators, &commit) } /// Verify the commit is trusted according to the last validators and is valid /// from the current validators for the header. -pub fn verify_trusting( +pub fn verify_trusting( header: H, commit: C, last_validators: V, validators: V, + trust_level: L, ) -> Result<(), Error> where H: Header, V: ValidatorSetLookup, C: Commit, + L: TrustLevel, { // NOTE it might be more prudent to do the cheap validations first // before we even call verify_commit_trusting, but not doing that // makes the code cleaner and allows us to just call verify directly. // ensure that +1/3 of last trusted validators signed correctly - if let Err(e) = verify_commit_trusting(&last_validators, &commit) { + if let Err(e) = verify_commit_trusting(&last_validators, &commit, trust_level) { return Err(e); } // perform same verification as in sequential case - verify(header, commit, validators) + verify_header_and_commit(header, commit, validators) } /// Verify that +2/3 of the correct validator set signed this commit. /// NOTE: these validators are expected to be the correct validators for the commit. -fn verify_commit_full(vals: &V, commit: C) -> Result<(), Error> +fn verify_commit_full(vals: &V, commit: &C) -> Result<(), Error> where V: ValidatorSet, C: Commit, @@ -144,14 +180,17 @@ where /// Verify that +1/3 of the given validator set signed this commit. /// NOTE the given validators do not necessarily correspond to the validator set for this commit, -/// but there may be some intersection. -/// TODO: this should take a "trust_level" param to allow clients to require more -/// than +1/3. How should this be defined semantically? Probably shouldn't be a float, maybe -/// and enum of options, eg. 1/3, 1/2, 2/3, 1 ? -fn verify_commit_trusting(validators: &V, commit: &C) -> Result<(), Error> +/// but there may be some intersection. The trust_level parameter allows clients to require more +/// than +1/3 by implementing the TrustLevel trait accordingly. +pub fn verify_commit_trusting( + validators: &V, + commit: &C, + trust_level: L, +) -> Result<(), Error> where V: ValidatorSetLookup, C: Commit, + L: TrustLevel, { let total_power = validators.total_power(); let mut signed_power: u64 = 0; @@ -185,10 +224,9 @@ where signed_power += val.power(); } - // check the signers account for +1/3 of the voting power - // TODO: incorporate "trust_level" in here to possibly increase - // beyond 1/3. - if signed_power * 3 <= total_power { + // check the signers account for +1/3 of the voting power (or more if the + // trust_level requires so) + if !trust_level.is_enough_power(signed_power, total_power) { return Err(Error::InsufficientVotingPower); } diff --git a/tendermint/src/rpc/client.rs b/tendermint/src/rpc/client.rs index b4db14bec..82b30ce9e 100644 --- a/tendermint/src/rpc/client.rs +++ b/tendermint/src/rpc/client.rs @@ -122,6 +122,14 @@ impl Client { self.perform(commit::Request::new(height.into())) } + /// `/validators`: get validators a given height. + pub fn validators(&self, height: H) -> Result + where + H: Into, + { + self.perform(validators::Request::new(height.into())) + } + /// `/commit`: get the latest block commit pub fn latest_commit(&self) -> Result { self.perform(commit::Request::default()) diff --git a/tendermint/src/rpc/endpoint/abci_info.rs b/tendermint/src/rpc/endpoint/abci_info.rs index c3f5b068d..b88be5fb8 100644 --- a/tendermint/src/rpc/endpoint/abci_info.rs +++ b/tendermint/src/rpc/endpoint/abci_info.rs @@ -61,8 +61,7 @@ pub(crate) fn serialize_app_hash(hash: &Hash, serializer: S) -> Result for SignedHeader { + fn header(&self) -> block::Header { + self.clone().header + } + + fn commit(&self) -> Self { + self.clone() + } +} + +impl lite::Commit for SignedHeader { + type Vote = SignedVote; + fn header_hash(&self) -> Hash { + self.commit.block_id.hash + } + fn into_vec(&self) -> Vec> { + let chain_id = self.header.chain_id.to_string(); + let mut votes = self.commit.precommits.clone().into_vec(); + votes + .drain(..) + .map(|opt| { + opt.map(|vote| { + SignedVote::new( + (&vote).into(), + &chain_id, + vote.validator_address, + vote.signature, + ) + }) + }) + .collect() + } +} diff --git a/tendermint/src/rpc/endpoint/status.rs b/tendermint/src/rpc/endpoint/status.rs index 336d34429..7f534bbaf 100644 --- a/tendermint/src/rpc/endpoint/status.rs +++ b/tendermint/src/rpc/endpoint/status.rs @@ -1,6 +1,6 @@ //! `/status` endpoint JSONRPC wrapper -use crate::{block, node, rpc, validator, Hash, Time}; +use crate::{block, node, rpc, serializers, validator, Hash, Time}; use serde::{Deserialize, Serialize}; /// Node status request @@ -34,10 +34,12 @@ impl rpc::Response for Response {} #[derive(Clone, Debug, Deserialize, Serialize)] pub struct SyncInfo { /// Latest block hash - pub latest_block_hash: Hash, + #[serde(deserialize_with = "serializers::parse_non_empty_hash")] + pub latest_block_hash: Option, /// Latest app hash - pub latest_app_hash: Hash, + #[serde(deserialize_with = "serializers::parse_non_empty_hash")] + pub latest_app_hash: Option, /// Latest block height pub latest_block_height: block::Height, diff --git a/tendermint/src/serializers.rs b/tendermint/src/serializers.rs index eb3126a3a..307847a8a 100644 --- a/tendermint/src/serializers.rs +++ b/tendermint/src/serializers.rs @@ -1,6 +1,8 @@ //! Serde serializers +use crate::Hash; use serde::{de::Error as _, Deserialize, Deserializer, Serialize, Serializer}; +use std::str::FromStr; use std::time::Duration; use subtle_encoding::{base64, hex}; @@ -63,62 +65,78 @@ where format!("{}", duration.as_nanos()).serialize(serializer) } +pub(crate) fn parse_non_empty_hash<'de, D>(deserializer: D) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + let o: Option = Option::deserialize(deserializer)?; + match o.filter(|s| !s.is_empty()) { + None => Ok(None), + Some(s) => Ok(Some( + Hash::from_str(&s).map_err(|err| D::Error::custom(format!("{}", err)))?, + )), + } +} + pub(crate) fn serialize_hex(bytes: T, serializer: S) -> Result - where - S: Serializer, - T: AsRef<[u8]> +where + S: Serializer, + T: AsRef<[u8]>, { use serde::ser::Error; let hex_bytes = hex::encode(bytes.as_ref()); - let hex_string = String::from_utf8(hex_bytes) - .map_err(Error::custom)?; + let hex_string = String::from_utf8(hex_bytes).map_err(Error::custom)?; serializer.serialize_str(&hex_string) } pub(crate) fn parse_hex<'de, D>(deserializer: D) -> Result, D::Error> - where D: Deserializer<'de> +where + D: Deserializer<'de>, { use serde::de::Error; let string = String::deserialize(deserializer)?; - hex::decode(&string) - .map_err(Error::custom) + hex::decode(&string).map_err(Error::custom) } pub(crate) fn serialize_base64(bytes: T, serializer: S) -> Result - where - S: Serializer, - T: AsRef<[u8]> +where + S: Serializer, + T: AsRef<[u8]>, { use serde::ser::Error; let base64_bytes = base64::encode(bytes.as_ref()); - let base64_string = String::from_utf8(base64_bytes) - .map_err(Error::custom)?; + let base64_string = String::from_utf8(base64_bytes).map_err(Error::custom)?; serializer.serialize_str(&base64_string) } pub(crate) fn parse_base64<'de, D>(deserializer: D) -> Result, D::Error> - where D: Deserializer<'de> +where + D: Deserializer<'de>, { use serde::de::Error; let string = String::deserialize(deserializer)?; - base64::decode(&string) - .map_err(Error::custom) + base64::decode(&string).map_err(Error::custom) } -pub(crate) fn serialize_option_base64(maybe_bytes: &Option>, serializer: S) -> Result - where S: Serializer +pub(crate) fn serialize_option_base64( + maybe_bytes: &Option>, + serializer: S, +) -> Result +where + S: Serializer, { #[derive(Serialize)] struct Wrapper<'a>(#[serde(serialize_with = "serialize_base64")] &'a Vec); match maybe_bytes { Some(bytes) => Wrapper(bytes).serialize(serializer), - None => maybe_bytes.serialize(serializer) + None => maybe_bytes.serialize(serializer), } } pub(crate) fn parse_option_base64<'de, D>(deserializer: D) -> Result>, D::Error> - where D: Deserializer<'de> +where + D: Deserializer<'de>, { #[derive(Deserialize)] struct Wrapper(#[serde(deserialize_with = "parse_base64")] Vec); diff --git a/tendermint/src/validator.rs b/tendermint/src/validator.rs index 59441fa0c..5add218af 100644 --- a/tendermint/src/validator.rs +++ b/tendermint/src/validator.rs @@ -1,7 +1,7 @@ //! Tendermint validators -use crate::validator::signatory::{Signature, Verifier}; -use crate::{account, lite, merkle, vote, Hash, PublicKey}; +use crate::amino_types::message::AminoMessage; +use crate::{account, merkle, vote, PublicKey}; use prost::Message; use serde::{de::Error as _, Deserialize, Deserializer, Serialize, Serializer}; use signatory; @@ -11,8 +11,9 @@ use signatory_dalek::Ed25519Verifier; use subtle_encoding::base64; /// Validator set contains a vector of validators -#[derive(Debug)] +#[derive(Clone, Debug, Deserialize, Serialize)] pub struct Set { + #[serde(deserialize_with = "parse_vals")] validators: Vec, } @@ -23,30 +24,19 @@ impl Set { vals.sort_by(|v1, v2| v1.address.partial_cmp(&v2.address).unwrap()); Set { validators: vals } } - - /// Compute the Merkle root of the validator set - pub fn hash(self) -> merkle::Hash { - let validator_bytes: Vec> = self - .validators - .into_iter() - .map(|x| x.hash_bytes()) - .collect(); - merkle::simple_hash_from_byte_vectors(validator_bytes) - } } impl lite::ValidatorSet for Set { type Validator = Info; + /// Compute the Merkle root of the validator set fn hash(&self) -> Hash { - // TODO almost the same as above's pub fn hash(self) -> merkle::Hash - let validator_bytes: &Vec> = - &self.validators.iter().map(|x| x.hash_bytes()).collect(); - let validator_byteslices: Vec<&[u8]> = - (&validator_bytes).iter().map(|x| x.as_slice()).collect(); - Hash::Sha256(merkle::simple_hash_from_byte_slices( - validator_byteslices.as_slice(), - )) + let validator_bytes: Vec> = self + .validators + .iter() + .map(|validator| validator.hash_bytes()) + .collect(); + Hash::Sha256(merkle::simple_hash_from_byte_slices(validator_bytes)) } fn total_power(&self) -> u64 { @@ -60,8 +50,26 @@ impl lite::ValidatorSet for Set { } } +impl lite::ValidatorSetLookup for Set { + fn validator(&self, val_id: account::Id) -> Option { + self.validators + .iter() + .cloned() + .find(|val| val.address == val_id) + } +} + +// TODO: maybe add a type (with an Option> field) instead +// for light client integration tests only +fn parse_vals<'de, D>(d: D) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + Deserialize::deserialize(d).map(|x: Option<_>| x.unwrap_or_default()) +} + /// Validator information -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Serialize)] pub struct Info { /// Validator account address pub address: account::Id, @@ -142,9 +150,7 @@ impl From<&Info> for InfoHashable { // pubkey and voting power, so it includes the pubkey's amino prefix. impl Info { fn hash_bytes(&self) -> Vec { - let mut bytes: Vec = Vec::new(); - InfoHashable::from(self).encode(&mut bytes).unwrap(); - bytes + AminoMessage::bytes_vec(&InfoHashable::from(self)) } } @@ -223,6 +229,7 @@ where #[cfg(test)] mod tests { use super::*; + use crate::lite::{ValidatorSet, ValidatorSetLookup}; use subtle_encoding::hex; // make a validator from a hex ed25519 pubkey and a voting power @@ -251,6 +258,21 @@ mod tests { let val_set = Set::new(vec![v1, v2, v3]); let hash = val_set.hash(); - assert_eq!(hash_expect, &hash); + assert_eq!(hash_expect, &hash.as_bytes().to_vec()); + + let not_in_set = make_validator( + "EB6B732C5BD86B5FA3F3BC3DB688DA0ED182A7411F81C2D405506B298FC19E52", + 1, + ); + assert_eq!(val_set.validator(v1.address).unwrap(), v1); + assert_eq!(val_set.validator(v2.address).unwrap(), v2); + assert_eq!(val_set.validator(v3.address).unwrap(), v3); + assert_eq!(val_set.validator(not_in_set.address), None); + assert_eq!( + val_set.total_power(), + 148_151_478_422_287_875 + 158_095_448_483_785_107 + 770_561_664_770_006_272 + ); + + assert_eq!(val_set.into_vec(), vec![v1, v2, v3]); } } diff --git a/tendermint/src/vote.rs b/tendermint/src/vote.rs index 7efc0814b..4ad4dce6b 100644 --- a/tendermint/src/vote.rs +++ b/tendermint/src/vote.rs @@ -3,8 +3,8 @@ mod power; pub use self::power::Power; -use crate::amino_types::vote::CanonicalVote; -use crate::prost::Message; +use crate::amino_types; +use crate::amino_types::message::AminoMessage; use crate::{account, block, lite, Signature, Time}; use { crate::serializers, @@ -69,10 +69,10 @@ impl Vote { } } -/// SignedVote is the union of a canoncialized vote, the signature on +/// SignedVote is the union of a canonicalized vote, the signature on /// the sign bytes of that vote and the id of the validator who signed it. pub struct SignedVote { - vote: CanonicalVote, + vote: amino_types::vote::CanonicalVote, validator_address: account::Id, signature: Signature, } @@ -81,12 +81,14 @@ impl SignedVote { /// Create new SignedVote from provided canonicalized vote, validator id, and /// the signature of that validator. pub fn new( - vote: CanonicalVote, + vote: amino_types::vote::Vote, + chain_id: &str, validator_address: account::Id, signature: Signature, ) -> SignedVote { + let canonical_vote = amino_types::vote::CanonicalVote::new(vote, chain_id); SignedVote { - vote, + vote: canonical_vote, signature, validator_address, } @@ -99,9 +101,7 @@ impl lite::Vote for SignedVote { } fn sign_bytes(&self) -> Vec { - let mut sign_bytes = vec![]; - self.vote.encode(&mut sign_bytes).unwrap(); - sign_bytes + self.vote.bytes_vec_length_delimited() } fn signature(&self) -> &[u8] { match &self.signature { diff --git a/tendermint/tests/integration.rs b/tendermint/tests/integration.rs index 40cc899df..4e8fb206a 100644 --- a/tendermint/tests/integration.rs +++ b/tendermint/tests/integration.rs @@ -97,9 +97,6 @@ mod rpc { let status = localhost_rpc_client().status().unwrap(); // For lack of better things to test - assert_eq!( - status.validator_info.voting_power.value(), - 10 - ); + assert_eq!(status.validator_info.voting_power.value(), 10); } } diff --git a/tendermint/tests/lite.rs b/tendermint/tests/lite.rs new file mode 100644 index 000000000..23368ae6a --- /dev/null +++ b/tendermint/tests/lite.rs @@ -0,0 +1,136 @@ +use serde::{de::Error as _, Deserialize, Deserializer, Serialize}; +use serde_json; +use std::{fs, path::PathBuf}; +use tendermint::validator::Set; +use tendermint::{lite, rpc::endpoint::commit::SignedHeader, validator, Time}; + +#[derive(Serialize, Deserialize, Clone, Debug)] +struct TestSuite { + signed_header: SignedHeader, + last_validators: Vec, + validators: Vec, +} + +#[derive(Clone, Debug)] +struct Duration(u64); + +#[derive(Deserialize, Clone, Debug)] +struct TestCases { + test_cases: Vec, +} + +#[derive(Deserialize, Clone, Debug)] +struct TestCase { + test_name: String, + description: String, + initial: Initial, + input: Vec, + expected_output: Option, +} + +#[derive(Deserialize, Clone, Debug)] +struct Initial { + signed_header: SignedHeader, + next_validator_set: Set, + trusting_period: Duration, + now: Time, +} + +#[derive(Serialize, Deserialize, Clone, Debug)] +struct LiteBlock { + signed_header: SignedHeader, + validator_set: Set, + next_validator_set: Set, +} + +pub struct DefaultTrustLevel {} +impl lite::TrustLevel for DefaultTrustLevel {} + +fn read_json_fixture(name: &str) -> String { + fs::read_to_string(PathBuf::from("./tests/support/lite/").join(name.to_owned() + ".json")) + .unwrap() +} + +#[test] +fn val_set_tests_verify() { + let cases: TestCases = serde_json::from_str(&read_json_fixture("val_set_tests")).unwrap(); + run_test_cases(cases); +} + +#[test] +fn commit_tests_verify() { + let cases: TestCases = serde_json::from_str(&read_json_fixture("commit_tests")).unwrap(); + run_test_cases(cases); +} + +#[test] +fn header_tests_verify() { + let cases: TestCases = serde_json::from_str(&read_json_fixture("header_tests")).unwrap(); + run_test_cases(cases); +} + +fn run_test_cases(cases: TestCases) { + for (_, tc) in cases.test_cases.iter().enumerate() { + let mut trusted_signed_header = &tc.initial.signed_header; + let mut trusted_next_vals = tc.initial.clone().next_validator_set; + let trusting_period: std::time::Duration = tc.initial.clone().trusting_period.into(); + let now = tc.initial.now; + let expexts_err = match &tc.expected_output { + Some(eo) => eo.eq("error"), + None => false, + }; + + for (_, input) in tc.input.iter().enumerate() { + println!("{}", tc.description); + if let Err(e) = lite::expired(&trusted_signed_header.header, trusting_period, now) { + println!("Expired: {:?}", e); + assert_eq!(expexts_err, true); + } + let new_signed_header = &input.signed_header; + let new_vals = input.validator_set.clone(); + let res = &lite::verify( + trusted_signed_header.clone(), + trusted_next_vals.clone(), + new_signed_header.clone(), + new_vals, + DefaultTrustLevel {}, + ); + assert_eq!(res.is_err(), expexts_err); + if !res.is_err() { + trusted_signed_header = new_signed_header; + trusted_next_vals = input.next_validator_set.clone(); + } else { + println!("Got error: {:?}", res.as_ref().err()); + } + } + } +} + +#[test] +fn verify_trusting_with_one_validator_no_changes() { + let suite: TestSuite = serde_json::from_str(&read_json_fixture("basic")).unwrap(); + lite::verify_trusting( + suite.signed_header.header.clone(), + suite.signed_header, + validator::Set::new(suite.last_validators), + validator::Set::new(suite.validators), + DefaultTrustLevel {}, + ) + .expect("verify_trusting failed"); +} + +impl<'de> Deserialize<'de> for Duration { + fn deserialize>(deserializer: D) -> Result { + Ok(Duration( + String::deserialize(deserializer)? + .parse() + .map_err(|e| D::Error::custom(format!("{}", e)))?, + )) + } +} + +impl From for std::time::Duration { + fn from(d: Duration) -> std::time::Duration { + std::time::Duration::from_nanos(d.0) + } +} diff --git a/tendermint/tests/rpc.rs b/tendermint/tests/rpc.rs index 6b533d5b2..59c1791ed 100644 --- a/tendermint/tests/rpc.rs +++ b/tendermint/tests/rpc.rs @@ -51,9 +51,30 @@ mod endpoints { assert_eq!(data.iter().len(), 2); assert_eq!(evidence.iter().len(), 0); - assert_eq!(last_commit.precommits.len(), 65); + assert_eq!(last_commit.unwrap().precommits.len(), 65); } + #[test] + fn first_block() { + let response = + endpoint::block::Response::from_json(&read_json_fixture("first_block")).unwrap(); + + let tendermint::Block { + header, + data, + evidence, + last_commit, + } = response.block; + + assert_eq!(header.version.block, 10); + assert_eq!(header.chain_id.as_str(), EXAMPLE_CHAIN); + assert_eq!(header.height.value(), 1); + assert!(header.last_block_id.is_none()); + + assert_eq!(data.iter().len(), 0); + assert_eq!(evidence.iter().len(), 0); + assert!(last_commit.is_none()); + } #[test] fn block_results() { let response = diff --git a/tendermint/tests/support/lite/basic.json b/tendermint/tests/support/lite/basic.json new file mode 100644 index 000000000..eb7c013ab --- /dev/null +++ b/tendermint/tests/support/lite/basic.json @@ -0,0 +1,78 @@ +{ + "signed_header": { + "header": { + "version": { + "block": "10", + "app": "0" + }, + "chain_id": "test-chain-y3m1e6-AB", + "height": "1", + "time": "2019-11-19T07:56:45.46738Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "1F0F3E080DCE3253C88394F2CE479C074C5A25FE94A6C8560C76B6F2281BD685", + "next_validators_hash": "1F0F3E080DCE3253C88394F2CE479C074C5A25FE94A6C8560C76B6F2281BD685", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "2E419E5A3CDD1F718EA956E9AF91E57FD4FD5D8C8DDEA43FB3D8728E8E41852D", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "30B3C78C25BB72796960B63AA06CA7ED5F648951" + }, + "commit": { + "block_id": { + "hash": "0D06FAEB490248DC504CDD2B4318BEFCB2FD06F866BACAE9864CC5B7373D2A82", + "parts": { + "total": "1", + "hash": "C74C19586564ECC8A348BAE68D505230618B9FABB291549FFD59A6322E961865" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "0", + "block_id": { + "hash": "0D06FAEB490248DC504CDD2B4318BEFCB2FD06F866BACAE9864CC5B7373D2A82", + "parts": { + "total": "1", + "hash": "C74C19586564ECC8A348BAE68D505230618B9FABB291549FFD59A6322E961865" + } + }, + "timestamp": "2019-11-19T07:57:02.408782Z", + "validator_address": "30B3C78C25BB72796960B63AA06CA7ED5F648951", + "validator_index": "0", + "signature": "C/AVaOIcMyXozkyMiWFAB2/hHZeBKCZ97W+ivbJtBlgwYxyVRZeQQhBF+8uxr0vvpbKDEKUIxaq8Zng1nN5LAA==" + } + ] + } + }, + "last_validators": [ + { + "address": "30B3C78C25BB72796960B63AA06CA7ED5F648951", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZncnqXOpTbsTYZqkbdzHne9y1h8Z1gp3Xlayfi4QzW0=" + }, + "voting_power": "12500000000" + } + ], + "validators": [ + { + "address": "30B3C78C25BB72796960B63AA06CA7ED5F648951", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZncnqXOpTbsTYZqkbdzHne9y1h8Z1gp3Xlayfi4QzW0=" + }, + "voting_power": "12500000000" + } + ] +} diff --git a/tendermint/tests/support/lite/commit_tests.json b/tendermint/tests/support/lite/commit_tests.json new file mode 100644 index 000000000..1ddb3855e --- /dev/null +++ b/tendermint/tests/support/lite/commit_tests.json @@ -0,0 +1,842 @@ +{ + "test_cases": [ + { + "test_name": "verify", + "description": "Case: one lite block, wrong signature in vote, with error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "next_validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "y6Yd/g9hBzatGEm8WCVXgOks5rmnOlg2fsin2comsb7Y2oVM0/2sCucSPapci7VXSrUNJHC3ruE7onIylrFUDA==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "last_commit_hash": "24C1BB73D491FE82B520A23DD41638A1AC32A3093F69763E2DA95E04EBC38F98", + "data_hash": "", + "validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "next_validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "BF7D88429612E4C5B2F0F9AFBC12C70C46C9E52702300D1EA46E5D5A18E25354", + "parts": { + "total": "1", + "hash": "5DBD2102F69747A33A8ABFABA28EADD8386F6CE683765DCC8AF291C5E763660B" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "BF7D88429612E4C5B2F0F9AFBC12C70C46C9E52702300D1EA46E5D5A18E25354", + "parts": { + "total": "1", + "hash": "5DBD2102F69747A33A8ABFABA28EADD8386F6CE683765DCC8AF291C5E763660B" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "RwUa2g5j35fTkTQuymb1jFQUsXJdOsRY3a98WEpqmgpZVExAkCQLD1ggdr+10rBDXr9ATo1y/REP3960I9usBA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + } + } + ], + "expected_output": "error" + }, + { + "test_name": "verify", + "description": "Case: one lite block, one-third vals don't sign, expects error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "next_validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "S9dUzrQpkUq2NNDxOT8N+h2ueiTCORiVX6EdyiJygqyRvtT8wpYMVCmjEaAsu/09XXrPgMWsqXdKEK58cAKtCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "n7bsnvPH/5nR6cxOcJ79ZkrLU8nLuEp/IGT8V1nlAp+UlmRi9BT4E1+a1ffVWZVTBOcgUXIwiPeHfZ1c25tMAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "2dxaCVMHK08x4zMCO9cxTeqZocICYT+6UMjexTYqY0m9vEJ2b+e2Kjsvl3rqCNKWXHdVEzPR94y4VKZRjw4lDQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "last_commit_hash": "015F354818425B25F32783588C49A0DCB32E83D185BB6E8FE33FF375CB6CBB78", + "data_hash": "", + "validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "next_validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "2C492F43862B9769D98C71BC04D7959B68322979F5F08F4CF6C1B0856666C7D6", + "parts": { + "total": "1", + "hash": "D9B34B03402038950B431713B59F49E7FA8E5E5CE7318EE0B1C9A274216F9506" + } + }, + "precommits": [ + null, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "2C492F43862B9769D98C71BC04D7959B68322979F5F08F4CF6C1B0856666C7D6", + "parts": { + "total": "1", + "hash": "D9B34B03402038950B431713B59F49E7FA8E5E5CE7318EE0B1C9A274216F9506" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "EnYo5asGhxSEUHw1uA2xu8G+Eh9cwOr/yWpJG0qqbWK2YlZN+AGLpLCnzOkhMBVDGKG7lo9E0w6gbW4zYsvyAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "2C492F43862B9769D98C71BC04D7959B68322979F5F08F4CF6C1B0856666C7D6", + "parts": { + "total": "1", + "hash": "D9B34B03402038950B431713B59F49E7FA8E5E5CE7318EE0B1C9A274216F9506" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "Ek6PUDeVxD/9/MnL4+U8381xn2T2vR/+XHSRyf2xAvYflA5Tw28pBMho63EMi0PJ3Es914YY8NP86/rDo11gBw==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + } + } + ], + "expected_output": "error" + }, + { + "test_name": "verify", + "description": "Case: one lite block, less than one-third vals don't sign, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "tG25DxraSiCWfYfc3wMlzMvGt03qsS+5jSNf7IORA9n4Vht0HREA8ML2WD6+GUKa02cf1pZaIjwjEFGJbPZ3Aw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "FubQqmcBn211oVuIfmV4FAq0mCJl7sKag7pNRFCYi6p2aBoJjMtcc9bp4vD6umwc3jiL6rSb4LzVeOheNYCgAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "ydCKUU73yswGUFRy7/kgndvvPXBnLpz+MR8RYB8yF1nC4BlhqKuqglQsFJ1McwxoVyooOeSGk94b0+GozgX4CA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "VHeRphGJQi2xtj8YBKuTHsw/9f4VYSceuf8eiN3U0QfCdAeZtCMkhpYh38gyfMxR3sKbf0z46iv0Gqc46cL9AQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "last_commit_hash": "9303957C4806DBD2F1C7CFBF1970E552F96C154566E189EEAE8D3A0DF09F5697", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "4682B2DB28E420C5DEB72AA12B14EC91B7687A0DB0D16CC83DF541B1F6B1DBD5", + "parts": { + "total": "1", + "hash": "D8DED9A27012900B0FAB3556018CB2873BED4C8AF4B52D21E168F638B6DD8657" + } + }, + "precommits": [ + null, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "4682B2DB28E420C5DEB72AA12B14EC91B7687A0DB0D16CC83DF541B1F6B1DBD5", + "parts": { + "total": "1", + "hash": "D8DED9A27012900B0FAB3556018CB2873BED4C8AF4B52D21E168F638B6DD8657" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "BM9BmALcDWNCdYMybVW5lSnrRRtTGdF3CFvKRx5WsxmhLnpzDf1A/6QP6Q2AcSlB0k2iLJVHUYTJqm07nDtuDw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "4682B2DB28E420C5DEB72AA12B14EC91B7687A0DB0D16CC83DF541B1F6B1DBD5", + "parts": { + "total": "1", + "hash": "D8DED9A27012900B0FAB3556018CB2873BED4C8AF4B52D21E168F638B6DD8657" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "H7u3R0ZibQAFnmze7o5nHT0OjTRlerk+PzlSpnPB1BAOxnN/b6Wzbkz2dmVl2Bny7WsD19hSfv02StNnEHMvAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "4682B2DB28E420C5DEB72AA12B14EC91B7687A0DB0D16CC83DF541B1F6B1DBD5", + "parts": { + "total": "1", + "hash": "D8DED9A27012900B0FAB3556018CB2873BED4C8AF4B52D21E168F638B6DD8657" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "/Cp6ILwBcEOzPci8MfDGpZ2pkB+zik7KkanreCPunQ8PGRFe9ZaqRoX+XJveFuORqfLlow2lN4wB2XmPwSU7BQ==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + } + } + } + ], + "expected_output": "no error" + } + ] +} \ No newline at end of file diff --git a/tendermint/tests/support/lite/header_tests.json b/tendermint/tests/support/lite/header_tests.json new file mode 100644 index 000000000..42913014d --- /dev/null +++ b/tendermint/tests/support/lite/header_tests.json @@ -0,0 +1,386 @@ +{ + "test_cases": [ + { + "test_name": "verify", + "description": "Case: one lite block, wrong chain ID in header, with error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "next_validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "y6Yd/g9hBzatGEm8WCVXgOks5rmnOlg2fsin2comsb7Y2oVM0/2sCucSPapci7VXSrUNJHC3ruE7onIylrFUDA==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "wrong_chain_id", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "last_commit_hash": "24C1BB73D491FE82B520A23DD41638A1AC32A3093F69763E2DA95E04EBC38F98", + "data_hash": "", + "validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "next_validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "BF7D88429612E4C5B2F0F9AFBC12C70C46C9E52702300D1EA46E5D5A18E25354", + "parts": { + "total": "1", + "hash": "5DBD2102F69747A33A8ABFABA28EADD8386F6CE683765DCC8AF291C5E763660B" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "BF7D88429612E4C5B2F0F9AFBC12C70C46C9E52702300D1EA46E5D5A18E25354", + "parts": { + "total": "1", + "hash": "5DBD2102F69747A33A8ABFABA28EADD8386F6CE683765DCC8AF291C5E763660B" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "R4Ua2g5j35fTkTQuymb1jFQUsXJdOsRY3a98WEpqmgpZVExAkCQLD1ggdr+10rBDXr9ATo1y/REP3960I9usBA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + } + } + ], + "expected_output": "error" + }, + { + "test_name": "verify", + "description": "Case: one lite block, wrong val set hash in header, with error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "next_validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "y6Yd/g9hBzatGEm8WCVXgOks5rmnOlg2fsin2comsb7Y2oVM0/2sCucSPapci7VXSrUNJHC3ruE7onIylrFUDA==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "last_commit_hash": "24C1BB73D491FE82B520A23DD41638A1AC32A3093F69763E2DA95E04EBC38F98", + "data_hash": "", + "validators_hash": "77726F6E672076616C696461746F72207365742068617368", + "next_validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "BF7D88429612E4C5B2F0F9AFBC12C70C46C9E52702300D1EA46E5D5A18E25354", + "parts": { + "total": "1", + "hash": "5DBD2102F69747A33A8ABFABA28EADD8386F6CE683765DCC8AF291C5E763660B" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "BF7D88429612E4C5B2F0F9AFBC12C70C46C9E52702300D1EA46E5D5A18E25354", + "parts": { + "total": "1", + "hash": "5DBD2102F69747A33A8ABFABA28EADD8386F6CE683765DCC8AF291C5E763660B" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "R4Ua2g5j35fTkTQuymb1jFQUsXJdOsRY3a98WEpqmgpZVExAkCQLD1ggdr+10rBDXr9ATo1y/REP3960I9usBA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + } + } + ], + "expected_output": "error" + } + ] + } \ No newline at end of file diff --git a/tendermint/tests/support/lite/val_set_tests.json b/tendermint/tests/support/lite/val_set_tests.json new file mode 100644 index 000000000..e37ea1bfb --- /dev/null +++ b/tendermint/tests/support/lite/val_set_tests.json @@ -0,0 +1,13930 @@ +{ + "test_cases": [ + { + "test_name": "verify", + "description": "Case: one lite block to fetch, one validator in the set, expects no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "next_validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "y6Yd/g9hBzatGEm8WCVXgOks5rmnOlg2fsin2comsb7Y2oVM0/2sCucSPapci7VXSrUNJHC3ruE7onIylrFUDA==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "28B21F5C724BC1FF9EB32686F69CE150350F990A491E58DE8BF65A72C7DD491C", + "parts": { + "total": "1", + "hash": "57085A01842E9E8C7461F377B074CCA52D0D43BCDB2B82FFAE4EB5A0DFB779AE" + } + }, + "last_commit_hash": "24C1BB73D491FE82B520A23DD41638A1AC32A3093F69763E2DA95E04EBC38F98", + "data_hash": "", + "validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "next_validators_hash": "75B9F27F25F3515EF7CA61DD42C272CCC280C537E6A9ED493710EB361CB90B0D", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "BF7D88429612E4C5B2F0F9AFBC12C70C46C9E52702300D1EA46E5D5A18E25354", + "parts": { + "total": "1", + "hash": "5DBD2102F69747A33A8ABFABA28EADD8386F6CE683765DCC8AF291C5E763660B" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "BF7D88429612E4C5B2F0F9AFBC12C70C46C9E52702300D1EA46E5D5A18E25354", + "parts": { + "total": "1", + "hash": "5DBD2102F69747A33A8ABFABA28EADD8386F6CE683765DCC8AF291C5E763660B" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "R4Ua2g5j35fTkTQuymb1jFQUsXJdOsRY3a98WEpqmgpZVExAkCQLD1ggdr+10rBDXr9ATo1y/REP3960I9usBA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: one lite block to fetch, 8 validators in the set, expects no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "AAC4BAC846D1C00B6895A1F33A9AAB6AB73F10F5C86003E1562095FE6F018268", + "next_validators_hash": "AAC4BAC846D1C00B6895A1F33A9AAB6AB73F10F5C86003E1562095FE6F018268", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "SImz4YNBfpBNoQACmQLqOnbreSMOl+Ho5EjJqzC+DoQ3vuOjhTnHGyAS4sBgGIy7GXKRhBGeQm641eHV59hZDA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "xK5+N2oM+Xi6YPY005luo8ptuqHUC+ZkcsIQlwPdSi+DvocSe7VIigZfApvHXbiSzFSavCAL3gmG6BT9lvVRBg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "LPoqAMYYY21adyrqg6EcHdriR8JgEjv4EPmfgT93TJPXQP7QSApPy3H94TOfCYKLTHg7ovHpo/R2hhXnjCqDDw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "yOG5EZtjcyQSHA8IiaOOM1e9GRovcUqthvkIrn5hRkAlLn9XnFJ+zYdTOV/kHxK6KK3TqiHVl+oyDg4HFYmPBQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "4", + "signature": "QwCcG7wIwsjZO1FOzKm+P6Bn9S4GymONIfp9L4/lJ+yOjfAVSUA1InbjLdHHrDAcNMCFv9Lj/+xUNbU3+he/Bw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "validator_index": "5", + "signature": "2odoWiztX1h7hUU39K1bd/9VOCPOA/TIWs/7BRzbYYfz/9LS1mUR9hb1kEaxuH6eXcMO0U3f0yIXe4AWRC8/Cw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "validator_index": "6", + "signature": "3ojeXwS2p1N4S5h8k+nA0rEfdttXnbJBnajKZj7zTt5f/CfAKbTJRMr5g4q1riJsEisJPVhywKAgCExkQWI7DA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "validator_index": "7", + "signature": "Lu5di/y0yrWDJVlZvwq4Xj3YqEqTd/aszen5b3lGm2onaDR+Axhy4esgdxYqfBwoxxBTvdDIP7oAJpjFN7TcCg==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-350" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XCK6BWW7PWfsMof+x3lYRaNKbtP9J2WoOUztl9TAumA=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-350" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "A8BC89AA86E5DEC7208B88F6B0F8E00B0D2CBBD187C91CD85E2C370CE65B9B43", + "parts": { + "total": "1", + "hash": "B3465D5053B4EE69D630ABE384431A7F8C13086C9995C786423DC22761CF6A55" + } + }, + "last_commit_hash": "F7E39EC86D9F656109D1D38D36437A8C2F85C6DACE7EA3CE74825C16024A47F5", + "data_hash": "", + "validators_hash": "AAC4BAC846D1C00B6895A1F33A9AAB6AB73F10F5C86003E1562095FE6F018268", + "next_validators_hash": "AAC4BAC846D1C00B6895A1F33A9AAB6AB73F10F5C86003E1562095FE6F018268", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "F7CC917A7601474CB9E7D3237C4E683460C361391B8B0A0F22FDCEEE887E15CA", + "parts": { + "total": "1", + "hash": "B9A0C6C84272F579813FC97783C2EECE0B71EF7380B9B10079A88821925104A8" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "F7CC917A7601474CB9E7D3237C4E683460C361391B8B0A0F22FDCEEE887E15CA", + "parts": { + "total": "1", + "hash": "B9A0C6C84272F579813FC97783C2EECE0B71EF7380B9B10079A88821925104A8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "CttFI5zHy9yqK0ST5P7C6F196/dtyCLxA3q5qk2eH7k2t50Vof97Wh+AFUnASXaFaJPwoT4MKbhz6GAOA7SACg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "F7CC917A7601474CB9E7D3237C4E683460C361391B8B0A0F22FDCEEE887E15CA", + "parts": { + "total": "1", + "hash": "B9A0C6C84272F579813FC97783C2EECE0B71EF7380B9B10079A88821925104A8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "7ASzJhMLw54nM9YWkhPEBjHy38vmlPK+8WGBYPnz7IeWccH2oCNURUGWAnID0qOmMZSUcCUqVMMTzuJHjh54BA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "F7CC917A7601474CB9E7D3237C4E683460C361391B8B0A0F22FDCEEE887E15CA", + "parts": { + "total": "1", + "hash": "B9A0C6C84272F579813FC97783C2EECE0B71EF7380B9B10079A88821925104A8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "k/qZi77spGQc8k8xZkujc9FjjwPSRUAvl0C/BqfV+Pyz3VjtL9rCxyip7BV75lwSSYMSdBxa5/SiShew+kYeCQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "F7CC917A7601474CB9E7D3237C4E683460C361391B8B0A0F22FDCEEE887E15CA", + "parts": { + "total": "1", + "hash": "B9A0C6C84272F579813FC97783C2EECE0B71EF7380B9B10079A88821925104A8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "FzzwwZpo2ZpatWc8VTgxpYj8+af7C+L0FeLN3gY0YT/1QbpaDF2X3z6kZKoXe/IETjdgrWCTTr9tp6/BuTo/DA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "F7CC917A7601474CB9E7D3237C4E683460C361391B8B0A0F22FDCEEE887E15CA", + "parts": { + "total": "1", + "hash": "B9A0C6C84272F579813FC97783C2EECE0B71EF7380B9B10079A88821925104A8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "4", + "signature": "pGdirGu86RdJPJFyyeO2xTI0LDFUUAAgUgBUEHLDtakCJwWzlpL4JaosMs3xN88c+uoihCU7duqF4crh4FeRBA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "F7CC917A7601474CB9E7D3237C4E683460C361391B8B0A0F22FDCEEE887E15CA", + "parts": { + "total": "1", + "hash": "B9A0C6C84272F579813FC97783C2EECE0B71EF7380B9B10079A88821925104A8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "validator_index": "5", + "signature": "3ihIrH95cShZ2R5xHlsx8WUF5AfDdTKoACEVdh9ffUyrUCM1szvcJ0uzdKoOQTp3l/Wk1gXUxGSdoES2lqMRDg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "F7CC917A7601474CB9E7D3237C4E683460C361391B8B0A0F22FDCEEE887E15CA", + "parts": { + "total": "1", + "hash": "B9A0C6C84272F579813FC97783C2EECE0B71EF7380B9B10079A88821925104A8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "validator_index": "6", + "signature": "3ZlPS6+ANxKmvmkdhzlwp4501FK8Zz0QGl4tzYHTDB2tw5Ropza2co9qMfJDpT2I1XL4D6uQwr1Nx/962R3nCw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "F7CC917A7601474CB9E7D3237C4E683460C361391B8B0A0F22FDCEEE887E15CA", + "parts": { + "total": "1", + "hash": "B9A0C6C84272F579813FC97783C2EECE0B71EF7380B9B10079A88821925104A8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "validator_index": "7", + "signature": "RY/nBqzx5oIobFYLWsxjqHnCRnNeJtrt4WX7yM9dnF0NeDpB8ggzFxpD0FaoiK2bmLTIEgmYD8KHOjlNTh3sCg==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-300" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-300" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XCK6BWW7PWfsMof+x3lYRaNKbtP9J2WoOUztl9TAumA=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-300" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-350" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XCK6BWW7PWfsMof+x3lYRaNKbtP9J2WoOUztl9TAumA=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-350" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: one lite block, 128 validators, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "F41F9750B962158C36B8DD50F70D92347880D402A939A96F06F03DD3D5312C54", + "next_validators_hash": "F41F9750B962158C36B8DD50F70D92347880D402A939A96F06F03DD3D5312C54", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "GNAmjcHrdRw7+NwlfpbrwRgIshHZZedHZ1lRAgawGew0W4Xp4xPYl7TelxC35w3dw5HJiM+D/ozdZtTnlFUuCA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "ci6FxBagYkT4uK9+sif+bmIB3fRCnVafWBpaMS1Qvn8+yw/srBeu2QpAHentutMoQG8s9flqwUfUHOo/r+GbCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "hS0ZlDEQBPq/WEQnIbYnD11NFv7Je5yR7W3ulhrJghKvoMI/7hGB0NMT6xn7NY1rfr2IG6MuoAp0Pq35avBMCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "0DKPciqcIlEgTyNs10s5kUTglfFDDtFJs2kvunkCizTilVuNseaecEvb4GwXhnGvLbucIRvlG+hiYDckpOGWBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "4", + "signature": "8C26lfpJkmLlfDz+S5hIwmSK/vIml5fC1BeGQlG320o+VnZ89p1oNRjjQO5Qjy+UhFRjiLM88a4A2UDvBJnNAg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "validator_index": "5", + "signature": "Vg9QRTrX4DXFodpJoE67u3koLoQDMIDTShDmamBSO2fJeaAde0GFkDvF626CV2GW71ckBkLBNJgOMCW+GauvBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "validator_index": "6", + "signature": "e6oS2RY+9AjR9byaxl733Bh8bT9cxJIR/c6MRbCSuuNRjfOwHAwT1wT46ubioZMjcre7W5FEG6dQNfd1AG1YBA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "validator_index": "7", + "signature": "Wy2Wlwo7masPG69JwSsJqPcT9tx0Sd0qA7BE08sJZbtYGiOfdv2pw3eTUC1BQz002rY++mjkcNmizfMEW4wlAg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "0859D2467F0DA63744B220E6E270DD3F0EEAC10E", + "validator_index": "8", + "signature": "564Z5T9n94d5P2Zz0YTVnCA/M1bM9VJ0HuT1+a8TQd19eYSqRXA5NQsM5U1b2qqXluze2DyBZnZQdcDW4HoOBA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "0D7350841ACB4A53C7717C7E5776A5E0DB6D596E", + "validator_index": "9", + "signature": "tTgBraOGntFQRsSGhUkuRaBJRopcS0CRONwuO51PSAntlL45Vs+k9zd+03NcVooX01dCWpKNuB1VOZjSfEjfAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "0EC358ED84E4F9088BB57617024D49E834322B54", + "validator_index": "10", + "signature": "TGt9Qtaq+aK9YrjNZ8fEdDsDAdbUcMSfAwPCQs67CBNKM7hIoKfWZE+wiLZCenvf5tIQXK41ht/evRgc87TKDA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "0F7E62DD0AB86CB03DA87EB9969B558AFE04CC6B", + "validator_index": "11", + "signature": "0WKVxPKmY8Ou2429YsiNy2/XtuNBz/UqKWGJnIItQyxhgUhQmIPSmXSUJ3EvuNrejHKsJacrCih8tJSQOX8ECg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "104776A7532559122F43A5763A13FA7E747AA44C", + "validator_index": "12", + "signature": "JrETw6ozfE0h9yiZRpC7pEZMwSEomZN9LuNGX4YuMLcpphq27EGsvF1lIHSC7qS+OjHFXGW+r1d6qJegOiknCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "16E8EE7E867E20343ED67A83386B798BBC8CB7EA", + "validator_index": "13", + "signature": "P3etdrs2l6d4hJSNUtynknNvij1L4mlIJMYWwnl0n6rh4D+rC7DxyA6HO+qBRpgMO+z+k2cFoMRZTAQ25v9JDg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "17017FDB07BD7604A356325D499FF1CD9965CD00", + "validator_index": "14", + "signature": "4rxrJQ0Vm0MhhKqao7fMN+2bTr3SLKavDDgRQx4mV35IFktL6+xRGFciChPWuF7J55vCBA7ocRQ7Txaitp6WDQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "19FF9F7C347FCC6100DABC66AE8D3E2294A145BA", + "validator_index": "15", + "signature": "jc+wUiIT++D4TxtaYGW/EaWTPlp5iJ1H0qrMepM8YfeVBgS/3/GelWGaFWcbQVk181aFNRR8Y2MFQdVU2+kUDA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "1B6D50537048EE35C2F43BCF284B59CFCFAA2F91", + "validator_index": "16", + "signature": "kJWn5GuqxL2bNkA5WikzBe1QFOzb/Ig2Je8+aMLYfEWsc2V+oxpHEvHdVzPiGYwKs1BoApJJwihNBHtx8bk7DA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "1DC38F15CC04F552E1677D405EDCB2AF8610A20E", + "validator_index": "17", + "signature": "OLDIuuXOc7rhUEgc5fEE1PeCnN8YrlTYP6idJ1cKaOvuCr0muoBz8RQ0p9zShgYi2kidkA5Z+y1Z8T3L3SjHBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "2022C00AE81BE3A15F9C64DAD16071AC4C78DD05", + "validator_index": "18", + "signature": "dvJ6g8ekKttAgeyxV9GzIugSGJaKnW6+QiRmHT/OikejErx+UWnXxUrHpVUfCa9jVC7qOYNAj3I1wGeO4poSAQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "22A34A49E778B1F2324C501831F1B41D5CE2FD43", + "validator_index": "19", + "signature": "XktJVtUZsYnKnzXP+nAATSWnjTuHzVssYvk5OKLE3O38QhpEfajYjUBjVSVTY07Jt8+3/7Kvaaz+VuIBJxIeAQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "276DE96119FBBE4538214B94C62BDD2647B1E2E5", + "validator_index": "20", + "signature": "ChKcOemmYoMAIpyrxD04x2uCBatoj/f1cb74xSKEHraCzHIPhuWSHkeLHK34gRIXnHGgyCV9GDYLyBd4QuXQAQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "2BC8D138F5DF6CAB4EB88B96DA66D9FA18EF543D", + "validator_index": "21", + "signature": "yBsMEtXZenGyE1PbXnvME9xWPEspSfNUuyCVuIA8JYDZYX4ASVNU8KDhP92P1wlPkL9cuLuKSnYrS2z8HSSUCw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "2BED56C755A702194CEFCEDDE096FF4F93C3652B", + "validator_index": "22", + "signature": "YZOhPPLRgRfDw52+VtXUjIAG8A17+E9qg4IzjSAzYBtanNMpQcGMvGsdQ26TLBR9SKlRqxtzB2Q4+7sS9RVaDA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "2C5901D7C2308886511BE96C7D60426032B4FD26", + "validator_index": "23", + "signature": "CE5ffwgNTfiV68B1xV46dAjxXj4dhGMnQLpt9THWnHhvYUfwP5NaHWJISuhGIHs6/J8QCWZNE+jJ7rqRn0rtBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "305ACD56F23E26BDE200C06825B4B0C90D6EF09E", + "validator_index": "24", + "signature": "rs8Tm37DkOdAfZxIIjZVP8hyEkFzpREWNgCkfOz+ItvTutmcfQ3S1PdRXldjo0nT2uR7MAwpZ+8Z1wr8Y+pjBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "31B6C523836521A9896D96BA1B3D99571249CCC2", + "validator_index": "25", + "signature": "ViQ1PxFjzIp1/SGJm1Qp4RBio0insFv32eR2GfDsZdJXyBKo+DaHSZxW+b6R87oRTBEuSQaHdADX2gOFu9W4BQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "34167E39185F8B5E144BC73E9A54A65C58B5806B", + "validator_index": "26", + "signature": "iifAgPhAi8RAO+9IfS60Mpn5bmqAutcVHhZxVMvXEnidygJbq3cb6wpCI7rD/VnJ+FKsamVMW/x6tn7/q08hCA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "36F2C307B74BFA57300F1C7F8CC24180F86F2DB3", + "validator_index": "27", + "signature": "6Urm6CAw99WJJ2kwZPbaCLHtXW4X0S5+NBZAPtHZFlltMKKu4Dl/er7kKVsgVfNOpbOv293PIxVlDNTEQWGTBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "3790F095C2C35C28804F243DF9F1D9702527987A", + "validator_index": "28", + "signature": "qhw/oTy3t1kaQEgXgsHa3pRJqqchfpq05+Qie3GGt6YiVu9J9NkhQ9MpCX9e7GRH615qxLJJ9HodLdB09IN6Aw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "3AF9DFDB695038C1CDC08E6532D7259ED3CE6136", + "validator_index": "29", + "signature": "NR+SNUozVqQl6JBjn8ft/Rh/TNDCBcfYw7DJBIWi5fMvGR8neuCCW1khwgjV4xvEwDcSwshEey5cLdZ/vJ3HDg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "3BBA3A4BCF6BD50DF93399D28CCD2C77EAF04DD6", + "validator_index": "30", + "signature": "0DHk73EvLBBUQTpoQDtfhVEGm/uG5MyCIwRjJ8VbcjwcncsXeH/1UNjavipQ1BCqtH5Cy+1M7QU1x0yiOmAdCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "3DEA89BC6049093CCBB86AB1A26A7A89FDC0F170", + "validator_index": "31", + "signature": "WWyEZ/+MuaFsbB/fuiafn0PenQzWJ63rlNzia/OuDmNIcDNzs+mO+9M2yz9cYoOqUcYclryFnEOwrFclLk44CA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "4099E6362C41FD472955FF42D640ADC8382143BD", + "validator_index": "32", + "signature": "/Quye72scTE/DhY3CMWxls5aLhP4z+hJg3Mii6UwBVQRyysi7o1GQqcQIPz/xNgI6XJAqOpyYMg0CUglg32CDA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "409BA2271966FD00E50CF30D68F02656C1BBEEEE", + "validator_index": "33", + "signature": "unYLWZNhH/NOCFqSMKiDAXJm50/f7Bn5IZ0S66M9G/DYjGXvIcmviSTkSQgXrw29Y218T3BFX3MwsXKI+SHQDA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "411EF3D45200CD9F4AAEB41569C30095BE5B8352", + "validator_index": "34", + "signature": "FbqIyYVvFDazOE+G9rSgVYQcs/YD1ZnZbgE0j52eK/ZwYfcJYanpB9u2KJBOgDZAXd6V3VbaBuY0r/Gw1LzXAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "44CC86D5E237AC35EFAAD48B737F4CC56CDF9DE4", + "validator_index": "35", + "signature": "hDEPMVmLbGvUFWYuqQ+NQ3HU7U/7JXF+q38LHZJunvKNqjYCJpTtdCa/mRln0d0cSGTG8QBFWkc6Ks+X4C4vCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "44D5B54C74D990CDFFBED82788E0DD3DA5DF91CB", + "validator_index": "36", + "signature": "VJ1TIP3TVxinH04alVAqVpbIr0o0gJEDhpN9Mdb1PNaH+PFiLkLpNVUTIOngPETRk1E7g/y3EOWU5ppIRSUcCA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "44F6313731281FA393DC0BC3CED0F141974E6E80", + "validator_index": "37", + "signature": "8vxG2vOXp5vTLSr4ps66Syq8iKvZw4UoaSbkYxQxIoAdwhC+NW5Wm4zvgtF3KIZbKp7kMRrwFIt0ElSDdfIvAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "46D87DE55A2AD46C8BF375467C857D88F23E9B27", + "validator_index": "38", + "signature": "IgPs30z2mJbkidTV0ZyIYvcxYgLQGqhGdQoW3S1qazG05aDXPEeEnzglvf5ILGZBoOzqO5uXPggM8FWQfAuVAQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "483B3ADB1C595B2C292FEE8C65C9F6EED884CA00", + "validator_index": "39", + "signature": "fjReJN4g/sjHJ1ZuXACrzxKbFF8CV59Kd6KT++G4uTEzlWFsFG9x+0smxC+z1LFBaNrRD9fSs1ZgMV9bH4/jBQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "4B66EE9E8B13C4494CFCB6D0F6A19F1B417E172E", + "validator_index": "40", + "signature": "JvAy6vc5+EPkFRxBOd61U78MrtrKh3zj5S5qQONBZIo0DtrXBnmOmOaCJFMQ2dpFWszE1HbeH+ODmoe1zIdkCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "4B924BD542EF7E25F33D1DA71CC9611CE640E4E3", + "validator_index": "41", + "signature": "AmaykyIAGmHxobsIwk8tf81mFBID3Ux7eiP9uQ/KGrcBTo6KO1qJ1P0CxKmJKsHF09vmAgYFInWKlB0wAYR0Cg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "50C24570B899B11034B1A8F51CAA91D479C555C6", + "validator_index": "42", + "signature": "Fz/9LCWJurz6mkMkwP4FT3c2GEBTDc8IGShOfVtNqbMKFf44j43frGApynrEoqqKFTI7qTDS7jg2SvPyclpGBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "53BF6EA4BB98D5CCB8081DDC2B6D80E790ED6091", + "validator_index": "43", + "signature": "8nu87EPUtg4LzTU/bGAeeP6VO8D8E1FdVOMmhBwFB0DoycAeb2KtDyLLU18d5cbLsvPTaErYbdvgXxyVykk9Dg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "549523D99B417B356A37882EA5BE22444BCACE49", + "validator_index": "44", + "signature": "iPwO3kS/r5CE/af71qNDtMZZhkX5gwtQFuyjtd17g/a3l0RP/W4PdDJ9Z/Igq5HaDUytF71TwuMgoa3SJEyRDw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "55B6E0B429C582D102A8C5E9D211FA07D2AA3DCB", + "validator_index": "45", + "signature": "LfOln+rtdeTx+SYa/O1dLuH8CpSY0qBo8sZUfqqxPWap+rpUlVagP56U3Gf9KMKMwE89fS7YqC6CvX52JHSeBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "56BA4B6BE15A47356AC20339BE1FDEDA2994E34E", + "validator_index": "46", + "signature": "EHLgDjtP408lUDWuucQXgnWL7xiLNcp+QwHsNZDW658Bivgpg6fVqgk504EsnITK9KvBfVxlbGkBNsMfSw6YCA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "58086A4142ECDD35E8FE1753A6256B98D9661F0A", + "validator_index": "47", + "signature": "k1x+YZ/UHfFkveYUrh6hzxIjqFnWDdonK63ECHYqQ8KAYJWZ/2GDdW+tF6awkptjTPzrD/1Q+nMKN6a2hrdYAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "5E561B91BCF07518E0FD2E510C233D455B306856", + "validator_index": "48", + "signature": "AYsfIKlL70bjCxSbwlpRUdQzPg7j89QS3nQuz9UdXdvVneGFxKqSMw0tzbJr5peS50lqXJDi5weedB8emXgsBQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "5EFB8BD4E6B0A67DE3E9C64E728B8C10614DFFC2", + "validator_index": "49", + "signature": "gd9EXMpGhU0Ku3hGO6sHQwJKxHahrz6RTsMowhMo/4lgt46ytU2OQLGep2PNjzfHnYB1VDfD8/ZLPsLRkHj1BA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "5F19CEF4820053AA8787D93C86B7CB39D7ABE40D", + "validator_index": "50", + "signature": "APWEkBmrFXMpIVd3YZxd25wxOlWW8KttBEsIvOegOF3aaerWCgXdvlt7FIQ+p+aE+Um7Hltc36su589sq+6fDQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "5F8C09291BC721346A7571FAA7936C33D2DBA44F", + "validator_index": "51", + "signature": "GCdYGPPZh6b6bjUJQ6QNrWREY+LW8knWfbkJU9sHCHTZscR4IC7soebp4ntrHDsiwTNh4iUekajPFdA8sKcuBg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "631F83C22D4F46F72D732665F61630B408F216F2", + "validator_index": "52", + "signature": "zFuH0Uh1C+5LoDK39z+RSfGtV/V+a9DNvYCA74omim0536GDP3LjMLDeTydY3N62OdtuteyZ1GvuKqUWXqOCAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "63D15DA922FD4DD88FDE33D9B6C80675D0BDEEF5", + "validator_index": "53", + "signature": "iZHrO9+hMMCWDSeazn0vYJyexyUAD1CczBHU6Ps+WP0n3H2zTP4z0Tv74MvmICMWWiGzYbOvfyhe5U3KySlCAg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "6548BDD3B9F3B8C243F3AC094C2C58332E7D32DC", + "validator_index": "54", + "signature": "S62h7OMx2nu9DqKGCWlsCZrBf9oJDz6Tk5Ce3z2bLZdxKjVzoBtx38bDwqGzjKYZjKmnbRMloLPjNaMtSh45DQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "66CECDE4581CDA058A1D708D183E606B43274946", + "validator_index": "55", + "signature": "ATYoghgO8+TvAZuqQYagQUkX5vf4WevMsiw7Vkskwc/boCTArFLWx4qr9EGVn4EoUgCnOE7Pi5ioP9ZvAjmfCA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "6BA54EAE4890CB52A69F3F520524C5602442A857", + "validator_index": "56", + "signature": "A6b7BLxKrFcNhRjwJsci/a6/5cHXkPesclIij3TToe7rx7uwpXZRc4qHWXViajBNkcz0uAlxI9NYP6t2rp+jCA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "71129EE0478B5EE8366C6D9E9465C494CA1063B9", + "validator_index": "57", + "signature": "IRWnCL4Vb/pEaUBn7+eY56WO9xWEub2rbncCcSBFsNKOXIDCt9MlFFLB63FKEZEwXXE0mGase+GPpBj6HbOlAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "71B73AC10644A4E0172BBA6EEFFFADE9729BA17A", + "validator_index": "58", + "signature": "fOoKjooi9x8F0m3kK0VCuteLmb6nANRX2RU9qYes+n2G5RyuHqpCG8khOu2aQZmyZfXgXU1kcBJ5vz/LAfYLCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "75726122C13922D71DBDBBC4ADB57AC147832914", + "validator_index": "59", + "signature": "4XcgNP+S1fB/SOEKmCBQfFgr9V8TjtlWMQZ18OwDJMMYOp08Ql7zi847YkpzPx4p7uqYsYqUnk3+6czjLhoEAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "75A48BE1310775AFC556D46EA2234EBA3BF388E5", + "validator_index": "60", + "signature": "6X8CKNLhCwmjK7FTquoXvuIifUDe0czhsq4bXAj6l7ErExvM9NBpdFgrZu95UyXS19bspInH+3kme5M45a6UCw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "762408A51C56E050E55B4189D8D76709343F14DE", + "validator_index": "61", + "signature": "29Z0jOyyHlXzTWxEEJC2azxHp/edwWQDwkuYTGwElZI7+i190GwUZCHsHtz8ddqnBsx2Qd965MAZLOm148woCw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "786EA666F2382583671F77A1846FC4ABDF9F2E52", + "validator_index": "62", + "signature": "oHHaqhsPll7ONj1i25F99lJLXDKEzM/2REWp4HLbr/rX/APPGCaXto5kEAEmTeETdfP+Co2G7hWZ2zlTBUMcCA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "787157EB0208852323804C28B3887F756F823A6A", + "validator_index": "63", + "signature": "Hvk7T16Q8zqwQOQhljnt+OjUdH3Z4kahvDrm7bba+E86hvPozuwqy/oVcK6S45j3U0GszUtss1gS1leZ1OzPAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "7B7F7BA0384E0EE165063F9FCC41204F290A50DF", + "validator_index": "64", + "signature": "48OkpoAeu05QgZMm2z7Q5hHKl//kaH4g53AvIR9nbbcMC6XqLC51/fU0xydGphZg56jJo7qfc2rB0GvEsFszDQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "7C779C769D5F8173002F473CC719305FE8FC9437", + "validator_index": "65", + "signature": "9jxHzTZJdxfIzJZc2bLJ+3acCBjsSjwj08SEOYYMQrWjkvuzeYccpMOtQfbIdpJuvhTBWl0FLnbVvTZfH64HAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "7F3348BC852CED5B77DD8B279462E7EFDF078001", + "validator_index": "66", + "signature": "TgBywd9/Gi5jlqOmsJtFwyPZIUP404pKKUs/a0mQlsng9kd8WCPuZj7bys5jM2Rip3A2EHxe/T7sbmszHJmJAQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "7FCEE146134268E411753C6EA9C62FF36C7DB6D6", + "validator_index": "67", + "signature": "FNnk8P6F14/wlcJNi/fYDnPBzHc1su5e2ox46oYPi0yiM6PIOr/P+oLXIs5mOHt0GjS7Gmswsllhh8K2Y0Z7Bg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "80204F6D505D5E420C935E3A15F401A19D3AD088", + "validator_index": "68", + "signature": "Wm767LdbHT7uFmkT09Le9JT8pJLrlPR4jMJEv8mH7iz8FdkWeEXruKZg+uQhmV4NAerNCaBOwvF2OHdqWqbnCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "8244C94F5AC0A5C208672AF54B115715E27940AC", + "validator_index": "69", + "signature": "c9XlXpmYpQlasenFZBaZGI/HWWwASKcioppeOdT5S5eK7MC8wpr48tq39qZRS/ebH94yzq8nBeaSzYTil2IhBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "833CC4C5980DF7FFBED4F73EA347B44E8B985374", + "validator_index": "70", + "signature": "LkLMrEt0b8iZzZcQfvkk+hk8iuNKsN5GyPM/uiiNydDfG5VXTxI3v0Prp0eSBDrfChLp07YDIa/XaqqwmqlEAg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "83DCA4191E49F62153DE50F18025F8876EA19BA3", + "validator_index": "71", + "signature": "rSqnkjVT7qhN4JG5D0XoS+/KtJNSyCHmlwo1hIIhJzVNYuYRfbDSyIpLP+xwKSNv4skLiRnNbixj1O/x3PDtDA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "85458A404CE4B1798A67AB9BB83582C762BFC9AC", + "validator_index": "72", + "signature": "RLjnhoufXSQsAjT4cO6pB59r0YVPdEI7Er3yEWiOw4aGZRTu/P54Pgal0IjAUlVC1+aEP4EgPm/dVoc98a5rDw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "861227E76A82CAA51510E7E50E929DD7F0620632", + "validator_index": "73", + "signature": "zd/kxkeXSRHnHo+wCJ9ZBFNvuWb5qSrh/H9ShTDzJibRJwOGeIhKSz6qm2p7Iw9oYNa4olJXI03dZqlQQ4XmCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "88BE7AF676F988584BDDDFAA7875D96C569046DA", + "validator_index": "74", + "signature": "FuXAH9rksSjWhGiApCBFooBZyabqhMGb3pcnIsTzqv0EqBnwTHW/g3JSQxeeqdvwzrbZf92iBMCtzMZlyeRwCA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "88CF3ED94C8FB8772CE13EB668E5A43C2B4105F2", + "validator_index": "75", + "signature": "wp47/h+zFYzQVEvYRvieeYmG3qhGt79S0CiALRLyCJjYKnpTBEHJxYzJFAaC/b9yWe51qOooRSDw8v8rpnsqDw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "8E497CEB9698C545DD43A5D054DD19067DAED154", + "validator_index": "76", + "signature": "ESV0e1r4ouj8Dfpwrz/B8GEHW4kCz0heFSSi5DMfo6OkNah+GlBOaNcQpzkCPt3QwTj/r61CtCvRJPr9DtoRBA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "901C4F75F152494B605AD385A32697B47E542874", + "validator_index": "77", + "signature": "GkPXae6oyb5RO3WrrdHZlLGqKnl9lZVHrVV3HP9bvqU1hb1wDraFAsmFkc96xHBNoIRdmzcVvqbrPqxDmrH6CQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "9029713BF8CF5E0796CF1824200264B58A54A831", + "validator_index": "78", + "signature": "xXLDWWzGGJx3xKHFBZwai1Zee0DR5k7mjA6XQHgxcBJ0fh28YnYPpID58LupXG8QjPYGRohs2wFsa/kU3ipJDQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "90F696DF160C8DF08C2DBF439452CB559230FD52", + "validator_index": "79", + "signature": "+INMqc8vGP96+a0ztGTV7osunspT05wx22L6ACAXXmMj49Izt/UHVQpS2tavOOwVPf9lSL8kV3gN5eEYJ62tDw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "96C8B06B9A84DD50905374158D5874C360F0E436", + "validator_index": "80", + "signature": "qxWt1Q7g2xmI2vndEpl4gsnW+xwd+9tqSW2n/aBsUL2HbahWqowSZFto5XB4C5WU9kMfs0cd8MoelSOf+7P2Bw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "9887FE69CDF1A3B7E2B3587506A7DE299DB96841", + "validator_index": "81", + "signature": "d2u6edKyP6jJ2z1ANdSMuPBw+JjEvaLV5IuZ7PdAu2eob5RWmJWhFkSv/cIclRYUhGtZP13iHyz5Hefa8O6lBQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "9DD616591929A0821368A45635B71A55522F82C7", + "validator_index": "82", + "signature": "TK9xrPZWKx3MceGBy9LyzY35+TZqkO3JZyl5FqA3Ln4YNrTRFXObYrlATIzleTxN4OqzO5f3kco3aogIUUejAg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "9ED26D8435540AA635478C769A328CFDB97A8518", + "validator_index": "83", + "signature": "yrCHFNB5ZHkICbyat2Znpkf5wPaSCx7dzEf2xGL/o2eYMXn7bl8MHqEomVvN2/AarDNwjKRPjO/2S1VVbYulDg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "9F0D30B162AEF95F0B38488C47902BA4CEA6E6EA", + "validator_index": "84", + "signature": "i/PaAz5GzVX5umP479SO8s1WNVyGWvQRBs1MrguYQ2p7TtBoQx9ujvI9Gde9BvTLzm0g3BmKOLCnQd5/wB3TCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "9F445AE036B207D2DE04D0E32313A5A4B715AE85", + "validator_index": "85", + "signature": "tp9LH02pic2hlYjThiEOontsrfJK/SM+m6THQJuKtSYwtfafz4Ry8PYaNRKLSx5kEJuwlPsIJnVS5/KSq2vuCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "9FDCD33F13D8106E469212E112E37E3E48A09101", + "validator_index": "86", + "signature": "AQIRPyhYMXIYvKHoYrhG2PQ/RMrNFbD1TkgRCtKYP4S6YKsoeJAV4N3lD/3preyDzoMlEcqoFRhOavT6JS1FDA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "A37F40DF55197B9B24C3D9938A8AA76CCBB80BF3", + "validator_index": "87", + "signature": "XYXNP2kd2Zugl/kybliZlN5t1mHXvTqx2qIsgFlPpuOi+ldohp4NcwI8J4CmcnyTxb7JPVzqJN4fJaW25anSBA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "A3E3EF26B675F46AB3B701A2E744BEB03F4A7F69", + "validator_index": "88", + "signature": "AK+wioSPiW8Dkuq7WUNIuK+LFEngskyhmfS2LGj3vTCK/Rg7fdlWc+4VyfS+1BEe9y6VIPR84ihKAyHzuTYyBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "A54EF86C44B3F5071191A0144CCADB92118B2230", + "validator_index": "89", + "signature": "JFtiBfwYjWagF2y8JCw4pWctyMa79q36C4alMonEnhpImv8xXIy1lM/UrVpC5gUyVhOkwWzsj3vCGP6R4b+SDg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "A92BBF76E98907998C193A4CCACC200A3CC75E30", + "validator_index": "90", + "signature": "aDL+pB58Qz4zd8vQlkLqs+N/W4kAZy1YKZRu433ZAHHqZwqmknU5x/WYhdqfKmPVdIOa2ukZipV2lOV2QVbIBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "AF4B21D9AC2387443EE4B05EE09F54D846A3BE6A", + "validator_index": "91", + "signature": "obD0DZpvUmEh1SRGMq19VCu/gHUmg8lD533349fQlla4q6VlIx96+ebMhewNyFbCrCADnNHUKnxeouNSl1BZBA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "AFA48E19711A6EAADF676EB680C82904FB1AC16B", + "validator_index": "92", + "signature": "sJs/bKJkFzhcofb0F4V10s9dD0DusAZ2jqfesrQACx9cymQiB20z8NJ3kpGArB2ip72mGyF5JnWyM5YPATv8Dg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "B0AA5BFC7B1E2F324C4B46C4AA6083EE4ACF9B62", + "validator_index": "93", + "signature": "sZtUYlNC5s/tERgG2QRWdFWZ8irhpBlBndEzUQkOf3XiiYR95iBvwZ+LTQMGurQghllm3bnR+hcfaj3G30kZCw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "B46DF4B1C3BC26C37D5FDD5B911FCCD8244857DE", + "validator_index": "94", + "signature": "Ol2BZWneIfl24x920go4VaY+sRd5p+Ph81pDIdL5wuZQo0Z8swiiOpQWI7YlbBDHlu0a2EEq2sdIeSrVxvDfCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "B62E68DA52B0400EBDFA5401E2B77265A4ACB2B8", + "validator_index": "95", + "signature": "YoSCPqNgWxp5F2ELtEKDSV9Sy36R8vbJhQHonB68otglCTh/BRHq/r0eAsqcYk+DHGA2S99JuFyOYhRaVAwwBA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "B642D822FEBBA7990B9F02D4AF86670CAC27CA68", + "validator_index": "96", + "signature": "8xP52bJcFNX6fYTSKRiUpRmhJzD/PkFGFe1AiKHayDikApkvnwVv9o765S6cioFvEZdDh7wWuj23V+RYVPOxCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "BB5A8EECC92ED313C2C67942320E781AF7ED7268", + "validator_index": "97", + "signature": "D4eGfjFfVCDkHlDSqLJQUtQpGFBmsTQXTdz3Di1MGrKhI/8/GydyVLdaWE0cXLEjhsabONeXLXrNuuMO/soWDw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "BDF67CA82B7046E57B6B4982039B6D3FF901C9A7", + "validator_index": "98", + "signature": "TiFrjdvHsHSYQX20i3axcMq8IK28ZEzzJzcUTuoXPnG3I48xcwJ+dKCRDzT6O8VMVQU3vJ/jbSjkELz7xd1aAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "C015E371B54F239FE683B7148A044070D7576977", + "validator_index": "99", + "signature": "hCFcG1wsINJzVGrP8amLaiEOj7et6hQIom2eqp9aiAMS/0fumGwgqiqLP2TIAINezI3rNjU8/bO3Sa7wtp4wAQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "C230CA072E37B073F97418CE158F691C99F79627", + "validator_index": "100", + "signature": "HpQlLALsHdN26SipCWq4dNLTmArakFfGpMywBXloS5gt27XMfXswgAhW1OJ4CzAe4ksZFwrU3xhnMrpZC/YrDg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "C37AE615063CA6060879A91AC426BE9426CBE419", + "validator_index": "101", + "signature": "Nj96k0GHaQ6f0NUwONrqVQEH42yrCqTUT6hMDfbF6YlOhJkXgkuXfOL6kn61VZVOYtIfE+BD8ntWIrEMDh/ZDg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "C3F3E4A5624731E535149A43B32D9043B9520EE5", + "validator_index": "102", + "signature": "IoYU68R006cYOWZcQsujCbIQstNrByrw6jOzilbPtAiPrij+Q0zqgC6Gx2nSR+ZcmypZePhwxBY1F5u4te7jDw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "C4C16B56F41459D7A5AD3FB2AA364244EDB48036", + "validator_index": "103", + "signature": "9BKuTeDgv2VBnGMOh/vnkbvASOGUChKwH7mCvRM/z4gdu7o28d4zEg6fdfzZgtksYCtuFeL0G2dYhNVvAq8bDw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "C66661B9D74DD31FAABAE5E17F5C73E04AFBF839", + "validator_index": "104", + "signature": "RtQ3+RW4pgLdvc9qmPqWMtuFw4s1T9yNP9mYyeT4ouN9lXfuOBp1BxcAd8fL+JKsywQa9e4sz0eO2kOr5LjkDQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "CCDB30DE6322925BA7A18ABDE21F8C0B1CDC6F30", + "validator_index": "105", + "signature": "aJM+0i1oUFNNictuUS9GJ85+ei8EQCeuxhDZQV3ah5Wrtml2vTBWEYMowRA904tgxZt61AZEdLP3V8YnIvzDCw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "CFFE7BA7EDA642BA98DE8605377965D441310A2E", + "validator_index": "106", + "signature": "560GYw94w0zwEQYXdGfcdi5fNsX6BsO/Pu3T2WF1cyHhJhN4wEAMK4s1Hcgx2JKt6ZWAPliOngL4I62cifRwAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "D472E98EBC0AFBE1712E59B33935529CFE118A77", + "validator_index": "107", + "signature": "XehF1vMixp30pgPkfVMrmHadyLeCWLVsPFGnK9yUj3itbHyn6XZZiEMO7yLv97QpNM2UfC0Mk+SjBRA5aKb6DQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "DA659B0EC148C5EDCB150E4C5F0F73731A7FE1D5", + "validator_index": "108", + "signature": "zuxAYbEXLqJOkp9VxXzJymCJmwhxxdIAjAf++XsnvF6xKmD/RU4KxI51XMpDuNb1bgg3GVm/HdXN4GmC5l4cAg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "DE1C088A2B107F6351DC857928568631D0EC4230", + "validator_index": "109", + "signature": "x4QkJYQT+wzQO3TjwlRVvj4f82OYVbayyiAveXfN+iXJVJg01Woa6RJo2NM7u3eoTU15nMKR9vzY64uR3bYwDQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "DECAE33B2A5556A877A3E43471988E21E9ACEDC5", + "validator_index": "110", + "signature": "tfRR+5n4o3tGIE2T/I/SqG60JzPSvoMxG6Ph7K6+a9KblzwtCyOCdKhN7IZfl5NfiWnIEqgoCRqp4T07m2lqCw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "DF600C1EEBA286C887D291321D08DF5DB781B41E", + "validator_index": "111", + "signature": "7m3bUw6T2/aUyvAzs/+S88cag0vixlNekbl4fgKq7CiWdGa3DyFsZTL36bJ8sFqjYlWG2eyQx+Nuy9doRhWOCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "DF84994D8ADA8BD8018F9B1440F0CC58B6968401", + "validator_index": "112", + "signature": "IEf8x+LPqv/c4ayQCtmlwvDEW/K1IY0v4RhinTRYMoawFUnStG4YfZNSaE6jonRibWUmoZzJNE24QZBxD30tAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "DFC0D44126E79B374329A8D8F65B7A6361DE3922", + "validator_index": "113", + "signature": "qR3t+7YB8k64kX/MVIHy4yGH2XbYqHY4zHudsONuKZ5/StQHBDweRuO+TuBng0IOEX2R6reKzouX/sH5KiysAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "E29C235109215DB8F7612C0F2096932B9D70567E", + "validator_index": "114", + "signature": "zMN6rqxre1Tm05jqs1J2xjcsRR4MeOMd/BsF6ctrFXBxayB4dc+2m/4LZIVZb2UP1O1iDd8801SrWAMN/56cCw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "EAA1B94BF621EA5F52C69B2ADD3C4E93A1D23C4A", + "validator_index": "115", + "signature": "Isk0+4YZAV2ifwasrzoRDF/rn4UZs9yjhQpL4ym4XPdZemw6gVNxcrGpZHBC8TkYFeTxZDDj4qji94rkQ369Cw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "EAE4C8E1ED2E20F3ECE734F76984E7731D49F914", + "validator_index": "116", + "signature": "ThAymLA/VyVQfkZCErBkw4QMcIms5uEi1X1HX64WM9NwZzGvcvxMccntlFM2Q8kcnyQJt8AiQhEy3/lNUcnGBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "ECA31C24BA79E6165B5471D43D10AC8547354F9C", + "validator_index": "117", + "signature": "3ksrh/7AvoV3sXIR6hsqouyT9BdDhwc/txSPQWgr7gC4L83oxhI66gYWBuRfx1uZ4vatiNLhHNmUYy7KFkxVCA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "EDE6C887A1ADB6745DC304310B9A539D8A236AA1", + "validator_index": "118", + "signature": "0zWptj4f0WyWXErhCZ5XtrPvR63n920CwdazhyA0DgcXUzHzXJqK4JaNYjMZ9D2zXCHL684RmTqME1T+/yrnAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "EEF11EA67706C81E43FF769CF15C842E2C6FCDCE", + "validator_index": "119", + "signature": "fSi7KGbS3B+mmGsjpEFIPVqpMYfoZHDJVJhsCpz7hhyvp5kD5pWw4WK1PamEFNGMBVHH6DnEYi9vq9n+7gzSDQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "F02A2853F65D73A334DFA636A82A2B308D6DC92A", + "validator_index": "120", + "signature": "ibz8i+mH34DT8mMjbN4J0hfDuxKy/xXgiAxeBOWezqOzZrk7CmB6gFqSKmUqPe8ltNdOKWhRjHUK4yLcy9keDw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "F173A1AF07F7FC6820544AC1C6B214233492262A", + "validator_index": "121", + "signature": "S1827ZVrxllgiWuC6SgvaQYiAJsxvAa3Y/evuHyqb1ZhmtmEMG7MyPNtca0KfDne6qJx+GcNBhhV9RmBQBs9CQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "F25CB645995131C7AF5097427CE9F47990A12D9C", + "validator_index": "122", + "signature": "u0Jm12ycHxnGM4cXG7jFEWvNfiBk9pvaBU4x7n76GW/3B750e1Zi+cQuFGdGSnILrYvi1ayg0I9eiy3itaqsAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "F4053AAFEC0249F8D3D55C9E197657FA9B57184D", + "validator_index": "123", + "signature": "6n8OmJOQEu4VPH78Ok3MvD3+0aJyN9Oex+d/0egynB44yCZIfGVNRtUJwXlJIdeMlKH/s5Co3+xoPIZCoRQgAQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "F95B539513FEDCBD12720D111F339280A222B64D", + "validator_index": "124", + "signature": "vwvK+lqRtsV3IFSgOnPp1SzyjfpSObd4GD1TSMUISGeXxmjHPKIXfNpZV88THiEPzaMhRyZ/Gsq1aTWS+Rp4AA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "FC636C36924D225C09944E11CBE6B16882A0359C", + "validator_index": "125", + "signature": "Ql1f0BKIU+K8Gl2sbd4Nkm60y3CDUUo5n59MbbBp45xWy5UJqIVjj2rXX+DfxsIFCTUEV6x6xnqHKBTgYd9BDQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "FCCD710DFE0DC5AEB8ABC6A20031EC0E149F458E", + "validator_index": "126", + "signature": "sfVnD0Pfq4UKVWM9lEh4MAjds3nmZjRBc2F1i7IVnohi7AYcI23/p1BZ1ooNAVi3ppEKzWaY0jllCg7pbb8EBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "FEE43DA03FE7782A458938545578AFC11DAEC071", + "validator_index": "127", + "signature": "KiVRa9Q7S4OabnrRJaMrkEZbcTgfqnBK4hBdy7BazbCnqts3ymbRIld2aKEdajxEU9QLmjCz742auNBH863kDg==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-6350" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XCK6BWW7PWfsMof+x3lYRaNKbtP9J2WoOUztl9TAumA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0859D2467F0DA63744B220E6E270DD3F0EEAC10E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "I44Rs7aDNyhp+m0Tx8v5h5+PadBk0hrnGRxjjRcUN1M=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0D7350841ACB4A53C7717C7E5776A5E0DB6D596E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "x0lc+iqSimWb7E5qjqGjhhcGfHvInloqPqcKeFs94Lo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0EC358ED84E4F9088BB57617024D49E834322B54", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/ruq8Sh5Uw9wfjlgz7365lP3V4UKMHijoZl+d3I76Bc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0F7E62DD0AB86CB03DA87EB9969B558AFE04CC6B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "xsPsE8CiTwD9ZF1hVyOC3Pbucfk3pXhhA0T7OK/epNg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "104776A7532559122F43A5763A13FA7E747AA44C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "17lBalGeyg7iPCeZZ5qqQo0IG10IqHdoejLCdRxwI3w=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "16E8EE7E867E20343ED67A83386B798BBC8CB7EA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "M0PtCXbgOaR3ldg6Wcpro1dnJiF86c2HwuG0lop+vhg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "17017FDB07BD7604A356325D499FF1CD9965CD00", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "i89m18+VO3HWfYsh9uPTmGpFrJFNzauYrxqFHOY/NKE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "19FF9F7C347FCC6100DABC66AE8D3E2294A145BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "rn5HJirSOlHMYWhuq9mMWvNOdp07fsYbp89nzIW/5Cc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "1B6D50537048EE35C2F43BCF284B59CFCFAA2F91", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "l9nBQa9NVbrdBUi1x06afmoYnZ+GaeVWWfMc2rruNLA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "1DC38F15CC04F552E1677D405EDCB2AF8610A20E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "4puyaJfGWwrHyu2kuiZy/BvPdwIR8yBNSZXKAGJ2/jE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "2022C00AE81BE3A15F9C64DAD16071AC4C78DD05", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "fm5HuWZCIGo+n78q9EBp6ooMRoky6mmB48oQ3SkAvM4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "22A34A49E778B1F2324C501831F1B41D5CE2FD43", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "JSWsW1fQnAlWzK8Odm0OMhNj4p2ImsJmGEptlDPeqrU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "276DE96119FBBE4538214B94C62BDD2647B1E2E5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "U9bh0FPYB709KXVlJ4XAtHpCblL98lpatZZxDHtwPs0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "2BC8D138F5DF6CAB4EB88B96DA66D9FA18EF543D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "UP3UAgPsub6BAlmZ2gG6PtLNyjO/5LdzS4jYSSoTAiE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "2BED56C755A702194CEFCEDDE096FF4F93C3652B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZNDcajXkY4bRtEBAmUAlx2d0HruUQWBS5HmQI0wwtBY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "2C5901D7C2308886511BE96C7D60426032B4FD26", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hyG2JJlVjjWahm0WejWZng4Ril4gDMj3hXofQFTj+7A=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "305ACD56F23E26BDE200C06825B4B0C90D6EF09E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ck5ovdxs5unS0mvbGqalrir/gPPmSiAS/p8j2DCrxl4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "31B6C523836521A9896D96BA1B3D99571249CCC2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3MmFrfgiVg7r0j6pWy72d71qdmrr4VX8XZf54zRkOlA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "34167E39185F8B5E144BC73E9A54A65C58B5806B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "fmYSCGXNmzqPVBqDZe/+2QCbXsrY8LJ4w3sIs25Rai0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "36F2C307B74BFA57300F1C7F8CC24180F86F2DB3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hxpKGTEPS46kLDoesT+WpdY/CcilcK8dtkPjWshPF9M=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "3790F095C2C35C28804F243DF9F1D9702527987A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "n4sqH4bqJSkoH9DOe/GYJJVAIX/j5Lj1QbDdi6tbUxE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "3AF9DFDB695038C1CDC08E6532D7259ED3CE6136", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0RcGmAScpJvvMpnT+kzEfSllGQrNYvW7TTS4nRKeBIU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "3BBA3A4BCF6BD50DF93399D28CCD2C77EAF04DD6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "o7wzwfrjCiUUr7fjHb2vAmtN4FOvAWw2HB3J27rZ7uc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "3DEA89BC6049093CCBB86AB1A26A7A89FDC0F170", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "8dIzhTOrl5C6Fie/BsyJ0jusfhuHmuIAj0PmurcSzTg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "4099E6362C41FD472955FF42D640ADC8382143BD", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "bi9agQoC0nPb8ETaTbB7GtTTJWJ4Ac7+G1aIe3cpnn4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "409BA2271966FD00E50CF30D68F02656C1BBEEEE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "d7aLXaaYAOzSm7O/tXzmpFkAMIJoSbtLNmp5YRn7yPU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "411EF3D45200CD9F4AAEB41569C30095BE5B8352", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "lidiSfq+SqGm+rrnUOTgeAdEVXSR7eI3nSRBSvtknxU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "44CC86D5E237AC35EFAAD48B737F4CC56CDF9DE4", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/kNzF1fajUfYDEO6YfnJzFR3FwFdM4vhIz6EgGaUX/c=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "44D5B54C74D990CDFFBED82788E0DD3DA5DF91CB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "qzjHwG+dwCMXoBUj+BNJD9Re3s+UDUGP6lGX99qK8go=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "44F6313731281FA393DC0BC3CED0F141974E6E80", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "UzLjo4moq6iEE/t/OvZu0eyPRyEawT9KUIuBv903eDo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "46D87DE55A2AD46C8BF375467C857D88F23E9B27", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "63/IWqNHDYYopzqHERVG7xlzpVAI1JpISqVXrpww9Yw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "483B3ADB1C595B2C292FEE8C65C9F6EED884CA00", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zZxuCLwHjbYyT0AGpAuRu6iFTqtrhr9A7aLYCRhRxXU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "4B66EE9E8B13C4494CFCB6D0F6A19F1B417E172E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "lYcfeQrV/km1K1Is/Sqt2UOpITEaTB1C+Ak8gB1TZbg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "4B924BD542EF7E25F33D1DA71CC9611CE640E4E3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "A05Mf3pnWpQMeWutGgI8bh22Bd6B+EiCkuwW7jWsOgw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "50C24570B899B11034B1A8F51CAA91D479C555C6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "znqmCvYTlA1RFIZBAzLRvT54efnS3EVmZ05ZrbFWZpI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "53BF6EA4BB98D5CCB8081DDC2B6D80E790ED6091", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zv8gefGS9GKaAsVYQHh9y+xkw5sgBWP8gk1HGbYYRy4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "549523D99B417B356A37882EA5BE22444BCACE49", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "KSrXAAa3As5ORLjMCeXLfxjqwsvOSAvYIljFGbhf3B4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "55B6E0B429C582D102A8C5E9D211FA07D2AA3DCB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ppOdDZrQqjxtBvOifnSuQ4DzZ/w22q7lNE9xrYIIfS4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "56BA4B6BE15A47356AC20339BE1FDEDA2994E34E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "1qM9CJwyJQJGOIdWAozNaTs9KALlX0gnDDQUwcZJi5c=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "58086A4142ECDD35E8FE1753A6256B98D9661F0A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Uby9JGpxx5WKUUfJQulMBb2qVUphJobqHEN86zMpFFA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "5E561B91BCF07518E0FD2E510C233D455B306856", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "NwPY9cymnZc1Lxb2DUZdW7PMRhBh7lQSGdVAgVZeDZ8=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "5EFB8BD4E6B0A67DE3E9C64E728B8C10614DFFC2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "eoBz3MZy5yLeSkJocxPobWDiU7akUc307R3zVoGUr+Y=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "5F19CEF4820053AA8787D93C86B7CB39D7ABE40D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZEpB4tm+ml9BJ69RyM1F6yC6KWpxciBJe/cZ/6NUldg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "5F8C09291BC721346A7571FAA7936C33D2DBA44F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "i8iVTRxNhSfhxIZcuI4ppye3M47DLpOY0NVn1f4mUo4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "631F83C22D4F46F72D732665F61630B408F216F2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "RmvubhoqFcTLJPKuc9NQeI30RqYDlXu/YJaSmKWcThc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "63D15DA922FD4DD88FDE33D9B6C80675D0BDEEF5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "gN338koMV+bz7fzauWSqGhJGBDPIUsjhj0oQKHdv5ww=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "6548BDD3B9F3B8C243F3AC094C2C58332E7D32DC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vPvGiLV/Mjtd2UgsImjV5TMxaUBLt5b82T6OwJfpLeA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "66CECDE4581CDA058A1D708D183E606B43274946", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "xKTou5rj6JK5Riiq+LXVNl2AGEHB3hIaTj6JklrcenU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "6BA54EAE4890CB52A69F3F520524C5602442A857", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "jIPBmdnBx/aLRCmgOheKG6mN+ls1asRVn1ypQDeBVDQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "71129EE0478B5EE8366C6D9E9465C494CA1063B9", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "TucFlevTMXVH8YX3LvP/Y0cq3u5DJ6kqfalnl01unKY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "71B73AC10644A4E0172BBA6EEFFFADE9729BA17A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "9C+vwXG+jDElowp7hd0VtZMIM0QGs9hSpAjHatJoavs=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "75726122C13922D71DBDBBC4ADB57AC147832914", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zQe0pS1HdvVtcg1Hb0WfqhNBl9jpuJggDfSyKCa+0HU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "75A48BE1310775AFC556D46EA2234EBA3BF388E5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "z/Yxy+HxU07cB8fuAZgow4FhJZcm3tqkRdyj1+3ACv4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "762408A51C56E050E55B4189D8D76709343F14DE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ie4HhfootkQ2IugMlhqvkAQZUNCIKdNo9wxk49zXvZs=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "786EA666F2382583671F77A1846FC4ABDF9F2E52", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zplQxvJiEbjx+1PToTwDMnjc8ZGPikHoY6N1BzoMz1w=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "787157EB0208852323804C28B3887F756F823A6A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "iHjXDCZGLeGqbpe3Sr/p2I6YzhkwcrkGqxLxjLtae7o=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "7B7F7BA0384E0EE165063F9FCC41204F290A50DF", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wvoROLitucFfBKlKtVbgdR91B/s6C2elUNBSB7jJ3NQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "7C779C769D5F8173002F473CC719305FE8FC9437", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vXTTO5/GcGP5+kcSbqteHENtjs6vLj5O8VWK7rEQoOg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "7F3348BC852CED5B77DD8B279462E7EFDF078001", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "qz5EHLa8J5Qxw6DaSMSdVDY+adVxK8uy79HEnwSxT2g=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "7FCEE146134268E411753C6EA9C62FF36C7DB6D6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "MYRRf38BXVkdiGuTZ2OH4Ghhg0IxDo/4+bLyvks4/sQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "80204F6D505D5E420C935E3A15F401A19D3AD088", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "8lU058pusC1yBovi3twpc0cI4Zti6VyNzw9Hq4IpQzA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "8244C94F5AC0A5C208672AF54B115715E27940AC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/Bs8sf+d4K8uztlGCstc5NORiQy8EyfTCY9fzTJCQ4U=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "833CC4C5980DF7FFBED4F73EA347B44E8B985374", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "kPyMxDMWgW4nGHXpClW4HogSwIZbt2oM9YJRxcUYROw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "83DCA4191E49F62153DE50F18025F8876EA19BA3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "rKZ9HIx7FEjxFIxfUstXXg4Cml7gU7H/WAbqEz9Ew9Q=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "85458A404CE4B1798A67AB9BB83582C762BFC9AC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "mSM58wILhLLDLDEaE+XZOE4UlSrstmkHgGuBiuffjEQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "861227E76A82CAA51510E7E50E929DD7F0620632", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "EYIEcSVx43luraoix32LPZVLAcgKQVWMh/aGbupnCWU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "88BE7AF676F988584BDDDFAA7875D96C569046DA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "2GOtwtXCIt3hoae7hAfHiih+zuojKrKPpCkoCDzdgyY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "88CF3ED94C8FB8772CE13EB668E5A43C2B4105F2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "7YRNZJYRqTw3nsF9bOLoWFF0JdXyklQi8DZ13uXAg5s=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "8E497CEB9698C545DD43A5D054DD19067DAED154", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "P7S9NXci87tUoniFV92LrIy89CJhOITAOFiotfcFgHQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "901C4F75F152494B605AD385A32697B47E542874", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "bADiYHWxEj48QPl7V3NmFtEBDC6lRHwdolSoND/Azjw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9029713BF8CF5E0796CF1824200264B58A54A831", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "xi9BtBZFunLboJGtZ2BgDFB5sZ8B30LJ95eaAoKHEZ0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "90F696DF160C8DF08C2DBF439452CB559230FD52", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "l9VCVnigX9r/ngvvODJy65Ux05mHgq1bAtMzUTdj9eM=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "96C8B06B9A84DD50905374158D5874C360F0E436", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "iH9JV/rTwK4G601Xdt7UXazhzVEpoqGS41SLaZCv9Yg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9887FE69CDF1A3B7E2B3587506A7DE299DB96841", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZoRHjDslrC+Bt0ylNaKH3tdAFSjOUpKPsQHfCQdzgaI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9DD616591929A0821368A45635B71A55522F82C7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZeKSKBR994qPBqDHZoPTX3Ka2Z7u3qA/LOtpudQeNOs=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9ED26D8435540AA635478C769A328CFDB97A8518", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hGGrFZ2JCgq/vYPBpQxpY7aMPnIHkH1uAyUVYtW9Ba4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9F0D30B162AEF95F0B38488C47902BA4CEA6E6EA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vpRJi+yl12C4zwge/VSeqIgvluclNBTvUqoTV8SHdjA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9F445AE036B207D2DE04D0E32313A5A4B715AE85", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "FGdz9P2B8gYPui+kEMkdKNKzAldR3rrtvCtRaAWUiG0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9FDCD33F13D8106E469212E112E37E3E48A09101", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "VvXH3+SoWTvCOXpfvWUUxvrVbJZ6eW3f4DpZaq96fe0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "A37F40DF55197B9B24C3D9938A8AA76CCBB80BF3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+cTbf6acip7dwxVi5ttJjPIbdeNSAmJriiufJbfisY4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "A3E3EF26B675F46AB3B701A2E744BEB03F4A7F69", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "y3D/fwrDDW1imqsB+9YVWUiOigYnKpoI3v7cz0aS3gE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "A54EF86C44B3F5071191A0144CCADB92118B2230", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GhvEC9KhlqB5GQhtvrJfiwG/rT9Iopp3q8gUdYHRLY4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "A92BBF76E98907998C193A4CCACC200A3CC75E30", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "gmM2IlGnht2Ob1Ih+n6yrd8FuypOfjfhCteSSQ91Pak=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "AF4B21D9AC2387443EE4B05EE09F54D846A3BE6A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hlSyNoLvCCQTSUV6HXuiN3gmZAgQnlTaIHq4UE7Q0o4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "AFA48E19711A6EAADF676EB680C82904FB1AC16B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "cViNtsX7rEljq4sEm1nImdb43c45ncvyT7RihHXP/UU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "B0AA5BFC7B1E2F324C4B46C4AA6083EE4ACF9B62", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "TGdcglY0fT4wpgKviFRhNdskxDDrKqIcbTwaqISTWps=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "B46DF4B1C3BC26C37D5FDD5B911FCCD8244857DE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ztE0dZ3qD/gJxASCrSyEMByum5hf0IKS8KuGm3brGNw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "B62E68DA52B0400EBDFA5401E2B77265A4ACB2B8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3jcKUZws9cthuUvC8bHUlEQ83uogY1ABWaF6zy7GyIw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "B642D822FEBBA7990B9F02D4AF86670CAC27CA68", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "pN590Y+E8UIW6b3S7v+PQcMvw7Ipbe5fBNlvEPPZCjY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "BB5A8EECC92ED313C2C67942320E781AF7ED7268", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "5k4lIz2K7+of+AphESqYW2err3cNXRNbsqUXm/k5x2M=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "BDF67CA82B7046E57B6B4982039B6D3FF901C9A7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OpSNrFayxfW21PPMApfVuzLQfe5V1Dotd/MWwH5yVg0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C015E371B54F239FE683B7148A044070D7576977", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "T7apJi+EyTZ4SEJtsxL5V+Fw04QUaBh316CFXME4Y20=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C230CA072E37B073F97418CE158F691C99F79627", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0fFmL74Hrhcs5jmxsezvSAMacxqD98Uvqg23Ij/q21Q=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C37AE615063CA6060879A91AC426BE9426CBE419", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "jRKiyGWNoXjJwcUnl4Rzeo6tAe/02/AoKwGkjxG6SEc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C3F3E4A5624731E535149A43B32D9043B9520EE5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "C7jFi3Zygv1OAoIkH2rJHNecgirSU6RIDMRD+lx0Q/4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C4C16B56F41459D7A5AD3FB2AA364244EDB48036", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XDT8PdcVgniRAgbz3F1v7eHzhAXGu1IpmSx8FZTOSTE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C66661B9D74DD31FAABAE5E17F5C73E04AFBF839", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Oomi2eak/GkLZ4HA9fVuqCEyA9HihRnDxjJw4rOfgZY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "CCDB30DE6322925BA7A18ABDE21F8C0B1CDC6F30", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "j3zM084W2/Kcv+R5OO72hjSfvYEvQqc+SA7aT1AgRe4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "CFFE7BA7EDA642BA98DE8605377965D441310A2E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BlaLhSbhOeU05Zi09z3hjISZkrmwJmy7eYlAoTaGkXc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "D472E98EBC0AFBE1712E59B33935529CFE118A77", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hJUp+wx9txh+IHeJ4n5QHyQVxiZVBcHrZ4AYEPXWJY8=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DA659B0EC148C5EDCB150E4C5F0F73731A7FE1D5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "KBwlsk8RIoYg2HB1XDqNMnAfHLRQk8CMF1RPB+j3/S0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DE1C088A2B107F6351DC857928568631D0EC4230", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/QW0pe/82MqaP3ueDLaCwnakNAo+GFoghEXgiLybP8o=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DECAE33B2A5556A877A3E43471988E21E9ACEDC5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Glj0NnKo47wq3IoXYJpL2naLXoM8+fjgJQN+ZMfnAKU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DF600C1EEBA286C887D291321D08DF5DB781B41E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Tf5T5r4/wsFvPdj8z35oWPP4TuuSZA74Ktnt3g8mwXQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DF84994D8ADA8BD8018F9B1440F0CC58B6968401", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "LGS7jGMN1w8AF3DbGY0ulbwcYPVhgFJS6OJqrkMNhkw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DFC0D44126E79B374329A8D8F65B7A6361DE3922", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "W+CjYjJLWr9oB8jwefIE7DDmPhugw0s7fq0KkNfsdVA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "E29C235109215DB8F7612C0F2096932B9D70567E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "7QIYRTtwCYDqadOIQ40c0pci64o+S182FR0V+x0fKEA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "EAA1B94BF621EA5F52C69B2ADD3C4E93A1D23C4A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "foKBMkfvkZ1nq3DrmiKxxZ3Mx4Dev0jVQA4mqSocHCo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "EAE4C8E1ED2E20F3ECE734F76984E7731D49F914", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "WdwdjF4cDC8cr/QBwK7aSf0P65EU8zil/1oPYpjzB+c=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "ECA31C24BA79E6165B5471D43D10AC8547354F9C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Rryj1JTEgZ3cdfopjkmHI63AWOYCLhsq5BBtMLWrcNM=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "EDE6C887A1ADB6745DC304310B9A539D8A236AA1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "qIi5R1hO4fosjdY6Ao+tvrN243gT7nzKlOFZTa9Y564=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "EEF11EA67706C81E43FF769CF15C842E2C6FCDCE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "1qGw6O9yL43hxxpN8peRu/ViAXN0WjzG2utBwlIc4jU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F02A2853F65D73A334DFA636A82A2B308D6DC92A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0l7zJ1NLfmin08u9wEk78rWwsG2+4OMveU0csi/9+tc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F173A1AF07F7FC6820544AC1C6B214233492262A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "4rJshjyQu4BHrT0ISKjxbzGeso6ABwgImeLXbvg2wG4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F25CB645995131C7AF5097427CE9F47990A12D9C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ThgrMbboZQKsZxavjFmMnNw8drIWlkZq+F7gkF938vU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F4053AAFEC0249F8D3D55C9E197657FA9B57184D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wm3aUzYr2z4AK4RfL0SzrPEKaOBPfix0FLKxHY1v5Ds=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F95B539513FEDCBD12720D111F339280A222B64D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "L9Dl46Bw3k/ehotfwQdrtsCkn/9yKknPX5pmCk/CPA4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "FC636C36924D225C09944E11CBE6B16882A0359C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "nHPrnHkvryBY3HYND3zQYv1z0Db1CymkbQq+HG3Se2Q=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "FCCD710DFE0DC5AEB8ABC6A20031EC0E149F458E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "YoqiYKzLy1IMN5OiHoCwUPgbJW11GvrIJ8P2hG5jLFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "FEE43DA03FE7782A458938545578AFC11DAEC071", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+kK9BAL2WiD18tpLQZzbn83/frwAj+neOeKu9W5Fn/U=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-6350" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "87910565553E6C151D386DCA9A80F86B200A7B3FAEECA2F11C710AEAE735C7F7", + "parts": { + "total": "1", + "hash": "A2D5EA7073A7932B835BA2ED52528BBDBDA435956092ADEB6385640F1A074499" + } + }, + "last_commit_hash": "C94A5BE4F7E3F9C8B6E8638486FDC2BCFDBED46E44B12B5E5F66DAD296E2C65A", + "data_hash": "", + "validators_hash": "F41F9750B962158C36B8DD50F70D92347880D402A939A96F06F03DD3D5312C54", + "next_validators_hash": "F41F9750B962158C36B8DD50F70D92347880D402A939A96F06F03DD3D5312C54", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "CZjr3gwjR4+l81eorIYGKFgPy+TtIvSwYeSIDTgwzDc7uvXJy/2i58XB27mkBAMzqQXJywtIzvq/rxT/Sf4NBw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "rHYV5DI6G8lNTfuyyOvEdMMogkFO7dzrU9r5W/4C3WA/6gUba9Mh65USIezLseDNHSHtIaw1t2Lt4KiQMRiVBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "raN/Jam8qTsgluSyPPwc27lGL1xyflGOrl1vomotTCdATJ37Qsj95lKS/6lI9EMFeuA6oJlYGuKVTwsJUO+iDA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "r2pGcz+5vtfWNOy/ogSJFU0CJHzTKIhwIpIpOzvpP4Tg2KVAY4mSW9hAYhh02bfzSUFofA4RkydLhli3y820AA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "4", + "signature": "ZrsUURoI+uyGw9BkDUfpTl0fDpn8Z8UTMjiXO8Vw3hsicQQ0rPHdeti+rOD1qyD9s/HNKN/s9lsqMqW/WZ4ACg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "validator_index": "5", + "signature": "oHEumNrxNnZ6d1NxREfPepn45nAV9K8vlsCvqBhA6dVWpHToiV3g+90g055ZbC5kp2rlEHeCT8lu45kHt1XIAA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "validator_index": "6", + "signature": "Nfu6DeldxBd1AEg8utaX93gGvZM6Dnz2QDu2PhNcP7ztMT/nzxHc6GVo7j2ZGEeUPcoLM65iINt7UW7p7a7KAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "validator_index": "7", + "signature": "BmB+OZmLhb2yrPQhIVw0Ye4uBqqNMM/slOdp4dGF3taMgj9Hcx9bTShyMcIX1Gt583x8guS2l9rGyIZG8LK2Dg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "0859D2467F0DA63744B220E6E270DD3F0EEAC10E", + "validator_index": "8", + "signature": "qURhYEoXw3fpjsNRpvIFbK/WEHBV4gBxMVwNFPUTy+JreJ1mEIX71g/oG57qRaQ08JmHH8ShEYzaKeYVNm09BQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "0D7350841ACB4A53C7717C7E5776A5E0DB6D596E", + "validator_index": "9", + "signature": "R+Pd/hYCcXijnyqhGb78oVzSqAsLjRjBeKmICXxkrawEZOOL26xlHyDH8gOPHz5V8qdRxlk64bDYcmLRGTs/Aw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "0EC358ED84E4F9088BB57617024D49E834322B54", + "validator_index": "10", + "signature": "nkpE8FCj7+z7Er/qT92C/EZXGZtum+jDqbtCmDPEytd2oPZ06+YymeWh+7LilcmbjeEQ4VP5pRcinvZkdphVBw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "0F7E62DD0AB86CB03DA87EB9969B558AFE04CC6B", + "validator_index": "11", + "signature": "WQ1GEvXGtkryMnxbCvBqyc/ByKtdkkh60XjQztcYGj0Q/azwogD796BT2v8ik/X6pUdfyDvTms0OTg9t77PtCA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "104776A7532559122F43A5763A13FA7E747AA44C", + "validator_index": "12", + "signature": "Nv1gg/Jk1uvFStn/Yz/5wyxty9B7sYb/WHjQEEiqq0u1HbrptI21w5DVcbT/qLnbAkN1Gw7gNnyujcO+6uECAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "16E8EE7E867E20343ED67A83386B798BBC8CB7EA", + "validator_index": "13", + "signature": "EwrcLXiu4wPggbTRylrImHGoUDZ/crb+hhO4NEP+X7QTELeoovIQsWhDG0t2ZTxnsiQBXFSnWPFy9VLdTluZCQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "17017FDB07BD7604A356325D499FF1CD9965CD00", + "validator_index": "14", + "signature": "GwaQeKpDhaEOtHgazlUVkhOcp+nGjuI8jS/xQXaI/hMugzc9cJUd6hPM6iYmrVOHNLHqcbvrP2RWH9PXhkz8Dw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "19FF9F7C347FCC6100DABC66AE8D3E2294A145BA", + "validator_index": "15", + "signature": "7wgPkseULNI3GpTWNW5T73cnHMi5c/jfbMvCJT64GfQm+cUAnRhHNvIMBoIMFsBKBxRBaUcKsRy7DwZnE7hhBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "1B6D50537048EE35C2F43BCF284B59CFCFAA2F91", + "validator_index": "16", + "signature": "vLUuuo+qH1PhHBd8kli4K8U7MQ/4+CwyPX9MsactIbwo6CWWfhxcZVIRpj+BBube4lt49P8tbjE9sscqjgTCCQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "1DC38F15CC04F552E1677D405EDCB2AF8610A20E", + "validator_index": "17", + "signature": "hMv3iGcGNFMQtjrlGKVsJkMlMu9OcxtM8DT9CmyieYI3xsvJlG2nidlE9ywx2jT7Z7nNrRAOQRmE6HMaSzPQCw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "2022C00AE81BE3A15F9C64DAD16071AC4C78DD05", + "validator_index": "18", + "signature": "G4sps3ZnBMhoyJNGYg0D3/ZBWMIZNwzaIRpYXn9RMDir7b3GWNOMnnOXWCkuMADfEB0VFmue60/532/d5ZWnDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "22A34A49E778B1F2324C501831F1B41D5CE2FD43", + "validator_index": "19", + "signature": "oEc8y/bvu1OseQIMde6gFhxphoP57Bf8tGrDGIwa/I8ZaCIdLbxhHFCj+77OWGetdrZiPgS0Akljh/Jj3EZBAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "276DE96119FBBE4538214B94C62BDD2647B1E2E5", + "validator_index": "20", + "signature": "ipZ12Yp95JmjexGvmqU+pcn2TjLPdgIk27GuExzNx9cK3Y05O7wKUHFkgYyzjeP3kW0b/DpBKnXO6+bFNY6sBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "2BC8D138F5DF6CAB4EB88B96DA66D9FA18EF543D", + "validator_index": "21", + "signature": "VqiLcFwkDswo3vx9OsCrG/L6FkHMd7rvo1u1Z29IUSElwaggoj7krXv9JvVXi2dGe//O/h1EVpA5PVbEM+EjAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "2BED56C755A702194CEFCEDDE096FF4F93C3652B", + "validator_index": "22", + "signature": "6XbSbNOdJmDeU9A1shL8EX5Z+d7OwzW7jEdNkm5lOk3Js16aDXDwS8dYarwHBt2vHZAxTmdv1KQIO7jxZG6QDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "2C5901D7C2308886511BE96C7D60426032B4FD26", + "validator_index": "23", + "signature": "Oyu/m8bpLWUYv7j24t4/m6aPCp9fdnebowLulgat6eNpwHvWle3N6GO4GlmMsbU0JUX0vIruHjTxqVqFkJX/DQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "305ACD56F23E26BDE200C06825B4B0C90D6EF09E", + "validator_index": "24", + "signature": "cv97WpwntzzKVDBX2fueE3LC6qlptovRMmBivh0/NckUF4nVrG09GpqlTDucwWj6dSh5Y3pmrwJPklv7CDo1BQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "31B6C523836521A9896D96BA1B3D99571249CCC2", + "validator_index": "25", + "signature": "nsTo8DRw8w01IJCKa5Izs4bQyEOVoGlcHC+rRjPgZFcMK8sarL0+hfcrsGxHUfbotl5Al1ku09jw6Bk04mUNAA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "34167E39185F8B5E144BC73E9A54A65C58B5806B", + "validator_index": "26", + "signature": "z2SPlkFHjDwCfDm5bxAvYlc4zYqc8a2ydR2aHUOOsRR7vEvHT6k934tC+1nl2RjSp7Ri0CTMHCOVHC23Il/TDw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "36F2C307B74BFA57300F1C7F8CC24180F86F2DB3", + "validator_index": "27", + "signature": "ryfgT6BEogSjDPud8KgnBL5MKFC57nmUSxbHWbNZXiNmH9/xX+SpSpqJw5UYFQTXJ4/SFBTkVwr0nku8pZ4wBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "3790F095C2C35C28804F243DF9F1D9702527987A", + "validator_index": "28", + "signature": "zYF934fIortzrxtwOBtxqm1jwRn3BAeVanTOEzr36SLko0/xR7xEwxDQ9elBv7+xSPVzVPRvuboy5kBISc58BA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "3AF9DFDB695038C1CDC08E6532D7259ED3CE6136", + "validator_index": "29", + "signature": "BeA6JAbVzW3o2GxLJJ0feHNl9/6SnJLIMJPSl/4yTTjP72dyApinrM2gGlxLxKfSH96FqgaIb1yV4Uiob9VfBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "3BBA3A4BCF6BD50DF93399D28CCD2C77EAF04DD6", + "validator_index": "30", + "signature": "Gv/Td0tgjNHn5w0pGOJ7FoVy3D9PzaTEz95uyrQlzyhaV4L47Y7BEZIWkMCmW/u9lLcDX2ixy8WSNEnrkePkBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "3DEA89BC6049093CCBB86AB1A26A7A89FDC0F170", + "validator_index": "31", + "signature": "gCwvpAuGdrQkcXJ9kDeVTN8EUKWgpHK2lYS9qFEaXAcBlJ+V22J9eOHvgrjT58XF6eL0tGYAXVUWPa+Pkja4BA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "4099E6362C41FD472955FF42D640ADC8382143BD", + "validator_index": "32", + "signature": "Ppda0MLk1bDn1+wcF3/VtGz0RxWz5vbrvmQ8tluLumH5mcA7IVfQ8ypcE94zES/j/EhhbAMYpVQWPOxwOyynBw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "409BA2271966FD00E50CF30D68F02656C1BBEEEE", + "validator_index": "33", + "signature": "F26Y69qR+SOWE/NSNkRIv9CAMi2+Y7nz+YEmoou/aDmot9L0gHy3BjP4QPXelUeBIH2qtkc2m8CBZukASZfeBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "411EF3D45200CD9F4AAEB41569C30095BE5B8352", + "validator_index": "34", + "signature": "phZ5yqUg9OFwKIFFoNgkMg6s9euDzXyh4H5NMOP6KubyDgYkw07Fbc/hwS/1Gq6HCzRxYbwJ2ICS7YIrwD5fAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "44CC86D5E237AC35EFAAD48B737F4CC56CDF9DE4", + "validator_index": "35", + "signature": "0DWgtnU6jZq+A0XkDS5CFbr/YqnW1T2tCOIMY/YYcC6KypjiYsk2cft70OpL8yAf1ZTq8/GkU2pzqNOAWUwxBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "44D5B54C74D990CDFFBED82788E0DD3DA5DF91CB", + "validator_index": "36", + "signature": "/VNLpogCM2fcSfeRnz0h3dipuH9xy7d21s80r0fZR3nM/vMpVDxDjW/Q+9x4rvKDwY5G2dZ+RbbZAm+K1MZQAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "44F6313731281FA393DC0BC3CED0F141974E6E80", + "validator_index": "37", + "signature": "zaoPHiSufIHlabz5u1B+mBVL841/MM69TeI2Uu7fBbReA2EcImPunBUET4eXnsDGHb0ofzUluv0+G2XDtQeyDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "46D87DE55A2AD46C8BF375467C857D88F23E9B27", + "validator_index": "38", + "signature": "P3ODttsJxo8HRmY0T/5eLp2XsSyl1anfKQ1Zji9ZUtbVX8g/SXF94ENHx+kR4onJawxcr9Z2FHzly9KjQkWcAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "483B3ADB1C595B2C292FEE8C65C9F6EED884CA00", + "validator_index": "39", + "signature": "A8IEIk4i6ijOz5rWn/TJjshyqjMoETDXL1igQieJkV1LCZvh2RNpn6q6VYGypd1KuBzypnBStmyu8jXH0ZFmCQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "4B66EE9E8B13C4494CFCB6D0F6A19F1B417E172E", + "validator_index": "40", + "signature": "JdKvTIhS3r3Az1pHYczY9ORpbuF9VcXo+qdk9sUvshImIXkIiD7qG3k/mOcI5s2b6iwgOV5IFX+PgAYdCq0DDg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "4B924BD542EF7E25F33D1DA71CC9611CE640E4E3", + "validator_index": "41", + "signature": "Il40uqipcuveOmoCRIOx5Hvihc45FmgJMK9Y9qIZEFkUxt+iz+XsN3hxzez6t+s1KvjlhKzBxVb2HxWSVxETBA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "50C24570B899B11034B1A8F51CAA91D479C555C6", + "validator_index": "42", + "signature": "6po7foJVPY7An4nQAdpXaPVk4JMGWW4VeWOQIW/fYwshhRCR9lEJK3KsVQG6+4USyEulk+AgG4yBFWd10nuVBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "53BF6EA4BB98D5CCB8081DDC2B6D80E790ED6091", + "validator_index": "43", + "signature": "rycIahu54bzWW+QJSUFdn7ydvyi/RfW7ESYDlgZAbMijMyf723lYb1KhrP8KpWi39PvqUz3zRHAf1/ZSpUmhAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "549523D99B417B356A37882EA5BE22444BCACE49", + "validator_index": "44", + "signature": "XYs6UPeesaxmC5uvWkKEV+XQw7D9l9UJ+Lngf4x9xSysvsKK+t4Fhs6GHqSeMy5hsdoVviBYI93ktnZQL3POBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "55B6E0B429C582D102A8C5E9D211FA07D2AA3DCB", + "validator_index": "45", + "signature": "GuM37KfGxav1QPpVPT7JcZtN2TVZ6E35RzfV5LyYp+7YwpyI1NB3mbXJjx5hjZw38xrkhEKNHzd295kIl6vhBA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "56BA4B6BE15A47356AC20339BE1FDEDA2994E34E", + "validator_index": "46", + "signature": "9DqIHnsZC/klPjvEdU3DPUg9EIJl/MlU/lv9VMRPoim8aBFwa+15blrdXKIC+dobVPRZrCwdjIJC2fiNjlXdAA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "58086A4142ECDD35E8FE1753A6256B98D9661F0A", + "validator_index": "47", + "signature": "L2lQqNJTdjTQynPjkknLn9EnhG0JvKf1v7dxnJJCObiX/CiKPP/zw3zUGmZBVvIj0P5IRVL2wFbTudNjWx3OCg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "5E561B91BCF07518E0FD2E510C233D455B306856", + "validator_index": "48", + "signature": "o0254BzLO9qToqlLGzckE6xwvB9xQY0dJ9115KJyo0pvpgvEDghZGRSUhqRe8fBwI3TMfZWApLrojsEHsvjAAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "5EFB8BD4E6B0A67DE3E9C64E728B8C10614DFFC2", + "validator_index": "49", + "signature": "pa5kwW22cfCBF2UkGKGhNG2dHModrJD09o38R1j/5GyA3wi0w73ZKum49Uu+I3ECfJqb0QRjJqxr/qO5+d3tCw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "5F19CEF4820053AA8787D93C86B7CB39D7ABE40D", + "validator_index": "50", + "signature": "UCwNLAl3OxP98MVrDGspIhOT56fCgrT4UtqKJnmgKkdGPwWtGup/IUhcG1e5bhcz0Fzbz/Ntg2htTT/1fuZTAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "5F8C09291BC721346A7571FAA7936C33D2DBA44F", + "validator_index": "51", + "signature": "iNDxBqa1Rg58sxJQiYDLX4lG5ET1NZFg1D6bbzE4sqLe0bBQjLFgClfiGDdLMNZjHIAgRiDb1pnTQT066Ag7Bw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "631F83C22D4F46F72D732665F61630B408F216F2", + "validator_index": "52", + "signature": "E0Tu2x5rN5irfD0s8AFJ1gnI90CV1XgC8C8+mKOK1xW4UDg9JsojNCyCm89dDcuub577bPgj5fnqHnhHp1IeCA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "63D15DA922FD4DD88FDE33D9B6C80675D0BDEEF5", + "validator_index": "53", + "signature": "iME28BwkCrsIWM9ddHqQgDLDhCX1DSXDJtvAaGp5HLDK7VQuDCaCHKE1kkhIMHO0KnGwi+VYZbD33YpQeb0yCw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "6548BDD3B9F3B8C243F3AC094C2C58332E7D32DC", + "validator_index": "54", + "signature": "o4XVkb56xm6bX9fo9w4fyXunOQ+G8mDuOc7QX38ezUmRETXKscAmjtrRhHJYc2CxiWEIxuVxMM8pBHS5aDppAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "66CECDE4581CDA058A1D708D183E606B43274946", + "validator_index": "55", + "signature": "6P+W8YF5gxR1tHl+PwuorNpswPZ4jwkL34lSwWompRcuN/IZ4cnn8e+8zJ2EaA4EhJjevBdcS0Fb5kC+vlD/AQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "6BA54EAE4890CB52A69F3F520524C5602442A857", + "validator_index": "56", + "signature": "YELcS7g44BY+yP8Xc/WehYKw7kWmkRBAkvNrFuG4EeuFmD9qgV0K3b1SzRuyjdkqlFcDGUs63zer+u8KcpE2AQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "71129EE0478B5EE8366C6D9E9465C494CA1063B9", + "validator_index": "57", + "signature": "TYOsSxA7s67YEQGxCagoi8ICB1reydtQql/ZGRiiwU6cNN3GN8ugkB7DNnTqmPLGhRwLlgAwKA1fHShlTEE2AQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "71B73AC10644A4E0172BBA6EEFFFADE9729BA17A", + "validator_index": "58", + "signature": "3wAmlcSNUEWZXO2//GibsFAyHgLMRAta6Kqv2x7D0AFT95oa0pdybu2quAMKTBaoEJI9SGi0jE78Iy49x8QkDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "75726122C13922D71DBDBBC4ADB57AC147832914", + "validator_index": "59", + "signature": "1VlAXEhgHAiMZmSTsv983VC3SyojlkOR3GCpn1bCwhgXCGf0iDLOxAsje/xnTyebgP81LppFSIDyddLjA+W+Dw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "75A48BE1310775AFC556D46EA2234EBA3BF388E5", + "validator_index": "60", + "signature": "7zAnbkb3k4Hzc19KwkIdhBzdyy8lLmPD6TsNI6UPWjS5i9ZrZ89vqkKD9c32ru5XkZpI6CfVtGiKLye9E+eoCg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "762408A51C56E050E55B4189D8D76709343F14DE", + "validator_index": "61", + "signature": "0mBu+m90GqLMtdcnQBa/SXqGK1YlGs1bId6dfdZe5WcVeGcEyCJfKl75mplICsR1aTOplFn5odiDFw3rSfRdDg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "786EA666F2382583671F77A1846FC4ABDF9F2E52", + "validator_index": "62", + "signature": "Ryc/WCaoaJF+8bmAPC7zZGlz9gPwqsqa+tn+KO7s3pAUl/OAcF8A6E1HRNxPNK1OCZcFtjzYYuFmVl2D3PcNAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "787157EB0208852323804C28B3887F756F823A6A", + "validator_index": "63", + "signature": "mWGGbq8m8/3EnEa10eoR+sMP4ZiqJeLbjVyGziDnSBaENMwXqUlPQoUJ+j9PRi5paVTDtEb59wokRTCw1Xs5CQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "7B7F7BA0384E0EE165063F9FCC41204F290A50DF", + "validator_index": "64", + "signature": "cYbp0hHyuDNPugUFlBychEawKXVfMvAXNAtRFkMCSa7Gw2KXtQqtsaN/BtIDZtum/5ZQkriJR3Su/wR//nisBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "7C779C769D5F8173002F473CC719305FE8FC9437", + "validator_index": "65", + "signature": "TIoHKhY9zJS877e/fQsGpnOFamAnmotR2Rwxh9aV2zt64I2UJ+B1KhUSkwioLLa9VU34+TBi8DT2CHuESc7KAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "7F3348BC852CED5B77DD8B279462E7EFDF078001", + "validator_index": "66", + "signature": "o47vwz+9CrbZ+w5eHR2ICtDw+6CGQmvorWpqNmXHmT2pBv9ahjU0d+je1paquSMVchmQCwVSbFe+CNYEeZGGAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "7FCEE146134268E411753C6EA9C62FF36C7DB6D6", + "validator_index": "67", + "signature": "HXY7j8T1kuqIDVDF73QG1fL3FNo85iz3vJyHJeg2nw6y4VSlDuJxkU8QmUIAklyfQwiAcgqgLhXPlkg6JHAwBA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "80204F6D505D5E420C935E3A15F401A19D3AD088", + "validator_index": "68", + "signature": "FuUQjJ5TQaI76pbSnt70W+12RKd7o/jcZA+Tid0E9iWUqnhRtrZj/6Dsn/sUvn8m1aFSe4tYcjA9Hf15KaseDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "8244C94F5AC0A5C208672AF54B115715E27940AC", + "validator_index": "69", + "signature": "nePffUzGdjlodocnI3uFhM7ew8tYbzXqxWGPEa31Gr5QhBS562QMQwi9qgCIiLg1tvsi+JIjmn3UQhFcpSksAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "833CC4C5980DF7FFBED4F73EA347B44E8B985374", + "validator_index": "70", + "signature": "3C1RWtnAwReHFhUC41Dw406NKafK7ZoTDcobfjqy+KW8qH2DpxJx+wM5+hpIdVh/z7E+X4IsIIgCwGushHSjAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "83DCA4191E49F62153DE50F18025F8876EA19BA3", + "validator_index": "71", + "signature": "nB59UtUSLDrV0hGuilGEd9EZUl0EhEvknVlVP2HK+UGLRNPkQ2G6NxxuUJH2f3HskHzrCXrTDLRPyLRQF+hxDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "85458A404CE4B1798A67AB9BB83582C762BFC9AC", + "validator_index": "72", + "signature": "kViI4M7699R3H7tCZdPDzr2CDACDtlocjIlN8wSL3vw4BncZ+WuI1h1Rqdj64miRKjH425fEiAt4c4HImcZ2BA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "861227E76A82CAA51510E7E50E929DD7F0620632", + "validator_index": "73", + "signature": "GPLNAt1KCedOsIx7Kx7Pef7yfgjFjCDaNEWxXMgH3LmdsODR3Ajvd3JHYN8SsM5Cb6YMpkEjIhqtpBZRb2QODg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "88BE7AF676F988584BDDDFAA7875D96C569046DA", + "validator_index": "74", + "signature": "o14tLixarODsAHQp7ImLYiEw4N4aNI44UqrHUPdVgXRZAXBiOOOTf5aVH528nyoj4i3ELpeZWGSTlKyqZFu6Dw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "88CF3ED94C8FB8772CE13EB668E5A43C2B4105F2", + "validator_index": "75", + "signature": "PoBX1r+QQNA79BVForyvxM71s6XRAgS89M8zvCMajLaorAW/TUg0lOgFscuW+cnV3JGit1SAUZ7+P7q61xrZAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "8E497CEB9698C545DD43A5D054DD19067DAED154", + "validator_index": "76", + "signature": "vLp+Rm4qa1mw6vsZYPSMELSswrFbSfHf63fW1pKycb2csRe+SPtaDnfK9DETEE3j7Q5Q/k4tNgVf+OKKcj/BBA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "901C4F75F152494B605AD385A32697B47E542874", + "validator_index": "77", + "signature": "lN7Ob8LdQAAge1nuHLct6NO9+BApG5/sYFIwljoWeNbIrL9ZA9tK5eSPPrzTbZE9jEKxS0D/pE8MzezxgENRBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "9029713BF8CF5E0796CF1824200264B58A54A831", + "validator_index": "78", + "signature": "lcb4VL8bmUoe2y+yoYm5p6arn7DDf11bFUHn1h2Y88f/JFMK5gNWIIut+VMY5SjzY5tlEuSAKyz2BFfqb6GwBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "90F696DF160C8DF08C2DBF439452CB559230FD52", + "validator_index": "79", + "signature": "SMSGG4oExKtbu/zj/s8CTrPxHke/1cFOxWFLuMmTXZ65dn51mWgRF6axgTxp0CPUz19De6QYWCVQPvJ03e3BDA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "96C8B06B9A84DD50905374158D5874C360F0E436", + "validator_index": "80", + "signature": "d+gqHc6RJ7+d++2BXbKRvr+WPgG6ju7fQNuJbLHGCIExoEs2zlZKz9kmCHF458eeRrfX+YdAXhm4/HfiresRAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "9887FE69CDF1A3B7E2B3587506A7DE299DB96841", + "validator_index": "81", + "signature": "VOlKafmR2ELe7BoRPirsJu9k9bleFIzPmEnuh95GX8NsJRSm12/+4bf3Ni2a2kWhv+/NVXZIS1dM9MD7cxiWCQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "9DD616591929A0821368A45635B71A55522F82C7", + "validator_index": "82", + "signature": "RMc9MFfvfFpKemIq8VproCl4Jn3GmGoKy7sDiJHkl3I6Tg/4avAebMzmjQWaJpdjSTqlo5td7PHA+iqk0iGTDg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "9ED26D8435540AA635478C769A328CFDB97A8518", + "validator_index": "83", + "signature": "8oeC3kzLTpZLOrrHfoKN9k25QL6z02EQ/G99Gtjv8APchfz+oqNYLFtf5AcAs5rIOEjtooz+JLWsQngTUaViBw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "9F0D30B162AEF95F0B38488C47902BA4CEA6E6EA", + "validator_index": "84", + "signature": "dSwvCHdqMKgrjr6lNaVtzvaeSZUOJ2vJ5QQMehJ0c4rW8Gu8wYQCyNRZgTlHftCF71bqqwy8Q0WY0exMNgiYAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "9F445AE036B207D2DE04D0E32313A5A4B715AE85", + "validator_index": "85", + "signature": "unleT+RckTCtWZFdM8+S7X7fi/bKy+DtU+ZFc18wLSs7l+d481cXPpu7mmRYvydZU3J1B7doiMjUFMfQcnL4CQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "9FDCD33F13D8106E469212E112E37E3E48A09101", + "validator_index": "86", + "signature": "L3rqBUxTB5ofJat3HFgNq9quD1g9og5GWr1bhSGy2CNMRhWroGN+SxFxuGRcMhxCzmbD+gl7YUXyOPCQC1MgAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "A37F40DF55197B9B24C3D9938A8AA76CCBB80BF3", + "validator_index": "87", + "signature": "TaImj2kt9MG7+qAsozST1cz9ad+Hz9U2xndk0C3thwfyAjzLOkfNhQfOIkVO1V1TI8v97f8QXXDAdazUf4wQAA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "A3E3EF26B675F46AB3B701A2E744BEB03F4A7F69", + "validator_index": "88", + "signature": "Qub3e0mSTU/Yb/UaoS2iex0gurb7cejEciQJ4u83gcJfyQX2tsvnZNcPuAglNyXEwjgp29eX/U2oLB3dHf/cCw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "A54EF86C44B3F5071191A0144CCADB92118B2230", + "validator_index": "89", + "signature": "yqel8fRd2BQhPj0WyKw9I7XBnLxXfwow4pSxtG7f0Zjs4STnvgvUj3RbdPAhD2E65VgmuiV36WwVpBKZQXNzAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "A92BBF76E98907998C193A4CCACC200A3CC75E30", + "validator_index": "90", + "signature": "KWCaMtdOIT+CkyxKGqVx7nNhi0bPUYC+ref8d5i6UjUNBomWbx6pXbNErDzBy12yybjyefWZ3JmSDh3aAP33Dw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "AF4B21D9AC2387443EE4B05EE09F54D846A3BE6A", + "validator_index": "91", + "signature": "CAHTUoa+GDQ4uqKpCLcsEA3v1RMFo/v6UMOgumhA8SEFufGNMX/uvA/Mb7N/jijnoGoGUMICPla7LP9txwjNCA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "AFA48E19711A6EAADF676EB680C82904FB1AC16B", + "validator_index": "92", + "signature": "i3Oy66/1f0bmLU5PpPPu73052vZwpcnAXSA9+cyxrggRJfd6oiB0eZ/BXWTYNHyuCZ3eAz/ckDJ9W7zvtijFCA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "B0AA5BFC7B1E2F324C4B46C4AA6083EE4ACF9B62", + "validator_index": "93", + "signature": "Rloc94b1R4v5z7NEIiD6x810ptPOBrQwo3WtLLa32FROCRliKc3zLK4zvs7I0D6dcYaLAkZVSdQxP3ku4VqWAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "B46DF4B1C3BC26C37D5FDD5B911FCCD8244857DE", + "validator_index": "94", + "signature": "xO3IBQGJfu2xM+W3UjmcuL03kXM9CIpTBrk9vnlSuCnnegvOFJ/Fdcr/17YZspQWgLcqzhcwCr5Hu9a3NAcbDw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "B62E68DA52B0400EBDFA5401E2B77265A4ACB2B8", + "validator_index": "95", + "signature": "nM3BSauHhcwF9WiABByRcChllc2tXMdLZdSUve7x6UHcnEywxxajECpd46xe5DrJIT87qIIRL/Dx1GeiO1h9CQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "B642D822FEBBA7990B9F02D4AF86670CAC27CA68", + "validator_index": "96", + "signature": "JMRO/dQScNymbZR1Mp+hzH64/2osoUsdztKopgTQVAjfkqnNx+9K5Xfl347WZKkJTX5BPk3ubOJ5a1yIl78sDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "BB5A8EECC92ED313C2C67942320E781AF7ED7268", + "validator_index": "97", + "signature": "96A0W6+wQzvnZvPlIadF76Zxw3oGwPXllAjGAD3H4bjyx7Q1UUjUYKjC6/l713cKBHIFyhsLtHn92RF0J+tnDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "BDF67CA82B7046E57B6B4982039B6D3FF901C9A7", + "validator_index": "98", + "signature": "oeAanpgh+g6FetlgUEMa4cViFMrH6PbcED3Xc/CqoWo2w8JcDcwRQOEDaP65bZX5rccqA7jPs6L9VTY29sLJBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "C015E371B54F239FE683B7148A044070D7576977", + "validator_index": "99", + "signature": "T4+nV0ihWZjG3Zrz44I8e/z/kI4swzVtNYZEZ2zNbuLhAtcxXYrQjwwX7nGJpyA52XwKxbTZkwP69pdOWvY/BA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "C230CA072E37B073F97418CE158F691C99F79627", + "validator_index": "100", + "signature": "yERNDXA36Gc4YeuoVo/gumanGUc2tAVgx/Z+sht15dyjwKo1tnVqoYDJSipi+SS1U6EHwrw2l/PVmhIbIwSTBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "C37AE615063CA6060879A91AC426BE9426CBE419", + "validator_index": "101", + "signature": "SmrEDDuHIArChuNH3OPKESd3TitdomDn2V4NcmoqtOk09iaFFFc7vsxYU4jPdgq/jU2M4C5nAW0VDq5A72HpDw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "C3F3E4A5624731E535149A43B32D9043B9520EE5", + "validator_index": "102", + "signature": "YoO8DVrwaKNc51MrCrquEETVL7JLY2FNDzAfauydltOW3YIfSqORHEeRaV/+TT+k6Va4cexBRj67zYduonATBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "C4C16B56F41459D7A5AD3FB2AA364244EDB48036", + "validator_index": "103", + "signature": "IuknidzFsTa+AnpKhcKFYYiFO+u+bhCwvVsD3rQ+KC7lXKUcx7doj5B0DCheZj0qXVllW/RoJoAOIsn34yMVAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "C66661B9D74DD31FAABAE5E17F5C73E04AFBF839", + "validator_index": "104", + "signature": "5aDnIxSHDm6/NdkNCSjYaX5l22r0gPssZTLF9f6ZMtymt3xUmGVBtxJD0GitJiuyqfwA4IEjMZfctqAeMTWtAA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "CCDB30DE6322925BA7A18ABDE21F8C0B1CDC6F30", + "validator_index": "105", + "signature": "Ijah+70YKTfbPoYqjaYay39FmWwPf5hoiI97MZN0H4nAT3+emzN4KW4NJolQdP6xdnUjIGGd1iZfTaus+Q7rBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "CFFE7BA7EDA642BA98DE8605377965D441310A2E", + "validator_index": "106", + "signature": "VsXHz5t1UyTRNkAn72nwu8u6dP3YHl68jLLAt9d6CcZ9HuXW9OlQsREDOJVMp3Hau8wrP7lAPn+sRQr0oCozDw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "D472E98EBC0AFBE1712E59B33935529CFE118A77", + "validator_index": "107", + "signature": "QcVIe8zwYwtdQ46HwTBw6fQiWER9s7xgH6U8rx5L8kdqG1P7AaN07g7hM2YUA6TBKFRZoXRgqf+o+ktDkrQAAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "DA659B0EC148C5EDCB150E4C5F0F73731A7FE1D5", + "validator_index": "108", + "signature": "QSDzBRjKc7YmHH753fxFfcFtJSgazA26DmzSnOIpg6stXhCuX/l239MTm0aa7qhyTGDF4ycyuAFt856B6aGpCA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "DE1C088A2B107F6351DC857928568631D0EC4230", + "validator_index": "109", + "signature": "elONAPmaFTRPcMXRLzlcRSh1QzVdIhct0C3Qj7fZulRt8xHuc5XmfjX5Tu7UucSgpRwXlfpRUM6CbSpK9NywCQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "DECAE33B2A5556A877A3E43471988E21E9ACEDC5", + "validator_index": "110", + "signature": "dHloVsd4d1T3vYg+aRYiPa08wiBwp4k3QcO+gjpT7Dj7xLtz9ZQTFFsuzmYj0/6klqm/2JMPqeDNLgRvS9EmDg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "DF600C1EEBA286C887D291321D08DF5DB781B41E", + "validator_index": "111", + "signature": "dN5QxGphCukQSb7HxefvBMAn3e2ijKlGSefPvIRTUogvJnXR+zyfsXKIqHLFI6rSY1uc4JEI0ReCmWvFYgeEBw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "DF84994D8ADA8BD8018F9B1440F0CC58B6968401", + "validator_index": "112", + "signature": "biuvk23f8G4ICLvXmTp+BpcCTtBGIL+681wVRhp5RLAvLvFG037G+UDaDcYPXi4Vn7cqvguATU+DQR/LzdH6DQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "DFC0D44126E79B374329A8D8F65B7A6361DE3922", + "validator_index": "113", + "signature": "5tC+wIUnrj/HbInKp5daCTJlsRo1WBLtd+2H/l+SFkGr9dqiw6we4O3Km+CHrf0PC5Ie7QgiBerY8rElAcYLDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "E29C235109215DB8F7612C0F2096932B9D70567E", + "validator_index": "114", + "signature": "UKQyVDEpE5f964rP0d9+dMpDErUrqC1k9VfYQoPr6HmMDlUwlGpUpcvHWOBddPAsO+Vl+KPgcErduIAeM4woCA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "EAA1B94BF621EA5F52C69B2ADD3C4E93A1D23C4A", + "validator_index": "115", + "signature": "J9+kNekVrNj9DjIZW7tsA3AXhP+oaMFpRKuVA+7pDsREBd2QD2I7s7Mi5gO5e2zzq68zT1zXMkCVB+aiKC30BQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "EAE4C8E1ED2E20F3ECE734F76984E7731D49F914", + "validator_index": "116", + "signature": "Fvoux7CEwNEle+eBi9E2fLy4nrN8kHaOjB3x/Q0qZUdPyo2sH93m6EaNPeSQ7ercJ5rO8LCeuFLVXHEhm5tQDg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "ECA31C24BA79E6165B5471D43D10AC8547354F9C", + "validator_index": "117", + "signature": "c+XoBz4YgE4ePOEmhuuXV1pn54biye3HzkqvusdUVzwtHHrQ8ny77dnpON9xNB+1J/vEfqLwK0OniYyG5DRRBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "EDE6C887A1ADB6745DC304310B9A539D8A236AA1", + "validator_index": "118", + "signature": "L3hKmqwivks6zpeMZxPh8lzwcjXqw1hJ2u0scOcnaf9FUuVYQ4ImJ4I2nJ4e8DULv/sE9OdXOpcQ15IVjX8xBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "EEF11EA67706C81E43FF769CF15C842E2C6FCDCE", + "validator_index": "119", + "signature": "MZQbtGkoWBr/RXs22dcRneVCW/D5No3MyDvrLw7rP4a+UtZTF4nzSRGwQtx2OjHXK5Fhak/8I7ReVatsAd4gAA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "F02A2853F65D73A334DFA636A82A2B308D6DC92A", + "validator_index": "120", + "signature": "HQJKwIOqRNt+T5ZgYsIL1QLeuKIfHx3OL4J0dFoyp9jOFzdfN7KeVtkwLU+BP1h8tIyZktPTG86A30AtOv/JAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "F173A1AF07F7FC6820544AC1C6B214233492262A", + "validator_index": "121", + "signature": "XAZ5rY8kMht4SPw8xDSkiWSjpBWyVQS2AUibUSWhcW9RNOHj+NvygPOBldd0JjL24uFALZHZ45HZiyQJrkxzBw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "F25CB645995131C7AF5097427CE9F47990A12D9C", + "validator_index": "122", + "signature": "laH/lpMdgVMbLJizAIDq5KjCZ9kuGKx24UeHXmhNZUcS9xAr8AxEgPLWMGbGV6VmtGX13CrfdjMLtQi0BPPhCQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "F4053AAFEC0249F8D3D55C9E197657FA9B57184D", + "validator_index": "123", + "signature": "TRaM71CX5KH1cF0T6Lb96LNIR2THjM0FQSYkvo2HKrdjQsdmHhDFTdt/fj9qkOLUdDKFF8veqlfjA74HA6wSAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "F95B539513FEDCBD12720D111F339280A222B64D", + "validator_index": "124", + "signature": "nkH/RkyrNQNS7GqLfr5jOtKvjQLqI91afvmG4qC8ODt7ssDCreuiizFvDZWbyIrXqEEgCYVeecTJXYJnM1rXCA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "FC636C36924D225C09944E11CBE6B16882A0359C", + "validator_index": "125", + "signature": "pA0gJIdMVQCCViT8oHQeH3046/eiArbteGpTGkgTLDZ+t/W6Io308LSPD1ek1n0SXM9Ip9sh5UQ6SbRaA4K+Dw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "FCCD710DFE0DC5AEB8ABC6A20031EC0E149F458E", + "validator_index": "126", + "signature": "UbP9ExtNc121I2OdCDKRlrUacSfIRbvAURBOQ9FMGzupLVWztAMpQDUtIDZ1duHNJ1UH0/lzA0nuRoGRmVv0BA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "D1AD3FCB37635BD3E64C0F4707C49A74621F9293E7D3CE57E3118B9D06701D94", + "parts": { + "total": "1", + "hash": "9498E088EA832009C9D5B142298E24EA1B61EFA5D98114026D5BB8D2AB7CD72D" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "FEE43DA03FE7782A458938545578AFC11DAEC071", + "validator_index": "127", + "signature": "RLD0bnWbrTlTNkUZ3BnIDTn1baRKpfbpiXNHvgv7SFeaG+A0XrmFznUvHvSnX069fXisr1fM9FglR2bl2bhqAg==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-6300" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-6300" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XCK6BWW7PWfsMof+x3lYRaNKbtP9J2WoOUztl9TAumA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "0859D2467F0DA63744B220E6E270DD3F0EEAC10E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "I44Rs7aDNyhp+m0Tx8v5h5+PadBk0hrnGRxjjRcUN1M=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "0D7350841ACB4A53C7717C7E5776A5E0DB6D596E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "x0lc+iqSimWb7E5qjqGjhhcGfHvInloqPqcKeFs94Lo=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "0EC358ED84E4F9088BB57617024D49E834322B54", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/ruq8Sh5Uw9wfjlgz7365lP3V4UKMHijoZl+d3I76Bc=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "0F7E62DD0AB86CB03DA87EB9969B558AFE04CC6B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "xsPsE8CiTwD9ZF1hVyOC3Pbucfk3pXhhA0T7OK/epNg=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "104776A7532559122F43A5763A13FA7E747AA44C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "17lBalGeyg7iPCeZZ5qqQo0IG10IqHdoejLCdRxwI3w=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "16E8EE7E867E20343ED67A83386B798BBC8CB7EA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "M0PtCXbgOaR3ldg6Wcpro1dnJiF86c2HwuG0lop+vhg=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "17017FDB07BD7604A356325D499FF1CD9965CD00", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "i89m18+VO3HWfYsh9uPTmGpFrJFNzauYrxqFHOY/NKE=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "19FF9F7C347FCC6100DABC66AE8D3E2294A145BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "rn5HJirSOlHMYWhuq9mMWvNOdp07fsYbp89nzIW/5Cc=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "1B6D50537048EE35C2F43BCF284B59CFCFAA2F91", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "l9nBQa9NVbrdBUi1x06afmoYnZ+GaeVWWfMc2rruNLA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "1DC38F15CC04F552E1677D405EDCB2AF8610A20E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "4puyaJfGWwrHyu2kuiZy/BvPdwIR8yBNSZXKAGJ2/jE=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "2022C00AE81BE3A15F9C64DAD16071AC4C78DD05", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "fm5HuWZCIGo+n78q9EBp6ooMRoky6mmB48oQ3SkAvM4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "22A34A49E778B1F2324C501831F1B41D5CE2FD43", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "JSWsW1fQnAlWzK8Odm0OMhNj4p2ImsJmGEptlDPeqrU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "276DE96119FBBE4538214B94C62BDD2647B1E2E5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "U9bh0FPYB709KXVlJ4XAtHpCblL98lpatZZxDHtwPs0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "2BC8D138F5DF6CAB4EB88B96DA66D9FA18EF543D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "UP3UAgPsub6BAlmZ2gG6PtLNyjO/5LdzS4jYSSoTAiE=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "2BED56C755A702194CEFCEDDE096FF4F93C3652B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZNDcajXkY4bRtEBAmUAlx2d0HruUQWBS5HmQI0wwtBY=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "2C5901D7C2308886511BE96C7D60426032B4FD26", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hyG2JJlVjjWahm0WejWZng4Ril4gDMj3hXofQFTj+7A=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "305ACD56F23E26BDE200C06825B4B0C90D6EF09E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ck5ovdxs5unS0mvbGqalrir/gPPmSiAS/p8j2DCrxl4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "31B6C523836521A9896D96BA1B3D99571249CCC2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3MmFrfgiVg7r0j6pWy72d71qdmrr4VX8XZf54zRkOlA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "34167E39185F8B5E144BC73E9A54A65C58B5806B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "fmYSCGXNmzqPVBqDZe/+2QCbXsrY8LJ4w3sIs25Rai0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "36F2C307B74BFA57300F1C7F8CC24180F86F2DB3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hxpKGTEPS46kLDoesT+WpdY/CcilcK8dtkPjWshPF9M=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "3790F095C2C35C28804F243DF9F1D9702527987A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "n4sqH4bqJSkoH9DOe/GYJJVAIX/j5Lj1QbDdi6tbUxE=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "3AF9DFDB695038C1CDC08E6532D7259ED3CE6136", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0RcGmAScpJvvMpnT+kzEfSllGQrNYvW7TTS4nRKeBIU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "3BBA3A4BCF6BD50DF93399D28CCD2C77EAF04DD6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "o7wzwfrjCiUUr7fjHb2vAmtN4FOvAWw2HB3J27rZ7uc=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "3DEA89BC6049093CCBB86AB1A26A7A89FDC0F170", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "8dIzhTOrl5C6Fie/BsyJ0jusfhuHmuIAj0PmurcSzTg=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "4099E6362C41FD472955FF42D640ADC8382143BD", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "bi9agQoC0nPb8ETaTbB7GtTTJWJ4Ac7+G1aIe3cpnn4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "409BA2271966FD00E50CF30D68F02656C1BBEEEE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "d7aLXaaYAOzSm7O/tXzmpFkAMIJoSbtLNmp5YRn7yPU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "411EF3D45200CD9F4AAEB41569C30095BE5B8352", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "lidiSfq+SqGm+rrnUOTgeAdEVXSR7eI3nSRBSvtknxU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "44CC86D5E237AC35EFAAD48B737F4CC56CDF9DE4", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/kNzF1fajUfYDEO6YfnJzFR3FwFdM4vhIz6EgGaUX/c=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "44D5B54C74D990CDFFBED82788E0DD3DA5DF91CB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "qzjHwG+dwCMXoBUj+BNJD9Re3s+UDUGP6lGX99qK8go=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "44F6313731281FA393DC0BC3CED0F141974E6E80", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "UzLjo4moq6iEE/t/OvZu0eyPRyEawT9KUIuBv903eDo=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "46D87DE55A2AD46C8BF375467C857D88F23E9B27", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "63/IWqNHDYYopzqHERVG7xlzpVAI1JpISqVXrpww9Yw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "483B3ADB1C595B2C292FEE8C65C9F6EED884CA00", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zZxuCLwHjbYyT0AGpAuRu6iFTqtrhr9A7aLYCRhRxXU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "4B66EE9E8B13C4494CFCB6D0F6A19F1B417E172E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "lYcfeQrV/km1K1Is/Sqt2UOpITEaTB1C+Ak8gB1TZbg=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "4B924BD542EF7E25F33D1DA71CC9611CE640E4E3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "A05Mf3pnWpQMeWutGgI8bh22Bd6B+EiCkuwW7jWsOgw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "50C24570B899B11034B1A8F51CAA91D479C555C6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "znqmCvYTlA1RFIZBAzLRvT54efnS3EVmZ05ZrbFWZpI=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "53BF6EA4BB98D5CCB8081DDC2B6D80E790ED6091", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zv8gefGS9GKaAsVYQHh9y+xkw5sgBWP8gk1HGbYYRy4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "549523D99B417B356A37882EA5BE22444BCACE49", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "KSrXAAa3As5ORLjMCeXLfxjqwsvOSAvYIljFGbhf3B4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "55B6E0B429C582D102A8C5E9D211FA07D2AA3DCB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ppOdDZrQqjxtBvOifnSuQ4DzZ/w22q7lNE9xrYIIfS4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "56BA4B6BE15A47356AC20339BE1FDEDA2994E34E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "1qM9CJwyJQJGOIdWAozNaTs9KALlX0gnDDQUwcZJi5c=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "58086A4142ECDD35E8FE1753A6256B98D9661F0A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Uby9JGpxx5WKUUfJQulMBb2qVUphJobqHEN86zMpFFA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "5E561B91BCF07518E0FD2E510C233D455B306856", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "NwPY9cymnZc1Lxb2DUZdW7PMRhBh7lQSGdVAgVZeDZ8=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "5EFB8BD4E6B0A67DE3E9C64E728B8C10614DFFC2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "eoBz3MZy5yLeSkJocxPobWDiU7akUc307R3zVoGUr+Y=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "5F19CEF4820053AA8787D93C86B7CB39D7ABE40D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZEpB4tm+ml9BJ69RyM1F6yC6KWpxciBJe/cZ/6NUldg=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "5F8C09291BC721346A7571FAA7936C33D2DBA44F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "i8iVTRxNhSfhxIZcuI4ppye3M47DLpOY0NVn1f4mUo4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "631F83C22D4F46F72D732665F61630B408F216F2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "RmvubhoqFcTLJPKuc9NQeI30RqYDlXu/YJaSmKWcThc=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "63D15DA922FD4DD88FDE33D9B6C80675D0BDEEF5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "gN338koMV+bz7fzauWSqGhJGBDPIUsjhj0oQKHdv5ww=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "6548BDD3B9F3B8C243F3AC094C2C58332E7D32DC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vPvGiLV/Mjtd2UgsImjV5TMxaUBLt5b82T6OwJfpLeA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "66CECDE4581CDA058A1D708D183E606B43274946", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "xKTou5rj6JK5Riiq+LXVNl2AGEHB3hIaTj6JklrcenU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "6BA54EAE4890CB52A69F3F520524C5602442A857", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "jIPBmdnBx/aLRCmgOheKG6mN+ls1asRVn1ypQDeBVDQ=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "71129EE0478B5EE8366C6D9E9465C494CA1063B9", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "TucFlevTMXVH8YX3LvP/Y0cq3u5DJ6kqfalnl01unKY=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "71B73AC10644A4E0172BBA6EEFFFADE9729BA17A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "9C+vwXG+jDElowp7hd0VtZMIM0QGs9hSpAjHatJoavs=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "75726122C13922D71DBDBBC4ADB57AC147832914", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zQe0pS1HdvVtcg1Hb0WfqhNBl9jpuJggDfSyKCa+0HU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "75A48BE1310775AFC556D46EA2234EBA3BF388E5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "z/Yxy+HxU07cB8fuAZgow4FhJZcm3tqkRdyj1+3ACv4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "762408A51C56E050E55B4189D8D76709343F14DE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ie4HhfootkQ2IugMlhqvkAQZUNCIKdNo9wxk49zXvZs=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "786EA666F2382583671F77A1846FC4ABDF9F2E52", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zplQxvJiEbjx+1PToTwDMnjc8ZGPikHoY6N1BzoMz1w=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "787157EB0208852323804C28B3887F756F823A6A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "iHjXDCZGLeGqbpe3Sr/p2I6YzhkwcrkGqxLxjLtae7o=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "7B7F7BA0384E0EE165063F9FCC41204F290A50DF", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wvoROLitucFfBKlKtVbgdR91B/s6C2elUNBSB7jJ3NQ=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "7C779C769D5F8173002F473CC719305FE8FC9437", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vXTTO5/GcGP5+kcSbqteHENtjs6vLj5O8VWK7rEQoOg=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "7F3348BC852CED5B77DD8B279462E7EFDF078001", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "qz5EHLa8J5Qxw6DaSMSdVDY+adVxK8uy79HEnwSxT2g=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "7FCEE146134268E411753C6EA9C62FF36C7DB6D6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "MYRRf38BXVkdiGuTZ2OH4Ghhg0IxDo/4+bLyvks4/sQ=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "80204F6D505D5E420C935E3A15F401A19D3AD088", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "8lU058pusC1yBovi3twpc0cI4Zti6VyNzw9Hq4IpQzA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "8244C94F5AC0A5C208672AF54B115715E27940AC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/Bs8sf+d4K8uztlGCstc5NORiQy8EyfTCY9fzTJCQ4U=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "833CC4C5980DF7FFBED4F73EA347B44E8B985374", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "kPyMxDMWgW4nGHXpClW4HogSwIZbt2oM9YJRxcUYROw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "83DCA4191E49F62153DE50F18025F8876EA19BA3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "rKZ9HIx7FEjxFIxfUstXXg4Cml7gU7H/WAbqEz9Ew9Q=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "85458A404CE4B1798A67AB9BB83582C762BFC9AC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "mSM58wILhLLDLDEaE+XZOE4UlSrstmkHgGuBiuffjEQ=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "861227E76A82CAA51510E7E50E929DD7F0620632", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "EYIEcSVx43luraoix32LPZVLAcgKQVWMh/aGbupnCWU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "88BE7AF676F988584BDDDFAA7875D96C569046DA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "2GOtwtXCIt3hoae7hAfHiih+zuojKrKPpCkoCDzdgyY=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "88CF3ED94C8FB8772CE13EB668E5A43C2B4105F2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "7YRNZJYRqTw3nsF9bOLoWFF0JdXyklQi8DZ13uXAg5s=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "8E497CEB9698C545DD43A5D054DD19067DAED154", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "P7S9NXci87tUoniFV92LrIy89CJhOITAOFiotfcFgHQ=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "901C4F75F152494B605AD385A32697B47E542874", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "bADiYHWxEj48QPl7V3NmFtEBDC6lRHwdolSoND/Azjw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "9029713BF8CF5E0796CF1824200264B58A54A831", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "xi9BtBZFunLboJGtZ2BgDFB5sZ8B30LJ95eaAoKHEZ0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "90F696DF160C8DF08C2DBF439452CB559230FD52", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "l9VCVnigX9r/ngvvODJy65Ux05mHgq1bAtMzUTdj9eM=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "96C8B06B9A84DD50905374158D5874C360F0E436", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "iH9JV/rTwK4G601Xdt7UXazhzVEpoqGS41SLaZCv9Yg=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "9887FE69CDF1A3B7E2B3587506A7DE299DB96841", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZoRHjDslrC+Bt0ylNaKH3tdAFSjOUpKPsQHfCQdzgaI=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "9DD616591929A0821368A45635B71A55522F82C7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZeKSKBR994qPBqDHZoPTX3Ka2Z7u3qA/LOtpudQeNOs=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "9ED26D8435540AA635478C769A328CFDB97A8518", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hGGrFZ2JCgq/vYPBpQxpY7aMPnIHkH1uAyUVYtW9Ba4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "9F0D30B162AEF95F0B38488C47902BA4CEA6E6EA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vpRJi+yl12C4zwge/VSeqIgvluclNBTvUqoTV8SHdjA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "9F445AE036B207D2DE04D0E32313A5A4B715AE85", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "FGdz9P2B8gYPui+kEMkdKNKzAldR3rrtvCtRaAWUiG0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "9FDCD33F13D8106E469212E112E37E3E48A09101", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "VvXH3+SoWTvCOXpfvWUUxvrVbJZ6eW3f4DpZaq96fe0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "A37F40DF55197B9B24C3D9938A8AA76CCBB80BF3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+cTbf6acip7dwxVi5ttJjPIbdeNSAmJriiufJbfisY4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "A3E3EF26B675F46AB3B701A2E744BEB03F4A7F69", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "y3D/fwrDDW1imqsB+9YVWUiOigYnKpoI3v7cz0aS3gE=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "A54EF86C44B3F5071191A0144CCADB92118B2230", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GhvEC9KhlqB5GQhtvrJfiwG/rT9Iopp3q8gUdYHRLY4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "A92BBF76E98907998C193A4CCACC200A3CC75E30", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "gmM2IlGnht2Ob1Ih+n6yrd8FuypOfjfhCteSSQ91Pak=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "AF4B21D9AC2387443EE4B05EE09F54D846A3BE6A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hlSyNoLvCCQTSUV6HXuiN3gmZAgQnlTaIHq4UE7Q0o4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "AFA48E19711A6EAADF676EB680C82904FB1AC16B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "cViNtsX7rEljq4sEm1nImdb43c45ncvyT7RihHXP/UU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "B0AA5BFC7B1E2F324C4B46C4AA6083EE4ACF9B62", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "TGdcglY0fT4wpgKviFRhNdskxDDrKqIcbTwaqISTWps=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "B46DF4B1C3BC26C37D5FDD5B911FCCD8244857DE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ztE0dZ3qD/gJxASCrSyEMByum5hf0IKS8KuGm3brGNw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "B62E68DA52B0400EBDFA5401E2B77265A4ACB2B8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3jcKUZws9cthuUvC8bHUlEQ83uogY1ABWaF6zy7GyIw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "B642D822FEBBA7990B9F02D4AF86670CAC27CA68", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "pN590Y+E8UIW6b3S7v+PQcMvw7Ipbe5fBNlvEPPZCjY=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "BB5A8EECC92ED313C2C67942320E781AF7ED7268", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "5k4lIz2K7+of+AphESqYW2err3cNXRNbsqUXm/k5x2M=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "BDF67CA82B7046E57B6B4982039B6D3FF901C9A7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OpSNrFayxfW21PPMApfVuzLQfe5V1Dotd/MWwH5yVg0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "C015E371B54F239FE683B7148A044070D7576977", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "T7apJi+EyTZ4SEJtsxL5V+Fw04QUaBh316CFXME4Y20=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "C230CA072E37B073F97418CE158F691C99F79627", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0fFmL74Hrhcs5jmxsezvSAMacxqD98Uvqg23Ij/q21Q=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "C37AE615063CA6060879A91AC426BE9426CBE419", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "jRKiyGWNoXjJwcUnl4Rzeo6tAe/02/AoKwGkjxG6SEc=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "C3F3E4A5624731E535149A43B32D9043B9520EE5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "C7jFi3Zygv1OAoIkH2rJHNecgirSU6RIDMRD+lx0Q/4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "C4C16B56F41459D7A5AD3FB2AA364244EDB48036", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XDT8PdcVgniRAgbz3F1v7eHzhAXGu1IpmSx8FZTOSTE=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "C66661B9D74DD31FAABAE5E17F5C73E04AFBF839", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Oomi2eak/GkLZ4HA9fVuqCEyA9HihRnDxjJw4rOfgZY=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "CCDB30DE6322925BA7A18ABDE21F8C0B1CDC6F30", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "j3zM084W2/Kcv+R5OO72hjSfvYEvQqc+SA7aT1AgRe4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "CFFE7BA7EDA642BA98DE8605377965D441310A2E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BlaLhSbhOeU05Zi09z3hjISZkrmwJmy7eYlAoTaGkXc=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "D472E98EBC0AFBE1712E59B33935529CFE118A77", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hJUp+wx9txh+IHeJ4n5QHyQVxiZVBcHrZ4AYEPXWJY8=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "DA659B0EC148C5EDCB150E4C5F0F73731A7FE1D5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "KBwlsk8RIoYg2HB1XDqNMnAfHLRQk8CMF1RPB+j3/S0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "DE1C088A2B107F6351DC857928568631D0EC4230", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/QW0pe/82MqaP3ueDLaCwnakNAo+GFoghEXgiLybP8o=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "DECAE33B2A5556A877A3E43471988E21E9ACEDC5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Glj0NnKo47wq3IoXYJpL2naLXoM8+fjgJQN+ZMfnAKU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "DF600C1EEBA286C887D291321D08DF5DB781B41E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Tf5T5r4/wsFvPdj8z35oWPP4TuuSZA74Ktnt3g8mwXQ=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "DF84994D8ADA8BD8018F9B1440F0CC58B6968401", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "LGS7jGMN1w8AF3DbGY0ulbwcYPVhgFJS6OJqrkMNhkw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "DFC0D44126E79B374329A8D8F65B7A6361DE3922", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "W+CjYjJLWr9oB8jwefIE7DDmPhugw0s7fq0KkNfsdVA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "E29C235109215DB8F7612C0F2096932B9D70567E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "7QIYRTtwCYDqadOIQ40c0pci64o+S182FR0V+x0fKEA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "EAA1B94BF621EA5F52C69B2ADD3C4E93A1D23C4A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "foKBMkfvkZ1nq3DrmiKxxZ3Mx4Dev0jVQA4mqSocHCo=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "EAE4C8E1ED2E20F3ECE734F76984E7731D49F914", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "WdwdjF4cDC8cr/QBwK7aSf0P65EU8zil/1oPYpjzB+c=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "ECA31C24BA79E6165B5471D43D10AC8547354F9C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Rryj1JTEgZ3cdfopjkmHI63AWOYCLhsq5BBtMLWrcNM=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "EDE6C887A1ADB6745DC304310B9A539D8A236AA1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "qIi5R1hO4fosjdY6Ao+tvrN243gT7nzKlOFZTa9Y564=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "EEF11EA67706C81E43FF769CF15C842E2C6FCDCE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "1qGw6O9yL43hxxpN8peRu/ViAXN0WjzG2utBwlIc4jU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "F02A2853F65D73A334DFA636A82A2B308D6DC92A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0l7zJ1NLfmin08u9wEk78rWwsG2+4OMveU0csi/9+tc=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "F173A1AF07F7FC6820544AC1C6B214233492262A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "4rJshjyQu4BHrT0ISKjxbzGeso6ABwgImeLXbvg2wG4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "F25CB645995131C7AF5097427CE9F47990A12D9C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ThgrMbboZQKsZxavjFmMnNw8drIWlkZq+F7gkF938vU=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "F4053AAFEC0249F8D3D55C9E197657FA9B57184D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wm3aUzYr2z4AK4RfL0SzrPEKaOBPfix0FLKxHY1v5Ds=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "F95B539513FEDCBD12720D111F339280A222B64D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "L9Dl46Bw3k/ehotfwQdrtsCkn/9yKknPX5pmCk/CPA4=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "FC636C36924D225C09944E11CBE6B16882A0359C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "nHPrnHkvryBY3HYND3zQYv1z0Db1CymkbQq+HG3Se2Q=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "FCCD710DFE0DC5AEB8ABC6A20031EC0E149F458E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "YoqiYKzLy1IMN5OiHoCwUPgbJW11GvrIJ8P2hG5jLFw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "FEE43DA03FE7782A458938545578AFC11DAEC071", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+kK9BAL2WiD18tpLQZzbn83/frwAj+neOeKu9W5Fn/U=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-6300" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-6350" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XCK6BWW7PWfsMof+x3lYRaNKbtP9J2WoOUztl9TAumA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0859D2467F0DA63744B220E6E270DD3F0EEAC10E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "I44Rs7aDNyhp+m0Tx8v5h5+PadBk0hrnGRxjjRcUN1M=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0D7350841ACB4A53C7717C7E5776A5E0DB6D596E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "x0lc+iqSimWb7E5qjqGjhhcGfHvInloqPqcKeFs94Lo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0EC358ED84E4F9088BB57617024D49E834322B54", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/ruq8Sh5Uw9wfjlgz7365lP3V4UKMHijoZl+d3I76Bc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0F7E62DD0AB86CB03DA87EB9969B558AFE04CC6B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "xsPsE8CiTwD9ZF1hVyOC3Pbucfk3pXhhA0T7OK/epNg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "104776A7532559122F43A5763A13FA7E747AA44C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "17lBalGeyg7iPCeZZ5qqQo0IG10IqHdoejLCdRxwI3w=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "16E8EE7E867E20343ED67A83386B798BBC8CB7EA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "M0PtCXbgOaR3ldg6Wcpro1dnJiF86c2HwuG0lop+vhg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "17017FDB07BD7604A356325D499FF1CD9965CD00", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "i89m18+VO3HWfYsh9uPTmGpFrJFNzauYrxqFHOY/NKE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "19FF9F7C347FCC6100DABC66AE8D3E2294A145BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "rn5HJirSOlHMYWhuq9mMWvNOdp07fsYbp89nzIW/5Cc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "1B6D50537048EE35C2F43BCF284B59CFCFAA2F91", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "l9nBQa9NVbrdBUi1x06afmoYnZ+GaeVWWfMc2rruNLA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "1DC38F15CC04F552E1677D405EDCB2AF8610A20E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "4puyaJfGWwrHyu2kuiZy/BvPdwIR8yBNSZXKAGJ2/jE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "2022C00AE81BE3A15F9C64DAD16071AC4C78DD05", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "fm5HuWZCIGo+n78q9EBp6ooMRoky6mmB48oQ3SkAvM4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "22A34A49E778B1F2324C501831F1B41D5CE2FD43", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "JSWsW1fQnAlWzK8Odm0OMhNj4p2ImsJmGEptlDPeqrU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "276DE96119FBBE4538214B94C62BDD2647B1E2E5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "U9bh0FPYB709KXVlJ4XAtHpCblL98lpatZZxDHtwPs0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "2BC8D138F5DF6CAB4EB88B96DA66D9FA18EF543D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "UP3UAgPsub6BAlmZ2gG6PtLNyjO/5LdzS4jYSSoTAiE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "2BED56C755A702194CEFCEDDE096FF4F93C3652B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZNDcajXkY4bRtEBAmUAlx2d0HruUQWBS5HmQI0wwtBY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "2C5901D7C2308886511BE96C7D60426032B4FD26", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hyG2JJlVjjWahm0WejWZng4Ril4gDMj3hXofQFTj+7A=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "305ACD56F23E26BDE200C06825B4B0C90D6EF09E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ck5ovdxs5unS0mvbGqalrir/gPPmSiAS/p8j2DCrxl4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "31B6C523836521A9896D96BA1B3D99571249CCC2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3MmFrfgiVg7r0j6pWy72d71qdmrr4VX8XZf54zRkOlA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "34167E39185F8B5E144BC73E9A54A65C58B5806B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "fmYSCGXNmzqPVBqDZe/+2QCbXsrY8LJ4w3sIs25Rai0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "36F2C307B74BFA57300F1C7F8CC24180F86F2DB3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hxpKGTEPS46kLDoesT+WpdY/CcilcK8dtkPjWshPF9M=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "3790F095C2C35C28804F243DF9F1D9702527987A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "n4sqH4bqJSkoH9DOe/GYJJVAIX/j5Lj1QbDdi6tbUxE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "3AF9DFDB695038C1CDC08E6532D7259ED3CE6136", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0RcGmAScpJvvMpnT+kzEfSllGQrNYvW7TTS4nRKeBIU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "3BBA3A4BCF6BD50DF93399D28CCD2C77EAF04DD6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "o7wzwfrjCiUUr7fjHb2vAmtN4FOvAWw2HB3J27rZ7uc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "3DEA89BC6049093CCBB86AB1A26A7A89FDC0F170", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "8dIzhTOrl5C6Fie/BsyJ0jusfhuHmuIAj0PmurcSzTg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "4099E6362C41FD472955FF42D640ADC8382143BD", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "bi9agQoC0nPb8ETaTbB7GtTTJWJ4Ac7+G1aIe3cpnn4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "409BA2271966FD00E50CF30D68F02656C1BBEEEE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "d7aLXaaYAOzSm7O/tXzmpFkAMIJoSbtLNmp5YRn7yPU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "411EF3D45200CD9F4AAEB41569C30095BE5B8352", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "lidiSfq+SqGm+rrnUOTgeAdEVXSR7eI3nSRBSvtknxU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "44CC86D5E237AC35EFAAD48B737F4CC56CDF9DE4", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/kNzF1fajUfYDEO6YfnJzFR3FwFdM4vhIz6EgGaUX/c=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "44D5B54C74D990CDFFBED82788E0DD3DA5DF91CB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "qzjHwG+dwCMXoBUj+BNJD9Re3s+UDUGP6lGX99qK8go=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "44F6313731281FA393DC0BC3CED0F141974E6E80", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "UzLjo4moq6iEE/t/OvZu0eyPRyEawT9KUIuBv903eDo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "46D87DE55A2AD46C8BF375467C857D88F23E9B27", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "63/IWqNHDYYopzqHERVG7xlzpVAI1JpISqVXrpww9Yw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "483B3ADB1C595B2C292FEE8C65C9F6EED884CA00", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zZxuCLwHjbYyT0AGpAuRu6iFTqtrhr9A7aLYCRhRxXU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "4B66EE9E8B13C4494CFCB6D0F6A19F1B417E172E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "lYcfeQrV/km1K1Is/Sqt2UOpITEaTB1C+Ak8gB1TZbg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "4B924BD542EF7E25F33D1DA71CC9611CE640E4E3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "A05Mf3pnWpQMeWutGgI8bh22Bd6B+EiCkuwW7jWsOgw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "50C24570B899B11034B1A8F51CAA91D479C555C6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "znqmCvYTlA1RFIZBAzLRvT54efnS3EVmZ05ZrbFWZpI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "53BF6EA4BB98D5CCB8081DDC2B6D80E790ED6091", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zv8gefGS9GKaAsVYQHh9y+xkw5sgBWP8gk1HGbYYRy4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "549523D99B417B356A37882EA5BE22444BCACE49", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "KSrXAAa3As5ORLjMCeXLfxjqwsvOSAvYIljFGbhf3B4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "55B6E0B429C582D102A8C5E9D211FA07D2AA3DCB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ppOdDZrQqjxtBvOifnSuQ4DzZ/w22q7lNE9xrYIIfS4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "56BA4B6BE15A47356AC20339BE1FDEDA2994E34E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "1qM9CJwyJQJGOIdWAozNaTs9KALlX0gnDDQUwcZJi5c=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "58086A4142ECDD35E8FE1753A6256B98D9661F0A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Uby9JGpxx5WKUUfJQulMBb2qVUphJobqHEN86zMpFFA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "5E561B91BCF07518E0FD2E510C233D455B306856", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "NwPY9cymnZc1Lxb2DUZdW7PMRhBh7lQSGdVAgVZeDZ8=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "5EFB8BD4E6B0A67DE3E9C64E728B8C10614DFFC2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "eoBz3MZy5yLeSkJocxPobWDiU7akUc307R3zVoGUr+Y=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "5F19CEF4820053AA8787D93C86B7CB39D7ABE40D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZEpB4tm+ml9BJ69RyM1F6yC6KWpxciBJe/cZ/6NUldg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "5F8C09291BC721346A7571FAA7936C33D2DBA44F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "i8iVTRxNhSfhxIZcuI4ppye3M47DLpOY0NVn1f4mUo4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "631F83C22D4F46F72D732665F61630B408F216F2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "RmvubhoqFcTLJPKuc9NQeI30RqYDlXu/YJaSmKWcThc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "63D15DA922FD4DD88FDE33D9B6C80675D0BDEEF5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "gN338koMV+bz7fzauWSqGhJGBDPIUsjhj0oQKHdv5ww=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "6548BDD3B9F3B8C243F3AC094C2C58332E7D32DC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vPvGiLV/Mjtd2UgsImjV5TMxaUBLt5b82T6OwJfpLeA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "66CECDE4581CDA058A1D708D183E606B43274946", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "xKTou5rj6JK5Riiq+LXVNl2AGEHB3hIaTj6JklrcenU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "6BA54EAE4890CB52A69F3F520524C5602442A857", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "jIPBmdnBx/aLRCmgOheKG6mN+ls1asRVn1ypQDeBVDQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "71129EE0478B5EE8366C6D9E9465C494CA1063B9", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "TucFlevTMXVH8YX3LvP/Y0cq3u5DJ6kqfalnl01unKY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "71B73AC10644A4E0172BBA6EEFFFADE9729BA17A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "9C+vwXG+jDElowp7hd0VtZMIM0QGs9hSpAjHatJoavs=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "75726122C13922D71DBDBBC4ADB57AC147832914", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zQe0pS1HdvVtcg1Hb0WfqhNBl9jpuJggDfSyKCa+0HU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "75A48BE1310775AFC556D46EA2234EBA3BF388E5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "z/Yxy+HxU07cB8fuAZgow4FhJZcm3tqkRdyj1+3ACv4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "762408A51C56E050E55B4189D8D76709343F14DE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ie4HhfootkQ2IugMlhqvkAQZUNCIKdNo9wxk49zXvZs=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "786EA666F2382583671F77A1846FC4ABDF9F2E52", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "zplQxvJiEbjx+1PToTwDMnjc8ZGPikHoY6N1BzoMz1w=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "787157EB0208852323804C28B3887F756F823A6A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "iHjXDCZGLeGqbpe3Sr/p2I6YzhkwcrkGqxLxjLtae7o=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "7B7F7BA0384E0EE165063F9FCC41204F290A50DF", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wvoROLitucFfBKlKtVbgdR91B/s6C2elUNBSB7jJ3NQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "7C779C769D5F8173002F473CC719305FE8FC9437", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vXTTO5/GcGP5+kcSbqteHENtjs6vLj5O8VWK7rEQoOg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "7F3348BC852CED5B77DD8B279462E7EFDF078001", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "qz5EHLa8J5Qxw6DaSMSdVDY+adVxK8uy79HEnwSxT2g=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "7FCEE146134268E411753C6EA9C62FF36C7DB6D6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "MYRRf38BXVkdiGuTZ2OH4Ghhg0IxDo/4+bLyvks4/sQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "80204F6D505D5E420C935E3A15F401A19D3AD088", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "8lU058pusC1yBovi3twpc0cI4Zti6VyNzw9Hq4IpQzA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "8244C94F5AC0A5C208672AF54B115715E27940AC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/Bs8sf+d4K8uztlGCstc5NORiQy8EyfTCY9fzTJCQ4U=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "833CC4C5980DF7FFBED4F73EA347B44E8B985374", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "kPyMxDMWgW4nGHXpClW4HogSwIZbt2oM9YJRxcUYROw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "83DCA4191E49F62153DE50F18025F8876EA19BA3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "rKZ9HIx7FEjxFIxfUstXXg4Cml7gU7H/WAbqEz9Ew9Q=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "85458A404CE4B1798A67AB9BB83582C762BFC9AC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "mSM58wILhLLDLDEaE+XZOE4UlSrstmkHgGuBiuffjEQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "861227E76A82CAA51510E7E50E929DD7F0620632", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "EYIEcSVx43luraoix32LPZVLAcgKQVWMh/aGbupnCWU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "88BE7AF676F988584BDDDFAA7875D96C569046DA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "2GOtwtXCIt3hoae7hAfHiih+zuojKrKPpCkoCDzdgyY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "88CF3ED94C8FB8772CE13EB668E5A43C2B4105F2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "7YRNZJYRqTw3nsF9bOLoWFF0JdXyklQi8DZ13uXAg5s=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "8E497CEB9698C545DD43A5D054DD19067DAED154", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "P7S9NXci87tUoniFV92LrIy89CJhOITAOFiotfcFgHQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "901C4F75F152494B605AD385A32697B47E542874", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "bADiYHWxEj48QPl7V3NmFtEBDC6lRHwdolSoND/Azjw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9029713BF8CF5E0796CF1824200264B58A54A831", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "xi9BtBZFunLboJGtZ2BgDFB5sZ8B30LJ95eaAoKHEZ0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "90F696DF160C8DF08C2DBF439452CB559230FD52", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "l9VCVnigX9r/ngvvODJy65Ux05mHgq1bAtMzUTdj9eM=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "96C8B06B9A84DD50905374158D5874C360F0E436", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "iH9JV/rTwK4G601Xdt7UXazhzVEpoqGS41SLaZCv9Yg=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9887FE69CDF1A3B7E2B3587506A7DE299DB96841", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZoRHjDslrC+Bt0ylNaKH3tdAFSjOUpKPsQHfCQdzgaI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9DD616591929A0821368A45635B71A55522F82C7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZeKSKBR994qPBqDHZoPTX3Ka2Z7u3qA/LOtpudQeNOs=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9ED26D8435540AA635478C769A328CFDB97A8518", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hGGrFZ2JCgq/vYPBpQxpY7aMPnIHkH1uAyUVYtW9Ba4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9F0D30B162AEF95F0B38488C47902BA4CEA6E6EA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vpRJi+yl12C4zwge/VSeqIgvluclNBTvUqoTV8SHdjA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9F445AE036B207D2DE04D0E32313A5A4B715AE85", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "FGdz9P2B8gYPui+kEMkdKNKzAldR3rrtvCtRaAWUiG0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "9FDCD33F13D8106E469212E112E37E3E48A09101", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "VvXH3+SoWTvCOXpfvWUUxvrVbJZ6eW3f4DpZaq96fe0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "A37F40DF55197B9B24C3D9938A8AA76CCBB80BF3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+cTbf6acip7dwxVi5ttJjPIbdeNSAmJriiufJbfisY4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "A3E3EF26B675F46AB3B701A2E744BEB03F4A7F69", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "y3D/fwrDDW1imqsB+9YVWUiOigYnKpoI3v7cz0aS3gE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "A54EF86C44B3F5071191A0144CCADB92118B2230", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GhvEC9KhlqB5GQhtvrJfiwG/rT9Iopp3q8gUdYHRLY4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "A92BBF76E98907998C193A4CCACC200A3CC75E30", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "gmM2IlGnht2Ob1Ih+n6yrd8FuypOfjfhCteSSQ91Pak=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "AF4B21D9AC2387443EE4B05EE09F54D846A3BE6A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hlSyNoLvCCQTSUV6HXuiN3gmZAgQnlTaIHq4UE7Q0o4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "AFA48E19711A6EAADF676EB680C82904FB1AC16B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "cViNtsX7rEljq4sEm1nImdb43c45ncvyT7RihHXP/UU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "B0AA5BFC7B1E2F324C4B46C4AA6083EE4ACF9B62", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "TGdcglY0fT4wpgKviFRhNdskxDDrKqIcbTwaqISTWps=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "B46DF4B1C3BC26C37D5FDD5B911FCCD8244857DE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ztE0dZ3qD/gJxASCrSyEMByum5hf0IKS8KuGm3brGNw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "B62E68DA52B0400EBDFA5401E2B77265A4ACB2B8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3jcKUZws9cthuUvC8bHUlEQ83uogY1ABWaF6zy7GyIw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "B642D822FEBBA7990B9F02D4AF86670CAC27CA68", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "pN590Y+E8UIW6b3S7v+PQcMvw7Ipbe5fBNlvEPPZCjY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "BB5A8EECC92ED313C2C67942320E781AF7ED7268", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "5k4lIz2K7+of+AphESqYW2err3cNXRNbsqUXm/k5x2M=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "BDF67CA82B7046E57B6B4982039B6D3FF901C9A7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OpSNrFayxfW21PPMApfVuzLQfe5V1Dotd/MWwH5yVg0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C015E371B54F239FE683B7148A044070D7576977", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "T7apJi+EyTZ4SEJtsxL5V+Fw04QUaBh316CFXME4Y20=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C230CA072E37B073F97418CE158F691C99F79627", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0fFmL74Hrhcs5jmxsezvSAMacxqD98Uvqg23Ij/q21Q=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C37AE615063CA6060879A91AC426BE9426CBE419", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "jRKiyGWNoXjJwcUnl4Rzeo6tAe/02/AoKwGkjxG6SEc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C3F3E4A5624731E535149A43B32D9043B9520EE5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "C7jFi3Zygv1OAoIkH2rJHNecgirSU6RIDMRD+lx0Q/4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C4C16B56F41459D7A5AD3FB2AA364244EDB48036", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XDT8PdcVgniRAgbz3F1v7eHzhAXGu1IpmSx8FZTOSTE=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "C66661B9D74DD31FAABAE5E17F5C73E04AFBF839", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Oomi2eak/GkLZ4HA9fVuqCEyA9HihRnDxjJw4rOfgZY=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "CCDB30DE6322925BA7A18ABDE21F8C0B1CDC6F30", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "j3zM084W2/Kcv+R5OO72hjSfvYEvQqc+SA7aT1AgRe4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "CFFE7BA7EDA642BA98DE8605377965D441310A2E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BlaLhSbhOeU05Zi09z3hjISZkrmwJmy7eYlAoTaGkXc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "D472E98EBC0AFBE1712E59B33935529CFE118A77", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hJUp+wx9txh+IHeJ4n5QHyQVxiZVBcHrZ4AYEPXWJY8=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DA659B0EC148C5EDCB150E4C5F0F73731A7FE1D5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "KBwlsk8RIoYg2HB1XDqNMnAfHLRQk8CMF1RPB+j3/S0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DE1C088A2B107F6351DC857928568631D0EC4230", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/QW0pe/82MqaP3ueDLaCwnakNAo+GFoghEXgiLybP8o=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DECAE33B2A5556A877A3E43471988E21E9ACEDC5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Glj0NnKo47wq3IoXYJpL2naLXoM8+fjgJQN+ZMfnAKU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DF600C1EEBA286C887D291321D08DF5DB781B41E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Tf5T5r4/wsFvPdj8z35oWPP4TuuSZA74Ktnt3g8mwXQ=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DF84994D8ADA8BD8018F9B1440F0CC58B6968401", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "LGS7jGMN1w8AF3DbGY0ulbwcYPVhgFJS6OJqrkMNhkw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "DFC0D44126E79B374329A8D8F65B7A6361DE3922", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "W+CjYjJLWr9oB8jwefIE7DDmPhugw0s7fq0KkNfsdVA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "E29C235109215DB8F7612C0F2096932B9D70567E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "7QIYRTtwCYDqadOIQ40c0pci64o+S182FR0V+x0fKEA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "EAA1B94BF621EA5F52C69B2ADD3C4E93A1D23C4A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "foKBMkfvkZ1nq3DrmiKxxZ3Mx4Dev0jVQA4mqSocHCo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "EAE4C8E1ED2E20F3ECE734F76984E7731D49F914", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "WdwdjF4cDC8cr/QBwK7aSf0P65EU8zil/1oPYpjzB+c=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "ECA31C24BA79E6165B5471D43D10AC8547354F9C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Rryj1JTEgZ3cdfopjkmHI63AWOYCLhsq5BBtMLWrcNM=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "EDE6C887A1ADB6745DC304310B9A539D8A236AA1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "qIi5R1hO4fosjdY6Ao+tvrN243gT7nzKlOFZTa9Y564=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "EEF11EA67706C81E43FF769CF15C842E2C6FCDCE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "1qGw6O9yL43hxxpN8peRu/ViAXN0WjzG2utBwlIc4jU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F02A2853F65D73A334DFA636A82A2B308D6DC92A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0l7zJ1NLfmin08u9wEk78rWwsG2+4OMveU0csi/9+tc=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F173A1AF07F7FC6820544AC1C6B214233492262A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "4rJshjyQu4BHrT0ISKjxbzGeso6ABwgImeLXbvg2wG4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F25CB645995131C7AF5097427CE9F47990A12D9C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ThgrMbboZQKsZxavjFmMnNw8drIWlkZq+F7gkF938vU=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F4053AAFEC0249F8D3D55C9E197657FA9B57184D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wm3aUzYr2z4AK4RfL0SzrPEKaOBPfix0FLKxHY1v5Ds=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "F95B539513FEDCBD12720D111F339280A222B64D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "L9Dl46Bw3k/ehotfwQdrtsCkn/9yKknPX5pmCk/CPA4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "FC636C36924D225C09944E11CBE6B16882A0359C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "nHPrnHkvryBY3HYND3zQYv1z0Db1CymkbQq+HG3Se2Q=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "FCCD710DFE0DC5AEB8ABC6A20031EC0E149F458E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "YoqiYKzLy1IMN5OiHoCwUPgbJW11GvrIJ8P2hG5jLFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "FEE43DA03FE7782A458938545578AFC11DAEC071", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+kK9BAL2WiD18tpLQZzbn83/frwAj+neOeKu9W5Fn/U=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-6350" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: one lite block, empty validator set, expects error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "ADAE23D9D908638F3866C11A39E31CE4399AE6DE8EC8EBBCB1916B90C46EDDE3", + "next_validators_hash": "ADAE23D9D908638F3866C11A39E31CE4399AE6DE8EC8EBBCB1916B90C46EDDE3", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "0F3EC872C4009F2804F4D04A21B2F1B09931B3B16955E289FE5C8C170E5B1536", + "parts": { + "total": "1", + "hash": "133DFE39C90F37E11CE5E72B7B97C9F5B7EFCB3985907D40171CB38570137485" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "0F3EC872C4009F2804F4D04A21B2F1B09931B3B16955E289FE5C8C170E5B1536", + "parts": { + "total": "1", + "hash": "133DFE39C90F37E11CE5E72B7B97C9F5B7EFCB3985907D40171CB38570137485" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "VukyPDb9oGLlZgwPLj1/a7xVfQBEnB7T+Z4CQBxWz+ee4GC36hwvg4BJDUVACrMd/LJy3lZjZMwsff51O1zRAg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "0F3EC872C4009F2804F4D04A21B2F1B09931B3B16955E289FE5C8C170E5B1536", + "parts": { + "total": "1", + "hash": "133DFE39C90F37E11CE5E72B7B97C9F5B7EFCB3985907D40171CB38570137485" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "ZXwWvG24MbB5JKVP8mwbij+Uh70rO4/t/OmzjkLuOx6gG6Cry1aiuUSvx5RvEMc0NtsZJA29b8dBOvcgiGMkBw==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "0F3EC872C4009F2804F4D04A21B2F1B09931B3B16955E289FE5C8C170E5B1536", + "parts": { + "total": "1", + "hash": "133DFE39C90F37E11CE5E72B7B97C9F5B7EFCB3985907D40171CB38570137485" + } + }, + "last_commit_hash": "C42EF3B307547C1E705F497918B025BCB5AAEC9DDC87276303FEFD0C91A3376D", + "data_hash": "", + "validators_hash": "ADAE23D9D908638F3866C11A39E31CE4399AE6DE8EC8EBBCB1916B90C46EDDE3", + "next_validators_hash": "ADAE23D9D908638F3866C11A39E31CE4399AE6DE8EC8EBBCB1916B90C46EDDE3", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "C2C2243318ABF73C28A698EF4CFA0D8F8F50E34F727AD8C507B08EE26BEC387D", + "parts": { + "total": "1", + "hash": "FA9B9463C7F555B7D56A4C7030C46E346E8FD0B561D65A8DEF57107AA78829BE" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "C2C2243318ABF73C28A698EF4CFA0D8F8F50E34F727AD8C507B08EE26BEC387D", + "parts": { + "total": "1", + "hash": "FA9B9463C7F555B7D56A4C7030C46E346E8FD0B561D65A8DEF57107AA78829BE" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "UNMqf3Eo+G+Xf0fC9Bc5dysFf+ZNi4Js6ESzKaMIx0BEeshAzhkKGgDUk7l9L268dWPpLaDKStiyY0xOc6q8Bg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "C2C2243318ABF73C28A698EF4CFA0D8F8F50E34F727AD8C507B08EE26BEC387D", + "parts": { + "total": "1", + "hash": "FA9B9463C7F555B7D56A4C7030C46E346E8FD0B561D65A8DEF57107AA78829BE" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "bHk5q05UhN03V5MGPep27BlOLP9GypQNC1B88RPJBmuGFKWqiYROotjyHU3n2FPTbo6Yz+P3Oo1LDWkWnXZcDQ==" + } + ] + } + }, + "validator_set": { + "validators": null, + "proposer": null + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + } + } + ], + "expected_output": "error" + }, + { + "test_name": "verify", + "description": "Case: two lite blocks, validator set reduces to half, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "ADAE23D9D908638F3866C11A39E31CE4399AE6DE8EC8EBBCB1916B90C46EDDE3", + "next_validators_hash": "ADAE23D9D908638F3866C11A39E31CE4399AE6DE8EC8EBBCB1916B90C46EDDE3", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "0F3EC872C4009F2804F4D04A21B2F1B09931B3B16955E289FE5C8C170E5B1536", + "parts": { + "total": "1", + "hash": "133DFE39C90F37E11CE5E72B7B97C9F5B7EFCB3985907D40171CB38570137485" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "0F3EC872C4009F2804F4D04A21B2F1B09931B3B16955E289FE5C8C170E5B1536", + "parts": { + "total": "1", + "hash": "133DFE39C90F37E11CE5E72B7B97C9F5B7EFCB3985907D40171CB38570137485" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "VukyPDb9oGLlZgwPLj1/a7xVfQBEnB7T+Z4CQBxWz+ee4GC36hwvg4BJDUVACrMd/LJy3lZjZMwsff51O1zRAg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "0F3EC872C4009F2804F4D04A21B2F1B09931B3B16955E289FE5C8C170E5B1536", + "parts": { + "total": "1", + "hash": "133DFE39C90F37E11CE5E72B7B97C9F5B7EFCB3985907D40171CB38570137485" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "ZXwWvG24MbB5JKVP8mwbij+Uh70rO4/t/OmzjkLuOx6gG6Cry1aiuUSvx5RvEMc0NtsZJA29b8dBOvcgiGMkBw==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "113" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "13" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "113" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "0F3EC872C4009F2804F4D04A21B2F1B09931B3B16955E289FE5C8C170E5B1536", + "parts": { + "total": "1", + "hash": "133DFE39C90F37E11CE5E72B7B97C9F5B7EFCB3985907D40171CB38570137485" + } + }, + "last_commit_hash": "C42EF3B307547C1E705F497918B025BCB5AAEC9DDC87276303FEFD0C91A3376D", + "data_hash": "", + "validators_hash": "ADAE23D9D908638F3866C11A39E31CE4399AE6DE8EC8EBBCB1916B90C46EDDE3", + "next_validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "9E332A291F92340AE4DBE78E5996FF5EDEC1356684D1DBC084E3D8E693038A54", + "parts": { + "total": "1", + "hash": "C85AFB039CF664A7082E2BC0799544C9457168A56790C554CD2FCFCEDB6880B8" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "9E332A291F92340AE4DBE78E5996FF5EDEC1356684D1DBC084E3D8E693038A54", + "parts": { + "total": "1", + "hash": "C85AFB039CF664A7082E2BC0799544C9457168A56790C554CD2FCFCEDB6880B8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "mHRK7K+jlEbDG4sh2hZpa4p79+b/BmQ6dSNXh9mZ6NX4AkxbfLoalHZyfHNkrZhaWYk0Uop8QPwf/r41WUsYBA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "9E332A291F92340AE4DBE78E5996FF5EDEC1356684D1DBC084E3D8E693038A54", + "parts": { + "total": "1", + "hash": "C85AFB039CF664A7082E2BC0799544C9457168A56790C554CD2FCFCEDB6880B8" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "PFumD87WMRQxSqpZJeijOFZ6wkLC2Nu9n7DP1xDH61Mm05BXHV94+d3LT89Pti/OPT3dcwQfYh7wKjriclBjAA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "0" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "113" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "13" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-62" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-62" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "13" + } + } + }, + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "3", + "time": "2019-11-02T15:04:15Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "9E332A291F92340AE4DBE78E5996FF5EDEC1356684D1DBC084E3D8E693038A54", + "parts": { + "total": "1", + "hash": "C85AFB039CF664A7082E2BC0799544C9457168A56790C554CD2FCFCEDB6880B8" + } + }, + "last_commit_hash": "5B6C4E99536B11F40FFCD45499E89C98CE217B79C2185C11E5C209481D2EE71B", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "116B7D06D08309DEA37DA18336CC95125F10F3C3F9BC8DD61D0957A11DA56879", + "parts": { + "total": "1", + "hash": "FDFCADEAC3D9CD15C30205C7038AC7D1A21088B161CD338EDA27BE3627A4C03A" + } + }, + "precommits": [ + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "116B7D06D08309DEA37DA18336CC95125F10F3C3F9BC8DD61D0957A11DA56879", + "parts": { + "total": "1", + "hash": "FDFCADEAC3D9CD15C30205C7038AC7D1A21088B161CD338EDA27BE3627A4C03A" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "UXFO17vY125KXnwg6wNhbvzFPJb4jp6r1aGCHSw8XWb70nqJMLqAt6F7ZcOCqnSf08SH3N6mVMSU3QzRNjsJAA==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "116B7D06D08309DEA37DA18336CC95125F10F3C3F9BC8DD61D0957A11DA56879", + "parts": { + "total": "1", + "hash": "FDFCADEAC3D9CD15C30205C7038AC7D1A21088B161CD338EDA27BE3627A4C03A" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "7tz3jcEDLBcvhWwb43id8N9hcvUwel0ezqKNL1XfYU7DrcauG6BfJeu5g+ycWi0goHd2BxDpVeTHQIlfLbkyAw==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "116B7D06D08309DEA37DA18336CC95125F10F3C3F9BC8DD61D0957A11DA56879", + "parts": { + "total": "1", + "hash": "FDFCADEAC3D9CD15C30205C7038AC7D1A21088B161CD338EDA27BE3627A4C03A" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "ZoeBeLApma1V8swOcCAIjEj8DRz4vpDpTMSaVeQ3y9kljyGOHjZ/oH5YRceAXOsxq5tVmMaBH7KBfZVe4soVBg==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "116B7D06D08309DEA37DA18336CC95125F10F3C3F9BC8DD61D0957A11DA56879", + "parts": { + "total": "1", + "hash": "FDFCADEAC3D9CD15C30205C7038AC7D1A21088B161CD338EDA27BE3627A4C03A" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "3hGNNj/ksZNyC528Mw5vCv6y3xpodjw5vikMbXD7mK/Kde3X9P6LlxSC3REF7+But3PFpb7vKePdwgagfZykAQ==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-37" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "63" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-12" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-12" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-37" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "113" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "13" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-62" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-62" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "13" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: two lite blocks, validator set reduces to half, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "tG25DxraSiCWfYfc3wMlzMvGt03qsS+5jSNf7IORA9n4Vht0HREA8ML2WD6+GUKa02cf1pZaIjwjEFGJbPZ3Aw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "FubQqmcBn211oVuIfmV4FAq0mCJl7sKag7pNRFCYi6p2aBoJjMtcc9bp4vD6umwc3jiL6rSb4LzVeOheNYCgAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "ydCKUU73yswGUFRy7/kgndvvPXBnLpz+MR8RYB8yF1nC4BlhqKuqglQsFJ1McwxoVyooOeSGk94b0+GozgX4CA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "VHeRphGJQi2xtj8YBKuTHsw/9f4VYSceuf8eiN3U0QfCdAeZtCMkhpYh38gyfMxR3sKbf0z46iv0Gqc46cL9AQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "last_commit_hash": "9303957C4806DBD2F1C7CFBF1970E552F96C154566E189EEAE8D3A0DF09F5697", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "EF93DFA30C99999B2526134D121808DB0906D60F6A539BC14CA85CC9BDB22B9E", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "AC82A870040E6FF1730A12F76C3B00E3F2D1D4F21EA753A340885072F84EF382", + "parts": { + "total": "1", + "hash": "9D4A6E7A4FC4E4A23501C20427691D9B0D378C503BE4D6729B665BAD6ACD37E3" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "AC82A870040E6FF1730A12F76C3B00E3F2D1D4F21EA753A340885072F84EF382", + "parts": { + "total": "1", + "hash": "9D4A6E7A4FC4E4A23501C20427691D9B0D378C503BE4D6729B665BAD6ACD37E3" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "OSzaGrWwlJUU1yFhNA3MyUPFjqlciLG1B1o+Krsz44qcqD1eEjFV2kMCSXQfilHLzxUxzq+wbf/n0WpPsiBhCg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "AC82A870040E6FF1730A12F76C3B00E3F2D1D4F21EA753A340885072F84EF382", + "parts": { + "total": "1", + "hash": "9D4A6E7A4FC4E4A23501C20427691D9B0D378C503BE4D6729B665BAD6ACD37E3" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "E1s5XM+SHuiZm8SAKq2l+1siB+I/W3xIu/j7CoWzhZudZh3wvtIoyjW3LX0jcVEdJVcNCKUIbJAaUalD7Ni+DQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "AC82A870040E6FF1730A12F76C3B00E3F2D1D4F21EA753A340885072F84EF382", + "parts": { + "total": "1", + "hash": "9D4A6E7A4FC4E4A23501C20427691D9B0D378C503BE4D6729B665BAD6ACD37E3" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "6/wFNgtV6E+QQhyJDgL0yqgAugrE19hXfvW4WX+CQnjoLkjFRQ9ET2otPlwgiMVbdRloisINscNKuU1BLYEPCA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "AC82A870040E6FF1730A12F76C3B00E3F2D1D4F21EA753A340885072F84EF382", + "parts": { + "total": "1", + "hash": "9D4A6E7A4FC4E4A23501C20427691D9B0D378C503BE4D6729B665BAD6ACD37E3" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "i046UMzaZLbOa4H4OKwZFzU5YWqwcgwAbZEvv5HSGx0jIXjyU6isrjCEYdI3Ca0ENNnUBCXxsQlbXqCEv7ZuDg==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + } + }, + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "3", + "time": "2019-11-02T15:04:15Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "AC82A870040E6FF1730A12F76C3B00E3F2D1D4F21EA753A340885072F84EF382", + "parts": { + "total": "1", + "hash": "9D4A6E7A4FC4E4A23501C20427691D9B0D378C503BE4D6729B665BAD6ACD37E3" + } + }, + "last_commit_hash": "64968C35B61DEE888EBE992ADABA5D22C0560DF3F60AB6CDB5A711E6ACDC79B9", + "data_hash": "", + "validators_hash": "EF93DFA30C99999B2526134D121808DB0906D60F6A539BC14CA85CC9BDB22B9E", + "next_validators_hash": "EF93DFA30C99999B2526134D121808DB0906D60F6A539BC14CA85CC9BDB22B9E", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "03EC0413849A3311A5341E7A69D6C544E9A30310" + }, + "commit": { + "block_id": { + "hash": "1B44CBC89DC50C6AAB8B07E045500610748137F0A1878B15F2588954B36BDE81", + "parts": { + "total": "1", + "hash": "44E870195DCEE55FE63C97EC4E78EF0F080AA009361772F877B2660FC869C28F" + } + }, + "precommits": [ + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "1B44CBC89DC50C6AAB8B07E045500610748137F0A1878B15F2588954B36BDE81", + "parts": { + "total": "1", + "hash": "44E870195DCEE55FE63C97EC4E78EF0F080AA009361772F877B2660FC869C28F" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "0", + "signature": "mUHg5xKqBYskJlSBqDGcUhKA9GudIyokACe0h7taG3RuR/HbYLYCJh5AVkFjxCEbwTOx1mDJOltoxqsXrldVCg==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "1B44CBC89DC50C6AAB8B07E045500610748137F0A1878B15F2588954B36BDE81", + "parts": { + "total": "1", + "hash": "44E870195DCEE55FE63C97EC4E78EF0F080AA009361772F877B2660FC869C28F" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "1", + "signature": "GiKGbu/O0GZm7qAxyZPwCggcbzFrH9c9tCVSDUb34j8iDztrNbwhlRC3/Du7cC1rowXqO6lergX+g8Xv4KPKBQ==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "0" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + ], + "proposer": { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "0" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: two lite blocks, 1/3 validator set changes, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "next_validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "S9dUzrQpkUq2NNDxOT8N+h2ueiTCORiVX6EdyiJygqyRvtT8wpYMVCmjEaAsu/09XXrPgMWsqXdKEK58cAKtCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "n7bsnvPH/5nR6cxOcJ79ZkrLU8nLuEp/IGT8V1nlAp+UlmRi9BT4E1+a1ffVWZVTBOcgUXIwiPeHfZ1c25tMAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "2dxaCVMHK08x4zMCO9cxTeqZocICYT+6UMjexTYqY0m9vEJ2b+e2Kjsvl3rqCNKWXHdVEzPR94y4VKZRjw4lDQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-8" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "142" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "last_commit_hash": "015F354818425B25F32783588C49A0DCB32E83D185BB6E8FE33FF375CB6CBB78", + "data_hash": "", + "validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "next_validators_hash": "92B56B5EADC1236DC04154D4D22FB17A743DAC075DC0886234DBF430BC0A647F", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "5FE2E828F0EF350D9B2C73D3E00A39459A46FAEED81EE13A564C0F58519B7D3D", + "parts": { + "total": "1", + "hash": "EA7C6B34494E4F390218388F2EBE7C6A201A8B377FADB4AE68249F5B4BA97021" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "5FE2E828F0EF350D9B2C73D3E00A39459A46FAEED81EE13A564C0F58519B7D3D", + "parts": { + "total": "1", + "hash": "EA7C6B34494E4F390218388F2EBE7C6A201A8B377FADB4AE68249F5B4BA97021" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "4pvZVdqBjZ6MUf1DMEyoKKSGkvJvmmBqFO7dZt2WEEWzLoYcAMh+8RQVI5gK2t8YHNnBiM8vI/BFHXu+tuntAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "5FE2E828F0EF350D9B2C73D3E00A39459A46FAEED81EE13A564C0F58519B7D3D", + "parts": { + "total": "1", + "hash": "EA7C6B34494E4F390218388F2EBE7C6A201A8B377FADB4AE68249F5B4BA97021" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "PAtzRA1no68XLcUsjF6wcQitUQZGBBVNnE32a08zcSMVSGTJmGPBB6uugI5dH30d7lrf+SE1QHEQQSlwGYNWDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "5FE2E828F0EF350D9B2C73D3E00A39459A46FAEED81EE13A564C0F58519B7D3D", + "parts": { + "total": "1", + "hash": "EA7C6B34494E4F390218388F2EBE7C6A201A8B377FADB4AE68249F5B4BA97021" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "DwCFVnAFEOvTYQlRczmfrNpP+hZNY27pwCkc3EHEsJFbHgYadlQiKE/W8k43gbQFKQVcJ1reH8TgJVTKlCtnDA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-8" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "142" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-133" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-8" + } + } + }, + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "3", + "time": "2019-11-02T15:04:15Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "5FE2E828F0EF350D9B2C73D3E00A39459A46FAEED81EE13A564C0F58519B7D3D", + "parts": { + "total": "1", + "hash": "EA7C6B34494E4F390218388F2EBE7C6A201A8B377FADB4AE68249F5B4BA97021" + } + }, + "last_commit_hash": "26F3F7E7A5F91478477AF57691D5786E726D3D3B6DA2F338C26D880DC46EC9FC", + "data_hash": "", + "validators_hash": "92B56B5EADC1236DC04154D4D22FB17A743DAC075DC0886234DBF430BC0A647F", + "next_validators_hash": "92B56B5EADC1236DC04154D4D22FB17A743DAC075DC0886234DBF430BC0A647F", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2" + }, + "commit": { + "block_id": { + "hash": "7D2D05F6F4DE822967A7ADA70A955D4E7B1119B4434B27D33781AB72C23693A2", + "parts": { + "total": "1", + "hash": "46A6FBE6407D94AC77711D0B2BC64CF30CA8FF3FBDF8B5A67FE31F5E78CC870D" + } + }, + "precommits": [ + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "7D2D05F6F4DE822967A7ADA70A955D4E7B1119B4434B27D33781AB72C23693A2", + "parts": { + "total": "1", + "hash": "46A6FBE6407D94AC77711D0B2BC64CF30CA8FF3FBDF8B5A67FE31F5E78CC870D" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "0", + "signature": "opZw+YRTwbwIgGqrkekI+qOpaGtzIJT9eJeXM2OKOIXHJYpQx1z+sdOMb6hnolM3Jq27ki6GNsIcFNnV0X0lAA==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "7D2D05F6F4DE822967A7ADA70A955D4E7B1119B4434B27D33781AB72C23693A2", + "parts": { + "total": "1", + "hash": "46A6FBE6407D94AC77711D0B2BC64CF30CA8FF3FBDF8B5A67FE31F5E78CC870D" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "1", + "signature": "g9zWgZ3zOskeUPU2JMCDFSFQP0WTV4i00cf5BthvAOqBMAiRgI7wEnmoca61i0snIsYtbA+x+fyI9sSC+S6hBg==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "7D2D05F6F4DE822967A7ADA70A955D4E7B1119B4434B27D33781AB72C23693A2", + "parts": { + "total": "1", + "hash": "46A6FBE6407D94AC77711D0B2BC64CF30CA8FF3FBDF8B5A67FE31F5E78CC870D" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "2", + "signature": "mu9bgejsC0oId55/D5KC/nV7YoYm8OGy+R2X9ebos58ZqBr4GxupIpQDWnPBohyMdARPdsdVYWxUnqdYJeMBBw==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "42" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "42" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-83" + } + ], + "proposer": { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "42" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-8" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "142" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-133" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-8" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: two lite blocks, 1/2 validator set changes, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "tG25DxraSiCWfYfc3wMlzMvGt03qsS+5jSNf7IORA9n4Vht0HREA8ML2WD6+GUKa02cf1pZaIjwjEFGJbPZ3Aw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "FubQqmcBn211oVuIfmV4FAq0mCJl7sKag7pNRFCYi6p2aBoJjMtcc9bp4vD6umwc3jiL6rSb4LzVeOheNYCgAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "ydCKUU73yswGUFRy7/kgndvvPXBnLpz+MR8RYB8yF1nC4BlhqKuqglQsFJ1McwxoVyooOeSGk94b0+GozgX4CA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "VHeRphGJQi2xtj8YBKuTHsw/9f4VYSceuf8eiN3U0QfCdAeZtCMkhpYh38gyfMxR3sKbf0z46iv0Gqc46cL9AQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "44" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "244" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "last_commit_hash": "9303957C4806DBD2F1C7CFBF1970E552F96C154566E189EEAE8D3A0DF09F5697", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "1D0E097867957D60300DA09E9BDFB72D5D0FF6E737E895C613332EE1384013AB", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "6F71E51D29516D579587700007723950171FDE9B69AAEB9E095CB8C7CF4A3BD5", + "parts": { + "total": "1", + "hash": "B18436B07B30795882D955ED243C9424CC2409912605C3A52314A642A8CE933F" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "6F71E51D29516D579587700007723950171FDE9B69AAEB9E095CB8C7CF4A3BD5", + "parts": { + "total": "1", + "hash": "B18436B07B30795882D955ED243C9424CC2409912605C3A52314A642A8CE933F" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "i0HABQ7K+65U5NZNjpPRdqdWaGd9YZHrgUymSCtRb4mm9SV2GSek/7L/PlMCFyAw9jqovfk/s0Cx/E6oBsZuBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "6F71E51D29516D579587700007723950171FDE9B69AAEB9E095CB8C7CF4A3BD5", + "parts": { + "total": "1", + "hash": "B18436B07B30795882D955ED243C9424CC2409912605C3A52314A642A8CE933F" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "4iWd2CsB2JYfk2Hp4FiNfWRTqtjdkS8BWiTRLiuZYtxVmROWe4KdvfNAfgW8dEpJTEqRyeElhYE/6dYtEPmkAQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "6F71E51D29516D579587700007723950171FDE9B69AAEB9E095CB8C7CF4A3BD5", + "parts": { + "total": "1", + "hash": "B18436B07B30795882D955ED243C9424CC2409912605C3A52314A642A8CE933F" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "FLWXvKkjRbKS7UKE2AHom4xqGSwjbbX4hzp2JoCfj5AMtAzUE081scopAJV0faOp4sxlWkqss+8bKTbUET2sDQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "6F71E51D29516D579587700007723950171FDE9B69AAEB9E095CB8C7CF4A3BD5", + "parts": { + "total": "1", + "hash": "B18436B07B30795882D955ED243C9424CC2409912605C3A52314A642A8CE933F" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "sDPRCgfNYchbsNxrCh0JyT8E5iHitmDgmBozC0qqenIv9pFIntYSwuk58a9QSUJXrDAB38I0MhCwNh3NbdIVDA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "44" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "244" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-143" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-143" + } + ], + "proposer": { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "44" + } + } + }, + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "3", + "time": "2019-11-02T15:04:15Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "6F71E51D29516D579587700007723950171FDE9B69AAEB9E095CB8C7CF4A3BD5", + "parts": { + "total": "1", + "hash": "B18436B07B30795882D955ED243C9424CC2409912605C3A52314A642A8CE933F" + } + }, + "last_commit_hash": "B1A746F749205F19C2B2E35CAB522C2CAA025C74909048AE544DEB8517BB8C83", + "data_hash": "", + "validators_hash": "1D0E097867957D60300DA09E9BDFB72D5D0FF6E737E895C613332EE1384013AB", + "next_validators_hash": "1D0E097867957D60300DA09E9BDFB72D5D0FF6E737E895C613332EE1384013AB", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "03EC0413849A3311A5341E7A69D6C544E9A30310" + }, + "commit": { + "block_id": { + "hash": "6EBFBAF0762601DF94CD00561EA6601D728EF4A34E182CDC696CBA81782EDE92", + "parts": { + "total": "1", + "hash": "7C487A3C901989B5340BCC79183338508FD69CB0011971A5350601783D20EFA8" + } + }, + "precommits": [ + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "6EBFBAF0762601DF94CD00561EA6601D728EF4A34E182CDC696CBA81782EDE92", + "parts": { + "total": "1", + "hash": "7C487A3C901989B5340BCC79183338508FD69CB0011971A5350601783D20EFA8" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "0", + "signature": "rVSA9wWcaC2XCUu4UugFs46H8BI/HPQBKF8LTbCBCYitWoi1jHJuPKwfJLXdaAv9F7caLD7OzY9lp0I1LjqfBQ==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "6EBFBAF0762601DF94CD00561EA6601D728EF4A34E182CDC696CBA81782EDE92", + "parts": { + "total": "1", + "hash": "7C487A3C901989B5340BCC79183338508FD69CB0011971A5350601783D20EFA8" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "1", + "signature": "h0g2sDlQ2eiu6YYkGc+ZntTAsq/naqw2JObzk2CqrYq+SjC6d3xIA6hmfMT8LR+u9V0d9sJqzU2KtPnEnlOkBg==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "6EBFBAF0762601DF94CD00561EA6601D728EF4A34E182CDC696CBA81782EDE92", + "parts": { + "total": "1", + "hash": "7C487A3C901989B5340BCC79183338508FD69CB0011971A5350601783D20EFA8" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "2", + "signature": "od74TPqOruwdg1+CRBzDDhu5rdkiH0wXJ+diCSQXY7mSO3rYWRNst7jV/c3nW8WoM0ZVrKfvkNJh3nr+SeoZDg==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "6EBFBAF0762601DF94CD00561EA6601D728EF4A34E182CDC696CBA81782EDE92", + "parts": { + "total": "1", + "hash": "7C487A3C901989B5340BCC79183338508FD69CB0011971A5350601783D20EFA8" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "validator_index": "3", + "signature": "jK+3mYAQFOlPejWTcMZySx+1Wu0Va03xg/NRT+5W2NSB8jX0hwDgwEoTH/3Wve/QvKGwr59p3aik09DCeYJ2DQ==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "94" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "94" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-93" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-93" + } + ], + "proposer": { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "94" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "44" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "244" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-143" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-143" + } + ], + "proposer": { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "44" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: two lite blocks, 2/3 validator set changes, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "next_validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "S9dUzrQpkUq2NNDxOT8N+h2ueiTCORiVX6EdyiJygqyRvtT8wpYMVCmjEaAsu/09XXrPgMWsqXdKEK58cAKtCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "n7bsnvPH/5nR6cxOcJ79ZkrLU8nLuEp/IGT8V1nlAp+UlmRi9BT4E1+a1ffVWZVTBOcgUXIwiPeHfZ1c25tMAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "2dxaCVMHK08x4zMCO9cxTeqZocICYT+6UMjexTYqY0m9vEJ2b+e2Kjsvl3rqCNKWXHdVEzPR94y4VKZRjw4lDQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "10" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "last_commit_hash": "015F354818425B25F32783588C49A0DCB32E83D185BB6E8FE33FF375CB6CBB78", + "data_hash": "", + "validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "next_validators_hash": "732BB4932DBB44141CD0E9392AA88D078AA673920FD59848CB9A227A2C280F6F", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "EA9BE30C986BAFBE6860F6F258B41C8D9332453C104C5801BCE936CC018E8FFB", + "parts": { + "total": "1", + "hash": "203605460805AC1F5E81A2AA599EA7966FB9C01927B4850C78D5777F995F6A22" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "EA9BE30C986BAFBE6860F6F258B41C8D9332453C104C5801BCE936CC018E8FFB", + "parts": { + "total": "1", + "hash": "203605460805AC1F5E81A2AA599EA7966FB9C01927B4850C78D5777F995F6A22" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "PdIp5MyJCuFpt4VVunMM/uHdOfttJlWyH4tECKkWXqjaWtkVA/oql1LKmvnIpbeP3Kq6DgKQCUQpmRgjHo1kBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "EA9BE30C986BAFBE6860F6F258B41C8D9332453C104C5801BCE936CC018E8FFB", + "parts": { + "total": "1", + "hash": "203605460805AC1F5E81A2AA599EA7966FB9C01927B4850C78D5777F995F6A22" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "EMLeCNNgt/t2ICYKwv8Q8M+GtrEd7icrqhDEf15ay1NloJduUi6TSPu823NTGWPimFOw2UJBiLntN9m0M6XTAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "EA9BE30C986BAFBE6860F6F258B41C8D9332453C104C5801BCE936CC018E8FFB", + "parts": { + "total": "1", + "hash": "203605460805AC1F5E81A2AA599EA7966FB9C01927B4850C78D5777F995F6A22" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "rgqdrPSUQZhivVR5CONqhDoY4D39RRjwjsixTyJww+Q3skk8QjuShezDCT4fjwe3MhtNxLhXzqL7OMQPikDsBA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "10" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-5" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-5" + } + ], + "proposer": { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "10" + } + } + }, + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "3", + "time": "2019-11-02T15:04:15Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "EA9BE30C986BAFBE6860F6F258B41C8D9332453C104C5801BCE936CC018E8FFB", + "parts": { + "total": "1", + "hash": "203605460805AC1F5E81A2AA599EA7966FB9C01927B4850C78D5777F995F6A22" + } + }, + "last_commit_hash": "1674DFA59F029D0DD098D6FB0308CA3809D45CC06C7FB23B2566A45AD455C973", + "data_hash": "", + "validators_hash": "732BB4932DBB44141CD0E9392AA88D078AA673920FD59848CB9A227A2C280F6F", + "next_validators_hash": "732BB4932DBB44141CD0E9392AA88D078AA673920FD59848CB9A227A2C280F6F", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2" + }, + "commit": { + "block_id": { + "hash": "8D738742D9EA2BBF8658AD76E8050A0EFBAEB042D2D19BEFD61C531A2CF7A410", + "parts": { + "total": "1", + "hash": "9857837EA21706D711ADB94AD861FDDC91BEF4260188CA54784557E21C0A0B2B" + } + }, + "precommits": [ + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "8D738742D9EA2BBF8658AD76E8050A0EFBAEB042D2D19BEFD61C531A2CF7A410", + "parts": { + "total": "1", + "hash": "9857837EA21706D711ADB94AD861FDDC91BEF4260188CA54784557E21C0A0B2B" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "0", + "signature": "hWkM+TkXfGY5IWX+UpG3z1vP73kdF/aIrBznkyT1yCRg5a6hw4Pysx0MBU7GsFJ5BZjk5oc7SVGoKeuhvPcpDA==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "8D738742D9EA2BBF8658AD76E8050A0EFBAEB042D2D19BEFD61C531A2CF7A410", + "parts": { + "total": "1", + "hash": "9857837EA21706D711ADB94AD861FDDC91BEF4260188CA54784557E21C0A0B2B" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "1", + "signature": "zIs0b+UUl3izUD4sdr1eubE5vxR+BPHt6JDL/Z4oA6i9LvWO3HGaZMxInQ9IrUkcqVUoRsYDjaEVuc0h0hovAQ==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "8D738742D9EA2BBF8658AD76E8050A0EFBAEB042D2D19BEFD61C531A2CF7A410", + "parts": { + "total": "1", + "hash": "9857837EA21706D711ADB94AD861FDDC91BEF4260188CA54784557E21C0A0B2B" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "2", + "signature": "voz/78q23n5ODfEJ9tq0VmLpewRwda7iUKRhBo6B2q3sK65rwLy6VRyXXC5DsPgysj29VglnbZ0MU+uvro9iCQ==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-90" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "45" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "45" + } + ], + "proposer": { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-90" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "10" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-5" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-5" + } + ], + "proposer": { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "10" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: two lite blocks, validator set changes completely, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "5D634879D82042E0AF0EA3F2971A3A32290C68FD460321B8AF7A917AA07AAB94", + "next_validators_hash": "5D634879D82042E0AF0EA3F2971A3A32290C68FD460321B8AF7A917AA07AAB94", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "603B3155F2A6D0124AAED31E351A055DE7FE06AF01C71E37A4F085D98086CE49", + "parts": { + "total": "1", + "hash": "D4C13E3A1835CE8EA245FA642B6E5CE65B6859707C0DB4353D8894BB084A4D13" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "603B3155F2A6D0124AAED31E351A055DE7FE06AF01C71E37A4F085D98086CE49", + "parts": { + "total": "1", + "hash": "D4C13E3A1835CE8EA245FA642B6E5CE65B6859707C0DB4353D8894BB084A4D13" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "irWrY2k1/zRekE7nkajbmXC7JimPjI8CLY9g59TMWSftcqnYcPDRpeeZqViWRi0e3VXyEfeedtFpPXZGBwTxCQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "603B3155F2A6D0124AAED31E351A055DE7FE06AF01C71E37A4F085D98086CE49", + "parts": { + "total": "1", + "hash": "D4C13E3A1835CE8EA245FA642B6E5CE65B6859707C0DB4353D8894BB084A4D13" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "qE40QxIqIax0KXtggse0gYJZ8NqLrZRFuQAJ9M9Cmub1lPDVdq/wDp0Ozl9e4VIctr/txsgPmIs2AOfMkQsSBw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "603B3155F2A6D0124AAED31E351A055DE7FE06AF01C71E37A4F085D98086CE49", + "parts": { + "total": "1", + "hash": "D4C13E3A1835CE8EA245FA642B6E5CE65B6859707C0DB4353D8894BB084A4D13" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "to1ruWAtzl3WSkgTM1a78fo1D1o5FckdGJNJaozC02X1nMISOMjN3O4Tx2jbH/goTIzRwWo8ngR//T7MVMYIBQ==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "603B3155F2A6D0124AAED31E351A055DE7FE06AF01C71E37A4F085D98086CE49", + "parts": { + "total": "1", + "hash": "D4C13E3A1835CE8EA245FA642B6E5CE65B6859707C0DB4353D8894BB084A4D13" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "U5dY+3oYVZHhHdRFHyhFWnl1TWhCY4dwG9ELQnNEjBpDSBdfebdry0GZGcUMytFhrJyLdwlpvlgA/WBy25b6AA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "603B3155F2A6D0124AAED31E351A055DE7FE06AF01C71E37A4F085D98086CE49", + "parts": { + "total": "1", + "hash": "D4C13E3A1835CE8EA245FA642B6E5CE65B6859707C0DB4353D8894BB084A4D13" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "4", + "signature": "HEyzDHN3/k6l3DZyT5G6rZalk5pHZ1omhYrVYygYq/hW2UXU/lHh5szRsJHf3nncEMEOEwWNEG4OpmF1OxmqDQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-200" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-200" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "603B3155F2A6D0124AAED31E351A055DE7FE06AF01C71E37A4F085D98086CE49", + "parts": { + "total": "1", + "hash": "D4C13E3A1835CE8EA245FA642B6E5CE65B6859707C0DB4353D8894BB084A4D13" + } + }, + "last_commit_hash": "2ED800F23CCADD9E9C65869B024BDF41ACB9227BC16E02718B2D3B66655522C7", + "data_hash": "", + "validators_hash": "5D634879D82042E0AF0EA3F2971A3A32290C68FD460321B8AF7A917AA07AAB94", + "next_validators_hash": "20E53822958F67EF2B65D48DE0E97C437C099F51609B1AC13F12F1EB2F101D05", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "A2D0D7B8BEFF90D77AEE592B7860290C530DD66DEE650004EF0D3291856C8AB7", + "parts": { + "total": "1", + "hash": "8524EF842A5CD979EC0886A2F6D56820CEFC5392A81CCE9506C1B4EAFD521D0A" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "A2D0D7B8BEFF90D77AEE592B7860290C530DD66DEE650004EF0D3291856C8AB7", + "parts": { + "total": "1", + "hash": "8524EF842A5CD979EC0886A2F6D56820CEFC5392A81CCE9506C1B4EAFD521D0A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "C2jjuSxK3iOAim4yIZ2cH99c5/ZPry14YuRQ3jlcVRRFHYJvqk/QKnphh+enmLkzvHTUpeZKdOE5MXyjhxXnDA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "A2D0D7B8BEFF90D77AEE592B7860290C530DD66DEE650004EF0D3291856C8AB7", + "parts": { + "total": "1", + "hash": "8524EF842A5CD979EC0886A2F6D56820CEFC5392A81CCE9506C1B4EAFD521D0A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "5FgFA9GqwttBhrz5MeBjGjsqR77IXYsf8dDcoNdaBjUefH1NwtLd3Vfy4Aal1CyPYXCvTHFXvTcc4XQhQbT7DA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "A2D0D7B8BEFF90D77AEE592B7860290C530DD66DEE650004EF0D3291856C8AB7", + "parts": { + "total": "1", + "hash": "8524EF842A5CD979EC0886A2F6D56820CEFC5392A81CCE9506C1B4EAFD521D0A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "aLEdj9RLSCcHc8Y2SaHLUv4oSBsa3KsnHO05q6tCEg5hGqg1oPtbRNVDUMomMjnre5cQYvkI5xZ5axd9neW/AQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "A2D0D7B8BEFF90D77AEE592B7860290C530DD66DEE650004EF0D3291856C8AB7", + "parts": { + "total": "1", + "hash": "8524EF842A5CD979EC0886A2F6D56820CEFC5392A81CCE9506C1B4EAFD521D0A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "XaRCB+AlCWVwymDxKfjV9fTJsulkLm1ynfQaiHbkmlUO7M/ttVmukKUY70QdETXrQ2dSgHfo1buT+hImUZD1Dw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "A2D0D7B8BEFF90D77AEE592B7860290C530DD66DEE650004EF0D3291856C8AB7", + "parts": { + "total": "1", + "hash": "8524EF842A5CD979EC0886A2F6D56820CEFC5392A81CCE9506C1B4EAFD521D0A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "4", + "signature": "Si6nCUK3qYL6btxLq0MEzIOpcwfByBagXpVsfW4GLzrqcSCOa9dVKDohPpsfz4Q/iGUOZDlFtYXisoa3h0olAg==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-150" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-200" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XCK6BWW7PWfsMof+x3lYRaNKbtP9J2WoOUztl9TAumA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0859D2467F0DA63744B220E6E270DD3F0EEAC10E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "I44Rs7aDNyhp+m0Tx8v5h5+PadBk0hrnGRxjjRcUN1M=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0D7350841ACB4A53C7717C7E5776A5E0DB6D596E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "x0lc+iqSimWb7E5qjqGjhhcGfHvInloqPqcKeFs94Lo=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-200" + } + } + }, + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "3", + "time": "2019-11-02T15:04:15Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "A2D0D7B8BEFF90D77AEE592B7860290C530DD66DEE650004EF0D3291856C8AB7", + "parts": { + "total": "1", + "hash": "8524EF842A5CD979EC0886A2F6D56820CEFC5392A81CCE9506C1B4EAFD521D0A" + } + }, + "last_commit_hash": "0FC4F91BA6ED2B127FD833B85835571EAFEB31E8CECFCF7F508BAF51B41E3B6E", + "data_hash": "", + "validators_hash": "20E53822958F67EF2B65D48DE0E97C437C099F51609B1AC13F12F1EB2F101D05", + "next_validators_hash": "20E53822958F67EF2B65D48DE0E97C437C099F51609B1AC13F12F1EB2F101D05", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F" + }, + "commit": { + "block_id": { + "hash": "230F354865D95CFE3C46CA112C21D4CE6A9800A5CBF7F70420EE0B25153588B0", + "parts": { + "total": "1", + "hash": "F9FAC884F7533E41A6B2B9263A7980DA6AF7895D47F1D00B12D523373ACAFC99" + } + }, + "precommits": [ + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "230F354865D95CFE3C46CA112C21D4CE6A9800A5CBF7F70420EE0B25153588B0", + "parts": { + "total": "1", + "hash": "F9FAC884F7533E41A6B2B9263A7980DA6AF7895D47F1D00B12D523373ACAFC99" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "validator_index": "0", + "signature": "W6+X2iFfyJehQ/BXLiwhIPrxIrd4EDGn1IjZC99Ync6pwn80kYp7NoFKMBP4V5C9wbv+xUcDY1Fyssf5n7D7BA==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "230F354865D95CFE3C46CA112C21D4CE6A9800A5CBF7F70420EE0B25153588B0", + "parts": { + "total": "1", + "hash": "F9FAC884F7533E41A6B2B9263A7980DA6AF7895D47F1D00B12D523373ACAFC99" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "validator_index": "1", + "signature": "yr/GCLB4T2RWNIDMNd5Y7HRd09Y1uq6MGzpMUUcmdDh1Ezy/dFblM17MZW3vciK+YPvDvqS28gt1pwT1evYYAg==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "230F354865D95CFE3C46CA112C21D4CE6A9800A5CBF7F70420EE0B25153588B0", + "parts": { + "total": "1", + "hash": "F9FAC884F7533E41A6B2B9263A7980DA6AF7895D47F1D00B12D523373ACAFC99" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "validator_index": "2", + "signature": "RUg9kdb7DSOuENbtT7pJ5ZxhQsfWHTNLN+FP9b+P4JkjQLCmtoyKqDYAiZWZPuThzT3lst/6x1Rq0jn2Y28DCA==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "230F354865D95CFE3C46CA112C21D4CE6A9800A5CBF7F70420EE0B25153588B0", + "parts": { + "total": "1", + "hash": "F9FAC884F7533E41A6B2B9263A7980DA6AF7895D47F1D00B12D523373ACAFC99" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "0859D2467F0DA63744B220E6E270DD3F0EEAC10E", + "validator_index": "3", + "signature": "1Xzoy/XoqU1KRs/1eUIBHi6AxkIp+TK3a9C+nmvXcU3tY5K5wXKIeGpPaNTCN756S+P81zJwmNxFkNkeQWciAA==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "230F354865D95CFE3C46CA112C21D4CE6A9800A5CBF7F70420EE0B25153588B0", + "parts": { + "total": "1", + "hash": "F9FAC884F7533E41A6B2B9263A7980DA6AF7895D47F1D00B12D523373ACAFC99" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "0D7350841ACB4A53C7717C7E5776A5E0DB6D596E", + "validator_index": "4", + "signature": "ZptU64egj4LAx9cHng4UJqKZkBE3KVCRyJBK6Ng1h8KYdJVcPkjzNl8A/Nq6j/5RZD/r8nYlawbMaZqT3bYDDw==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XCK6BWW7PWfsMof+x3lYRaNKbtP9J2WoOUztl9TAumA=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "0859D2467F0DA63744B220E6E270DD3F0EEAC10E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "I44Rs7aDNyhp+m0Tx8v5h5+PadBk0hrnGRxjjRcUN1M=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "0D7350841ACB4A53C7717C7E5776A5E0DB6D596E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "x0lc+iqSimWb7E5qjqGjhhcGfHvInloqPqcKeFs94Lo=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "-150" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-200" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "074D8A3973885CD484ED4904DC82ED812773C5BA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XCK6BWW7PWfsMof+x3lYRaNKbtP9J2WoOUztl9TAumA=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0859D2467F0DA63744B220E6E270DD3F0EEAC10E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "I44Rs7aDNyhp+m0Tx8v5h5+PadBk0hrnGRxjjRcUN1M=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "0D7350841ACB4A53C7717C7E5776A5E0DB6D596E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "x0lc+iqSimWb7E5qjqGjhhcGfHvInloqPqcKeFs94Lo=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-200" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: two lite blocks, less than 1/3 validator set changes, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "tG25DxraSiCWfYfc3wMlzMvGt03qsS+5jSNf7IORA9n4Vht0HREA8ML2WD6+GUKa02cf1pZaIjwjEFGJbPZ3Aw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "FubQqmcBn211oVuIfmV4FAq0mCJl7sKag7pNRFCYi6p2aBoJjMtcc9bp4vD6umwc3jiL6rSb4LzVeOheNYCgAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "ydCKUU73yswGUFRy7/kgndvvPXBnLpz+MR8RYB8yF1nC4BlhqKuqglQsFJ1McwxoVyooOeSGk94b0+GozgX4CA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "VHeRphGJQi2xtj8YBKuTHsw/9f4VYSceuf8eiN3U0QfCdAeZtCMkhpYh38gyfMxR3sKbf0z46iv0Gqc46cL9AQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-67" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "133" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "133" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "last_commit_hash": "9303957C4806DBD2F1C7CFBF1970E552F96C154566E189EEAE8D3A0DF09F5697", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "036C46A0D3D02BD5609393501881911CCD9D28EFA81829E654AD02D421776BB8", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "600CA49CEE9C7E97DC171F2DA2973E05564CC2FA8BD527E3826D5A0363D81D54", + "parts": { + "total": "1", + "hash": "BDA093FE800E1A349C312D6A0203B02907FF0696753AA41D310FCA3D5DC09B6A" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "600CA49CEE9C7E97DC171F2DA2973E05564CC2FA8BD527E3826D5A0363D81D54", + "parts": { + "total": "1", + "hash": "BDA093FE800E1A349C312D6A0203B02907FF0696753AA41D310FCA3D5DC09B6A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "cE24xLgNXiyjpvBTdkX59ESkoO4nAkNVYm++ZE2uP2V2zYHLZ0RFmr8wbHe2ayELR957LmwNGif1Gzdh7aPxBg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "600CA49CEE9C7E97DC171F2DA2973E05564CC2FA8BD527E3826D5A0363D81D54", + "parts": { + "total": "1", + "hash": "BDA093FE800E1A349C312D6A0203B02907FF0696753AA41D310FCA3D5DC09B6A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "YIkHUFCSqmzAh9oMImbyWbBazKZkDPWiIDZctDBofNvR01h0oBW230hGItivsexorHrp4hCieB8ulGgKSld2CA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "600CA49CEE9C7E97DC171F2DA2973E05564CC2FA8BD527E3826D5A0363D81D54", + "parts": { + "total": "1", + "hash": "BDA093FE800E1A349C312D6A0203B02907FF0696753AA41D310FCA3D5DC09B6A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "jWBUcSF9X17vexKxHD+d4khgxaWhAToVUyE6TlITn9L6z1Rk3qQmeelAoX9ZYwFFWz5JHyoXoLM3fMfZJfEGCA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "600CA49CEE9C7E97DC171F2DA2973E05564CC2FA8BD527E3826D5A0363D81D54", + "parts": { + "total": "1", + "hash": "BDA093FE800E1A349C312D6A0203B02907FF0696753AA41D310FCA3D5DC09B6A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "98jQif/Go2IaQVAleTCHuoYBXFH88ouTsRQ4uGyfKAthUe+YNMRAM9sG99r6Gm2UJ3JO+uNvLhzu6ymlBM61AA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-67" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "133" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "133" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-198" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-67" + } + } + }, + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "3", + "time": "2019-11-02T15:04:15Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "600CA49CEE9C7E97DC171F2DA2973E05564CC2FA8BD527E3826D5A0363D81D54", + "parts": { + "total": "1", + "hash": "BDA093FE800E1A349C312D6A0203B02907FF0696753AA41D310FCA3D5DC09B6A" + } + }, + "last_commit_hash": "5A691F6B5A90C3931789DE70A126786630010575B6B21F63EA16F4EEC616CDB4", + "data_hash": "", + "validators_hash": "036C46A0D3D02BD5609393501881911CCD9D28EFA81829E654AD02D421776BB8", + "next_validators_hash": "036C46A0D3D02BD5609393501881911CCD9D28EFA81829E654AD02D421776BB8", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2" + }, + "commit": { + "block_id": { + "hash": "EEA3715B61E9467ACD012D734946E9E40EA22A1E74FCEE5B0A9D4CEBFCA2396B", + "parts": { + "total": "1", + "hash": "1A051DE923AB55AF54A6E4311E77C60FF44A40C231F1FF38F2A67094FB12EE94" + } + }, + "precommits": [ + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "EEA3715B61E9467ACD012D734946E9E40EA22A1E74FCEE5B0A9D4CEBFCA2396B", + "parts": { + "total": "1", + "hash": "1A051DE923AB55AF54A6E4311E77C60FF44A40C231F1FF38F2A67094FB12EE94" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "0", + "signature": "cwBFwlLAGz+by4nEf5ooHs3ZjuSXNiuAoROWFYY0p20LqT8+pDEEvhANMSlbYdUhXuTSPYcznlqWQjdxN65UDw==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "EEA3715B61E9467ACD012D734946E9E40EA22A1E74FCEE5B0A9D4CEBFCA2396B", + "parts": { + "total": "1", + "hash": "1A051DE923AB55AF54A6E4311E77C60FF44A40C231F1FF38F2A67094FB12EE94" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "1", + "signature": "8vCgVJ5+9r+SHvg1kTa1dNB2xNqqvG79PpBKksBjjbMYgh9Y5zgUlbqPUPj9lLLHo3rb4p9Ke00kcZpHp9hEAQ==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "EEA3715B61E9467ACD012D734946E9E40EA22A1E74FCEE5B0A9D4CEBFCA2396B", + "parts": { + "total": "1", + "hash": "1A051DE923AB55AF54A6E4311E77C60FF44A40C231F1FF38F2A67094FB12EE94" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "2", + "signature": "DnK9Oyd/dA6OjVhiE+S0+Y54871wNqFq2T+4ETULmyAhaRdfpVQjnLJyyT6vP+LKsvUoMy/XW4IqVgG0YMzFAg==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "EEA3715B61E9467ACD012D734946E9E40EA22A1E74FCEE5B0A9D4CEBFCA2396B", + "parts": { + "total": "1", + "hash": "1A051DE923AB55AF54A6E4311E77C60FF44A40C231F1FF38F2A67094FB12EE94" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "3", + "signature": "Nib0iKIhjI28JcbgFTsjOLxLIc7jVr7XjRouM78vHc4wW1zcu4nAURzmvCWBTDcP6ADg/Xq/Zg9kHIhk+lYMBQ==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-17" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-17" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "183" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-148" + } + ], + "proposer": { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "-17" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-67" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "133" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "133" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-198" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-67" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: two lite blocks, more than 2/3 validator set changes, no error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "tG25DxraSiCWfYfc3wMlzMvGt03qsS+5jSNf7IORA9n4Vht0HREA8ML2WD6+GUKa02cf1pZaIjwjEFGJbPZ3Aw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "FubQqmcBn211oVuIfmV4FAq0mCJl7sKag7pNRFCYi6p2aBoJjMtcc9bp4vD6umwc3jiL6rSb4LzVeOheNYCgAA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "ydCKUU73yswGUFRy7/kgndvvPXBnLpz+MR8RYB8yF1nC4BlhqKuqglQsFJ1McwxoVyooOeSGk94b0+GozgX4CA==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "VHeRphGJQi2xtj8YBKuTHsw/9f4VYSceuf8eiN3U0QfCdAeZtCMkhpYh38gyfMxR3sKbf0z46iv0Gqc46cL9AQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "16" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-150" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "24806DAF41A7F7D9759BCFCE93E787A1551887536E36863851ED18B4C970ADB8", + "parts": { + "total": "1", + "hash": "254C428BFA70B39AA2F00434C9E31108CEA5E34089B9E1FEEFE5A815E0A21B69" + } + }, + "last_commit_hash": "9303957C4806DBD2F1C7CFBF1970E552F96C154566E189EEAE8D3A0DF09F5697", + "data_hash": "", + "validators_hash": "26952B5D784A1564D167DF98D2D37376B5E77771928256D25E6FF9AE3AD11564", + "next_validators_hash": "48EDBAFFB564AAA7AE0A8E3DE2AFA0ED4F64444B48587937B4F454703596404C", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "742A7167B4455CA2E00A61BF827C1AF1C30CFD8B787FB22CC2BD643CA89168D4", + "parts": { + "total": "1", + "hash": "670D40A214404B283A1682156D6E66F48F685461E5BAB25F9583399042DB9BD7" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "742A7167B4455CA2E00A61BF827C1AF1C30CFD8B787FB22CC2BD643CA89168D4", + "parts": { + "total": "1", + "hash": "670D40A214404B283A1682156D6E66F48F685461E5BAB25F9583399042DB9BD7" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "Il2g4EX2u7s8jMM0BoGPWyfRCrn7gjI0kjFkp5JuFc6OSH2J3CNWbONl/O0ZjcToWWs7Xd/oRl3p6oECDYneAA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "742A7167B4455CA2E00A61BF827C1AF1C30CFD8B787FB22CC2BD643CA89168D4", + "parts": { + "total": "1", + "hash": "670D40A214404B283A1682156D6E66F48F685461E5BAB25F9583399042DB9BD7" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "t6GblsIuYHrLHlxc8IwGhf7ij+ZUpwvxj278E5hSGCv4Kwa+wb8UcK+KiggsyzPxUPNT3Jz3dG4vJ4fDJteCAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "742A7167B4455CA2E00A61BF827C1AF1C30CFD8B787FB22CC2BD643CA89168D4", + "parts": { + "total": "1", + "hash": "670D40A214404B283A1682156D6E66F48F685461E5BAB25F9583399042DB9BD7" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "FJ09AMF7XBIMrQ9Ft2918HCNWMf+HdLy1adL/k86KYL6Lpz7VuTPoSR34t3xupgdzvlQcTS4WFB5BYze4CPeAA==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "742A7167B4455CA2E00A61BF827C1AF1C30CFD8B787FB22CC2BD643CA89168D4", + "parts": { + "total": "1", + "hash": "670D40A214404B283A1682156D6E66F48F685461E5BAB25F9583399042DB9BD7" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "3", + "signature": "y3RTx/qUlcur+ABRtinA/+4tKQIzoL1m5+NhdLlk8CjyU5lFmW3a3Ay7r5F0LVua+DRNAqkp0Ul/Mh7AdfWqDQ==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + }, + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "16" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-5" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-5" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "-5" + } + ], + "proposer": { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "16" + } + } + }, + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "3", + "time": "2019-11-02T15:04:15Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "742A7167B4455CA2E00A61BF827C1AF1C30CFD8B787FB22CC2BD643CA89168D4", + "parts": { + "total": "1", + "hash": "670D40A214404B283A1682156D6E66F48F685461E5BAB25F9583399042DB9BD7" + } + }, + "last_commit_hash": "CB60368FCEFEDAA7F5546136BD41257D40E4EDC3A7A09F29198DB375645F13CD", + "data_hash": "", + "validators_hash": "48EDBAFFB564AAA7AE0A8E3DE2AFA0ED4F64444B48587937B4F454703596404C", + "next_validators_hash": "48EDBAFFB564AAA7AE0A8E3DE2AFA0ED4F64444B48587937B4F454703596404C", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "03EC0413849A3311A5341E7A69D6C544E9A30310" + }, + "commit": { + "block_id": { + "hash": "D869B65BAA5884CAE1E6D0E0A36CE21B2C1E8EFF74D99DFA92443B8BC06601B3", + "parts": { + "total": "1", + "hash": "5D8F108176C26012ED487FCDF963F34DE7B2600160497942FCB040FBFD7ED7C4" + } + }, + "precommits": [ + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "D869B65BAA5884CAE1E6D0E0A36CE21B2C1E8EFF74D99DFA92443B8BC06601B3", + "parts": { + "total": "1", + "hash": "5D8F108176C26012ED487FCDF963F34DE7B2600160497942FCB040FBFD7ED7C4" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "0", + "signature": "yPRUkw69v+2e5MeM/98HGvLWR5hXE/LOOIKq/saJo2jibdv7+lzao/l2UYklCK6OF1kZKhZCjdw7ZSm8PINdBg==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "D869B65BAA5884CAE1E6D0E0A36CE21B2C1E8EFF74D99DFA92443B8BC06601B3", + "parts": { + "total": "1", + "hash": "5D8F108176C26012ED487FCDF963F34DE7B2600160497942FCB040FBFD7ED7C4" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "1", + "signature": "lJ9OfI1MwMLdWTgFEeC4N1JADMcA9WOw3GlyJlHClxAyBbajiEK3+85VNylDSMaK4U5nqmqU5igpliWdreT3Ag==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "D869B65BAA5884CAE1E6D0E0A36CE21B2C1E8EFF74D99DFA92443B8BC06601B3", + "parts": { + "total": "1", + "hash": "5D8F108176C26012ED487FCDF963F34DE7B2600160497942FCB040FBFD7ED7C4" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "validator_index": "2", + "signature": "E/A00gGqsASWzwfNNEkC+kA5eRXF5FglviRP1AUll+qaQ60Fpm5Zq3TQ/rs2nHESlM+sSUw44GqEEXZblk9ZBQ==" + }, + { + "type": 2, + "height": "3", + "round": "1", + "block_id": { + "hash": "D869B65BAA5884CAE1E6D0E0A36CE21B2C1E8EFF74D99DFA92443B8BC06601B3", + "parts": { + "total": "1", + "hash": "5D8F108176C26012ED487FCDF963F34DE7B2600160497942FCB040FBFD7ED7C4" + } + }, + "timestamp": "2019-11-02T15:04:20Z", + "validator_address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "validator_index": "3", + "signature": "SWYb7h8yz3yeQNT+rY6hc/Lv2kTffaUAOLGpUpUfFaAc9Tf9bF7d84NhnOGsLOAagC5NM20hOujNKJ+LXQ96Cw==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-134" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "45" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "45" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "45" + } + ], + "proposer": { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-134" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "16" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "-5" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "-5" + }, + { + "address": "06C9F55B64064F2FC983A2A3BA5BFE8085E4CD7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Eh62iQ5J/OUTqF55Xq3fkl0MyzBdCsdRJdnc/N0Xrwo=" + }, + "voting_power": "50", + "proposer_priority": "-5" + } + ], + "proposer": { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "16" + } + } + } + ], + "expected_output": "no error" + }, + { + "test_name": "verify", + "description": "Case: one lite block, wrong validator set, expects error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "next_validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "S9dUzrQpkUq2NNDxOT8N+h2ueiTCORiVX6EdyiJygqyRvtT8wpYMVCmjEaAsu/09XXrPgMWsqXdKEK58cAKtCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "n7bsnvPH/5nR6cxOcJ79ZkrLU8nLuEp/IGT8V1nlAp+UlmRi9BT4E1+a1ffVWZVTBOcgUXIwiPeHfZ1c25tMAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "2dxaCVMHK08x4zMCO9cxTeqZocICYT+6UMjexTYqY0m9vEJ2b+e2Kjsvl3rqCNKWXHdVEzPR94y4VKZRjw4lDQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "last_commit_hash": "015F354818425B25F32783588C49A0DCB32E83D185BB6E8FE33FF375CB6CBB78", + "data_hash": "", + "validators_hash": "B484E0C9EC0F151960F870D3E897D6EF856A096C7694C160B7A9615D7CD18540", + "next_validators_hash": "B484E0C9EC0F151960F870D3E897D6EF856A096C7694C160B7A9615D7CD18540", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "03EC0413849A3311A5341E7A69D6C544E9A30310" + }, + "commit": { + "block_id": { + "hash": "62BEA88A769C7AB2099A0F85ABBE8D55815CAD1B5653F3D5B87C7ECBD155EEB8", + "parts": { + "total": "1", + "hash": "68B43E89E5E5D3D6310754E50A16F7D92ADDFCD84AA28E8168D5F77FDDFC174A" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "62BEA88A769C7AB2099A0F85ABBE8D55815CAD1B5653F3D5B87C7ECBD155EEB8", + "parts": { + "total": "1", + "hash": "68B43E89E5E5D3D6310754E50A16F7D92ADDFCD84AA28E8168D5F77FDDFC174A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "validator_index": "0", + "signature": "f0cmj8EdB/Cu159FOhbYY7MBtKa6ZPM07/WDtwxngtZlF1SViH0uFBR1JworNowim9MOGWutsOlxd1hDTtoUBQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "62BEA88A769C7AB2099A0F85ABBE8D55815CAD1B5653F3D5B87C7ECBD155EEB8", + "parts": { + "total": "1", + "hash": "68B43E89E5E5D3D6310754E50A16F7D92ADDFCD84AA28E8168D5F77FDDFC174A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "1", + "signature": "rNZQAniEVP2HjMoPxnaAMr5EySxbZU7/GAAAPvKOE9fScAPJqESNFMaWt5Bnws6aEHQpHAFCE0ljJa2YEH6FAg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "62BEA88A769C7AB2099A0F85ABBE8D55815CAD1B5653F3D5B87C7ECBD155EEB8", + "parts": { + "total": "1", + "hash": "68B43E89E5E5D3D6310754E50A16F7D92ADDFCD84AA28E8168D5F77FDDFC174A" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "validator_index": "2", + "signature": "MO6OV1T3mtLqfrNv2VF1r7xuLsOyAXU/cPI2wPUhg0ZybWfx0W4UQ3lwjAVdh01vBMAD2ZPqk5V+xleRb554Aw==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "04D58F15E56D6531CED6FFEFB17512E30AD8F219", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e7XdW4ExhnQ6hDwS0B239yJV80+6uhAq5G6zIZJnbwo=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "03EC0413849A3311A5341E7A69D6C544E9A30310", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BQpQJElLqI4Ajo+vLroQ7KaNv+khVW2oexo0vDbPGFw=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + } + } + ], + "expected_output": "error" + }, + { + "test_name": "verify", + "description": "Case: one lite block, replacing a validator in validator set, expects error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "next_validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "S9dUzrQpkUq2NNDxOT8N+h2ueiTCORiVX6EdyiJygqyRvtT8wpYMVCmjEaAsu/09XXrPgMWsqXdKEK58cAKtCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "n7bsnvPH/5nR6cxOcJ79ZkrLU8nLuEp/IGT8V1nlAp+UlmRi9BT4E1+a1ffVWZVTBOcgUXIwiPeHfZ1c25tMAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "2dxaCVMHK08x4zMCO9cxTeqZocICYT+6UMjexTYqY0m9vEJ2b+e2Kjsvl3rqCNKWXHdVEzPR94y4VKZRjw4lDQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "last_commit_hash": "015F354818425B25F32783588C49A0DCB32E83D185BB6E8FE33FF375CB6CBB78", + "data_hash": "", + "validators_hash": "2F53CB4C34965E4D2D2E6C03C0D1D5C8973F2B831D03BB770D743630AC1B90AE", + "next_validators_hash": "2F53CB4C34965E4D2D2E6C03C0D1D5C8973F2B831D03BB770D743630AC1B90AE", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "BA11D3E2FDEE4443D8BAAE5B50A9C0B4291FAE9C7FF5BE098BEB4359D7991F22", + "parts": { + "total": "1", + "hash": "BC61A2350514666C1DA772734124AC1D5D7BF26F1DC65127FDBF63672FC5B452" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "BA11D3E2FDEE4443D8BAAE5B50A9C0B4291FAE9C7FF5BE098BEB4359D7991F22", + "parts": { + "total": "1", + "hash": "BC61A2350514666C1DA772734124AC1D5D7BF26F1DC65127FDBF63672FC5B452" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "validator_index": "0", + "signature": "s7fN9AxpN1fRAZTI4qoYv7rS7qW9j2c96XXNZXzH0vuXoZAw6BX46q5kAenvCbp79fto7TlqayMK7EmWtaczAw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "BA11D3E2FDEE4443D8BAAE5B50A9C0B4291FAE9C7FF5BE098BEB4359D7991F22", + "parts": { + "total": "1", + "hash": "BC61A2350514666C1DA772734124AC1D5D7BF26F1DC65127FDBF63672FC5B452" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "oOmsoKtBQomZh4qcok2URD1n0nLD37gmLmwo7V2vfdl8fms2ijzrxPWLcSQqi9X86IMMxjAIef8+ubgE6/aPDg==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "BA11D3E2FDEE4443D8BAAE5B50A9C0B4291FAE9C7FF5BE098BEB4359D7991F22", + "parts": { + "total": "1", + "hash": "BC61A2350514666C1DA772734124AC1D5D7BF26F1DC65127FDBF63672FC5B452" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "wvqmit6eycuGPKK+ioaQbJrm2IpyirhDNb+NQDJihJBHImuYGU2tXoMu5UvBARggGBRvxiBxwIULOq9z28RbAA==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "044EB1BB5D4C1CDB90029648439AEB10431FF295", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Wc790fkCDAi7LvZ4UIBAIJSNI+Rp2aU80/8l+idZ/wI=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + } + } + ], + "expected_output": "error" + }, + { + "test_name": "verify", + "description": "Case: one lite block, changing a validator's power in validator set, expects error", + "initial": { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "1", + "time": "2019-11-02T15:04:00Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "next_validators_hash": "C403871B77A3295FFF1EE321424FC969EFAD87EF16740DF28A1B6CA62CA0977C", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33" + }, + "commit": { + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "precommits": [ + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "S9dUzrQpkUq2NNDxOT8N+h2ueiTCORiVX6EdyiJygqyRvtT8wpYMVCmjEaAsu/09XXrPgMWsqXdKEK58cAKtCg==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "n7bsnvPH/5nR6cxOcJ79ZkrLU8nLuEp/IGT8V1nlAp+UlmRi9BT4E1+a1ffVWZVTBOcgUXIwiPeHfZ1c25tMAw==" + }, + { + "type": 2, + "height": "1", + "round": "1", + "block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "timestamp": "2019-11-02T15:04:10Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "2dxaCVMHK08x4zMCO9cxTeqZocICYT+6UMjexTYqY0m9vEJ2b+e2Kjsvl3rqCNKWXHdVEzPR94y4VKZRjw4lDQ==" + } + ] + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "50" + } + ], + "proposer": { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "50", + "proposer_priority": "-100" + } + }, + "trusting_period": "10800000000000", + "now": "2019-11-02T15:05:00Z" + }, + "input": [ + { + "signed_header": { + "header": { + "version": { + "block": "0", + "app": "0" + }, + "chain_id": "test-chain-01", + "height": "2", + "time": "2019-11-02T15:04:10Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "B1D972455F5E17D44FAFDCC0B502E6FF6DA693877DCD087C733A26262EF96D76", + "parts": { + "total": "1", + "hash": "43B5A159123E1EB48888EEC1D4F4D563AA83752867556ABB1C68D74E2EDEFB66" + } + }, + "last_commit_hash": "015F354818425B25F32783588C49A0DCB32E83D185BB6E8FE33FF375CB6CBB78", + "data_hash": "", + "validators_hash": "1DB2D0039527C6A5CA4108710583FD5497FB317F5796B81FC06790DFF02E513F", + "next_validators_hash": "1DB2D0039527C6A5CA4108710583FD5497FB317F5796B81FC06790DFF02E513F", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "41CAFAE31CC70F5801FA1016A2DD54A9BCB8201B5B389919FE9976762532C516", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "026CC7B6F3E62F789DBECEC59766888B5464737D" + }, + "commit": { + "block_id": { + "hash": "1656C609317CF617D01F843EF91ADD5C35354985E82AFC872389618EF5F4BAFE", + "parts": { + "total": "1", + "hash": "5A8AD16F9272750A97E7050560B496FEBC0F2BEFD84E8611B50DF68B9E8FF1D6" + } + }, + "precommits": [ + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "1656C609317CF617D01F843EF91ADD5C35354985E82AFC872389618EF5F4BAFE", + "parts": { + "total": "1", + "hash": "5A8AD16F9272750A97E7050560B496FEBC0F2BEFD84E8611B50DF68B9E8FF1D6" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "validator_index": "0", + "signature": "3C9igwEoRcuFNBkqnLGA7e6xZNiESENU1Rct+l8DHbWDWL7Q5C2bzIjrKo69KHIOkClEuoPGUTvjYPZ7B3VBBw==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "1656C609317CF617D01F843EF91ADD5C35354985E82AFC872389618EF5F4BAFE", + "parts": { + "total": "1", + "hash": "5A8AD16F9272750A97E7050560B496FEBC0F2BEFD84E8611B50DF68B9E8FF1D6" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "validator_index": "1", + "signature": "3yX9OMpjbdxNL3HX3fS0B3d8iCp9hUW0MHtHPhtabxnFs83Px4Um3NaS1qXf2/DIwz7nIZPWSMmbDuTUbLg7AQ==" + }, + { + "type": 2, + "height": "2", + "round": "1", + "block_id": { + "hash": "1656C609317CF617D01F843EF91ADD5C35354985E82AFC872389618EF5F4BAFE", + "parts": { + "total": "1", + "hash": "5A8AD16F9272750A97E7050560B496FEBC0F2BEFD84E8611B50DF68B9E8FF1D6" + } + }, + "timestamp": "2019-11-02T15:04:15Z", + "validator_address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "validator_index": "2", + "signature": "hrdfdtRfM8tQnv4swg0cRdE5s3onbQ+vdoxm3408pC8+6M2ZiCmh1eZmygE7Go29BCLfUzLe0Wx0Dhb73y+oAw==" + } + ] + } + }, + "validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "51", + "proposer_priority": "-50" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + }, + "next_validator_set": { + "validators": [ + { + "address": "01F527D77D3FFCC4FCFF2DDC2952EEA5414F2A33", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OAaNq3DX/15fGJP2MI6bujt1GRpvjwrqIevChirJsbc=" + }, + "voting_power": "51", + "proposer_priority": "-50" + }, + { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + }, + { + "address": "03A238BCAF7D1626DFE8A4AFB9448D00B7A3D2E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "b6hwk3pjiOTJfLVCcLDA3I3lO71zWJ0VSded5LUl9T0=" + }, + "voting_power": "50", + "proposer_priority": "100" + } + ], + "proposer": { + "address": "026CC7B6F3E62F789DBECEC59766888B5464737D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vlsKpn6ojn+UoTZl+w+fxeqm6xvUfBokTcKfcG3au4=" + }, + "voting_power": "50", + "proposer_priority": "-50" + } + } + } + ], + "expected_output": "error" + } + ] +} \ No newline at end of file diff --git a/tendermint/tests/support/rpc/first_block.json b/tendermint/tests/support/rpc/first_block.json new file mode 100644 index 000000000..6ae394198 --- /dev/null +++ b/tendermint/tests/support/rpc/first_block.json @@ -0,0 +1,87 @@ +{ + "jsonrpc": "2.0", + "id": "", + "result": { + "block_meta": { + "block_id": { + "hash": "2638F126FC7ABCBCA071B3EFD7207CB11B8F0518D5209717A31115AA9B1F6A68", + "parts": { + "total": "1", + "hash": "E1ACF6037E216A2C455DBBAE23C266ECA07C7F5540CAE9383146D7B20E5CA24D" + } + }, + "header": { + "version": { + "block": "10", + "app": "0" + }, + "chain_id": "cosmoshub-1", + "height": "1", + "time": "2019-11-20T08:56:48.618137Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "2ADC39A2BA237647FD3D6524739F0952F7AC8BBC895F120403DD4EAA8DCF248A", + "next_validators_hash": "2ADC39A2BA237647FD3D6524739F0952F7AC8BBC895F120403DD4EAA8DCF248A", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "E0ADD6C9D9C3520D5D5242E2B33FA259FB75B7E2F59C0A2E40FF2493F6C72050", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "B84241A54F45F970C173811AF184803264140906" + } + }, + "block": { + "header": { + "version": { + "block": "10", + "app": "0" + }, + "chain_id": "cosmoshub-1", + "height": "1", + "time": "2019-11-20T08:56:48.618137Z", + "num_txs": "0", + "total_txs": "0", + "last_block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "last_commit_hash": "", + "data_hash": "", + "validators_hash": "2ADC39A2BA237647FD3D6524739F0952F7AC8BBC895F120403DD4EAA8DCF248A", + "next_validators_hash": "2ADC39A2BA237647FD3D6524739F0952F7AC8BBC895F120403DD4EAA8DCF248A", + "consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F", + "app_hash": "E0ADD6C9D9C3520D5D5242E2B33FA259FB75B7E2F59C0A2E40FF2493F6C72050", + "last_results_hash": "", + "evidence_hash": "", + "proposer_address": "B84241A54F45F970C173811AF184803264140906" + }, + "data": { + "txs": null + }, + "evidence": { + "evidence": null + }, + "last_commit": { + "block_id": { + "hash": "", + "parts": { + "total": "0", + "hash": "" + } + }, + "precommits": null + } + } + } +}