From dc244902b90836db23377039ab3d627717ea30a9 Mon Sep 17 00:00:00 2001 From: Austin Abell Date: Sun, 24 Mar 2024 12:54:23 -0400 Subject: [PATCH 1/5] feat: refactor types and implement transaction outcome proof verification --- near-zk-light-client/.vscode/settings.json | 1 + near-zk-light-client/Cargo.toml | 2 +- .../methods/guest/src/main.rs | 48 ++---- .../outcome_methods/Cargo.toml | 10 ++ near-zk-light-client/outcome_methods/build.rs | 3 + .../outcome_methods/guest/Cargo.toml | 17 ++ .../outcome_methods/guest/src/main.rs | 107 ++++++++++++ .../outcome_methods/src/lib.rs | 1 + near-zk-light-client/types/src/lib.rs | 162 ++++++++++++++++++ near-zk-light-client/types/src/merkle.rs | 35 ++++ 10 files changed, 355 insertions(+), 31 deletions(-) create mode 100644 near-zk-light-client/outcome_methods/Cargo.toml create mode 100644 near-zk-light-client/outcome_methods/build.rs create mode 100644 near-zk-light-client/outcome_methods/guest/Cargo.toml create mode 100644 near-zk-light-client/outcome_methods/guest/src/main.rs create mode 100644 near-zk-light-client/outcome_methods/src/lib.rs create mode 100644 near-zk-light-client/types/src/merkle.rs diff --git a/near-zk-light-client/.vscode/settings.json b/near-zk-light-client/.vscode/settings.json index 964fd4f..a24478a 100644 --- a/near-zk-light-client/.vscode/settings.json +++ b/near-zk-light-client/.vscode/settings.json @@ -1,6 +1,7 @@ { "rust-analyzer.linkedProjects": [ "./methods/guest/Cargo.toml", + "./outcome_methods/guest/Cargo.toml", "./host/Cargo.toml" ] } diff --git a/near-zk-light-client/Cargo.toml b/near-zk-light-client/Cargo.toml index 0fe0e05..817e164 100644 --- a/near-zk-light-client/Cargo.toml +++ b/near-zk-light-client/Cargo.toml @@ -1,6 +1,6 @@ [workspace] resolver = "2" -members = ["host", "methods", "types"] +members = ["host", "methods", "outcome_methods", "types"] # Always optimize; building and running the guest takes much longer without optimization. [profile.dev] diff --git a/near-zk-light-client/methods/guest/src/main.rs b/near-zk-light-client/methods/guest/src/main.rs index 9dfdce6..c861419 100644 --- a/near-zk-light-client/methods/guest/src/main.rs +++ b/near-zk-light-client/methods/guest/src/main.rs @@ -1,21 +1,10 @@ -#![no_main] - use near_zk_types::{ - ApprovalInner, CryptoHash, LightClientBlockLiteView, LightClientBlockView, PrevBlockContext, - ValidatorStakeView, + ApprovalInner, BlockCommitData, CryptoHash, LightClientBlockLiteView, LightClientBlockView, + PrevBlockContext, ValidatorStakeView, }; use risc0_zkvm::guest::env; use sha2::{Digest, Sha256}; -risc0_zkvm::guest::entry!(main); - -type CommitData = ( - [u32; 8], - CryptoHash, - LightClientBlockLiteView, - Vec, -); - fn main() { let mut reader = env::stdin(); let (guest_id, prev_block_context, new_block): ( @@ -27,10 +16,14 @@ fn main() { let (first_block_hash, last_known_block, current_bps) = match prev_block_context { PrevBlockContext::Proof { journal } => { env::verify(guest_id, &journal).expect("Failed to verify recursive journal"); - let (prev_id, hash, last_known_block, current_bps): CommitData = - borsh::from_slice(&journal).expect("Invalid journal format"); - assert_eq!(guest_id, prev_id, "Guest program IDs do not match"); - (hash, last_known_block, current_bps) + let BlockCommitData { + block_guest_id, + first_block_hash, + new_block_lite, + block_producers, + } = borsh::from_slice(&journal).expect("Invalid journal format"); + assert_eq!(guest_id, block_guest_id, "Guest program IDs do not match"); + (first_block_hash, new_block_lite, block_producers) } PrevBlockContext::Block { prev_block, @@ -141,17 +134,12 @@ fn main() { block_producers = next_bps; } - borsh::to_writer( - &mut env::journal(), - &( - // Note: guest_id shouldn't be needed if only verifying one block. Handling optional - // values in practice would unnecessarily complicate things. - // TODO double check not having guest id be optional is correct. - &guest_id, - &first_block_hash, - &new_block_lite, - &block_producers, - ), - ) - .unwrap(); + let commit_data = BlockCommitData { + block_guest_id: guest_id, + first_block_hash, + new_block_lite, + block_producers, + }; + + borsh::to_writer(&mut env::journal(), &commit_data).unwrap(); } diff --git a/near-zk-light-client/outcome_methods/Cargo.toml b/near-zk-light-client/outcome_methods/Cargo.toml new file mode 100644 index 0000000..eac9d98 --- /dev/null +++ b/near-zk-light-client/outcome_methods/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "outcome_methods" +version = "0.1.0" +edition = "2021" + +[build-dependencies] +risc0-build = { version = "0.20.1" } + +[package.metadata.risc0] +methods = ["guest"] diff --git a/near-zk-light-client/outcome_methods/build.rs b/near-zk-light-client/outcome_methods/build.rs new file mode 100644 index 0000000..08a8a4e --- /dev/null +++ b/near-zk-light-client/outcome_methods/build.rs @@ -0,0 +1,3 @@ +fn main() { + risc0_build::embed_methods(); +} diff --git a/near-zk-light-client/outcome_methods/guest/Cargo.toml b/near-zk-light-client/outcome_methods/guest/Cargo.toml new file mode 100644 index 0000000..3493de4 --- /dev/null +++ b/near-zk-light-client/outcome_methods/guest/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "outcome" +version = "0.1.0" +edition = "2021" + +[workspace] + +[dependencies] +risc0-zkvm = { version = "0.20.1", default-features = false, features = ["std"] } +near-zk-types = { path = "../../types" } +borsh = "1.3" +sha2 = { git = "https://github.com/risc0/RustCrypto-hashes", tag = "sha2-v0.10.6-risczero.0" } +methods = { path = "../../methods" } + +[patch.crates-io] +crypto-bigint = { git = "https://github.com/risc0/RustCrypto-crypto-bigint", tag = "v0.5.2-risc0" } +ed25519-dalek = { git = "https://github.com/risc0/curve25519-dalek", tag = "curve25519-4.1.0-risczero.1" } diff --git a/near-zk-light-client/outcome_methods/guest/src/main.rs b/near-zk-light-client/outcome_methods/guest/src/main.rs new file mode 100644 index 0000000..caf8895 --- /dev/null +++ b/near-zk-light-client/outcome_methods/guest/src/main.rs @@ -0,0 +1,107 @@ +use methods::LIGHT_CLIENT_ID; +use near_zk_types::{ + combine_hash, BlockCommitData, CryptoHash, Direction, MerkleHash, MerklePathItem, + RpcLightClientExecutionProofResponse, +}; +use risc0_zkvm::guest::env; + +fn inclusion_proof_verify( + head_block_root: CryptoHash, + proof: &RpcLightClientExecutionProofResponse, +) -> bool { + let block_hash = proof.block_header_lite.hash(); + let block_hash_matches = block_hash == proof.outcome_proof.block_hash; + + let outcome_hash = CryptoHash::hash_borsh(proof.outcome_proof.to_hashes()); + + let outcome_verified = verify_outcome( + &outcome_hash, + proof.outcome_proof.proof.iter(), + proof.outcome_root_proof.iter(), + &proof.block_header_lite.inner_lite.outcome_root, + ); + + let block_verified = verify_block(&head_block_root, proof.block_proof.iter(), &block_hash); + + block_hash_matches && outcome_verified && block_verified +} +pub fn verify_outcome<'a>( + outcome_hash: &CryptoHash, + outcome_proof: impl Iterator, + outcome_root_proof: impl Iterator, + expected_outcome_root: &CryptoHash, +) -> bool { + let outcome_root = compute_root_from_path(outcome_proof, *outcome_hash); + + let leaf = CryptoHash::hash_borsh(outcome_root); + + let outcome_root = compute_root_from_path(outcome_root_proof, leaf); + + &outcome_root == expected_outcome_root +} + +fn compute_root_from_path<'a>( + path: impl Iterator, + item_hash: MerkleHash, +) -> MerkleHash { + let mut hash_so_far = item_hash; + for uncle in path { + match uncle.direction { + Direction::Left => { + hash_so_far = combine_hash(&uncle.hash, &hash_so_far); + } + Direction::Right => { + hash_so_far = combine_hash(&hash_so_far, &uncle.hash); + } + } + } + hash_so_far +} + +fn verify_block<'a>( + block_merkle_root: &CryptoHash, + block_proof: impl Iterator, + block_hash: &CryptoHash, +) -> bool { + verify_hash(*block_merkle_root, block_proof, *block_hash) +} + +fn verify_hash<'a>( + root: MerkleHash, + path: impl Iterator, + item_hash: MerkleHash, +) -> bool { + compute_root_from_path(path, item_hash) == root +} + +fn main() { + let mut reader = env::stdin(); + let (block_proof_journal, proof): (Vec, RpcLightClientExecutionProofResponse) = + borsh::from_reader(&mut reader).unwrap(); + + env::verify(LIGHT_CLIENT_ID, &block_proof_journal).expect("Failed to verify recursive journal"); + let BlockCommitData { + block_guest_id, + new_block_lite, + .. + } = borsh::from_slice(&block_proof_journal).expect("Invalid journal format"); + assert_eq!( + LIGHT_CLIENT_ID, block_guest_id, + "Block guest ID from recursive proof does not match expected" + ); + + let block_hash = new_block_lite.hash(); + assert!( + inclusion_proof_verify(block_hash, &proof), + "Invalid inclusion proof" + ); + + // Commit the tx hash and transaction outcome + let commit_data = ( + block_hash, + // TODO maybe commit the first block hash as well? + proof.outcome_proof.id, + proof.outcome_proof.outcome, + ); + borsh::to_writer(&mut env::journal(), &commit_data).unwrap(); +} diff --git a/near-zk-light-client/outcome_methods/src/lib.rs b/near-zk-light-client/outcome_methods/src/lib.rs new file mode 100644 index 0000000..1bdb308 --- /dev/null +++ b/near-zk-light-client/outcome_methods/src/lib.rs @@ -0,0 +1 @@ +include!(concat!(env!("OUT_DIR"), "/methods.rs")); diff --git a/near-zk-light-client/types/src/lib.rs b/near-zk-light-client/types/src/lib.rs index 9491337..e6c63d7 100644 --- a/near-zk-light-client/types/src/lib.rs +++ b/near-zk-light-client/types/src/lib.rs @@ -4,12 +4,15 @@ mod approval; mod crypto; mod hash; +mod merkle; mod serde_dec; mod validator_stake; pub use approval::ApprovalInner; use crypto::Signature; pub use hash::CryptoHash; +pub use merkle::{Direction, MerkleHash, MerklePathItem}; +use near_primitives_core::types::{AccountId, Balance, Gas}; pub use validator_stake::ValidatorStakeView; use borsh::{BorshDeserialize, BorshSerialize}; @@ -25,6 +28,15 @@ pub enum PrevBlockContext { }, } +/// Data committed from the zkVM in a light client block verification. +#[derive(Debug, Clone, BorshDeserialize, BorshSerialize)] +pub struct BlockCommitData { + pub block_guest_id: [u32; 8], + pub first_block_hash: CryptoHash, + pub new_block_lite: LightClientBlockLiteView, + pub block_producers: Vec, +} + /// Height of the block. pub type BlockHeight = u64; @@ -150,3 +162,153 @@ pub struct LightClientBlockView { pub next_bps: Option>, pub approvals_after_next: Vec>>, } + +#[derive(Debug, BorshDeserialize, BorshSerialize)] +pub struct RpcLightClientExecutionProofResponse { + pub outcome_proof: ExecutionOutcomeWithIdView, + pub outcome_root_proof: MerklePath, + pub block_header_lite: LightClientBlockLiteView, + pub block_proof: MerklePath, +} + +#[cfg_attr(feature = "deepsize_feature", derive(deepsize::DeepSizeOf))] +#[derive(BorshSerialize, BorshDeserialize, Debug, PartialEq, Eq, Clone)] +pub struct ExecutionOutcomeWithIdView { + pub proof: MerklePath, + pub block_hash: CryptoHash, + pub id: CryptoHash, + pub outcome: ExecutionOutcomeView, +} + +impl ExecutionOutcomeWithIdView { + pub fn to_hashes(&self) -> Vec { + self.outcome.to_hashes(self.id) + } +} + +pub type MerklePath = Vec; + +#[derive(BorshSerialize, BorshDeserialize, Debug, Clone, PartialEq, Eq)] +pub struct ExecutionOutcomeView { + /// Logs from this transaction or receipt. + pub logs: Vec, + /// Receipt IDs generated by this transaction or receipt. + pub receipt_ids: Vec, + /// The amount of the gas burnt by the given transaction or receipt. + pub gas_burnt: Gas, + /// The amount of tokens burnt corresponding to the burnt gas amount. + /// This value doesn't always equal to the `gas_burnt` multiplied by the gas price, because + /// the prepaid gas price might be lower than the actual gas price and it creates a deficit. + pub tokens_burnt: Balance, + /// The id of the account on which the execution happens. For transaction this is signer_id, + /// for receipt this is receiver_id. + pub executor_id: AccountId, + /// Execution status. Contains the result in case of successful execution. + pub status: ExecutionStatusView, + /// Execution metadata, versioned + pub metadata: ExecutionMetadataView, +} + +impl ExecutionOutcomeView { + // Same behavior as ExecutionOutcomeWithId's to_hashes. + pub fn to_hashes(&self, id: CryptoHash) -> Vec { + let mut result = Vec::with_capacity(self.logs.len().saturating_add(2)); + result.push(id); + result.push(CryptoHash::hash_borsh(&PartialExecutionOutcome::from(self))); + result.extend( + self.logs + .iter() + .map(|log| CryptoHash::hash_bytes(log.as_bytes())), + ); + result + } +} + +/// ExecutionOutcome for proof. Excludes logs and metadata +#[derive(BorshSerialize, BorshDeserialize, PartialEq, Clone)] +pub struct PartialExecutionOutcome { + pub receipt_ids: Vec, + pub gas_burnt: Gas, + pub tokens_burnt: Balance, + pub executor_id: AccountId, + pub status: PartialExecutionStatus, +} + +impl From<&ExecutionOutcomeView> for PartialExecutionOutcome { + fn from(outcome: &ExecutionOutcomeView) -> Self { + Self { + receipt_ids: outcome.receipt_ids.clone(), + gas_burnt: outcome.gas_burnt, + tokens_burnt: outcome.tokens_burnt, + executor_id: outcome.executor_id.clone(), + status: outcome.status.clone().into(), + } + } +} + +impl From for PartialExecutionStatus { + fn from(status: ExecutionStatusView) -> PartialExecutionStatus { + match status { + ExecutionStatusView::Unknown => PartialExecutionStatus::Unknown, + ExecutionStatusView::Failure(_) => PartialExecutionStatus::Failure, + ExecutionStatusView::SuccessValue(value) => PartialExecutionStatus::SuccessValue(value), + ExecutionStatusView::SuccessReceiptId(id) => { + PartialExecutionStatus::SuccessReceiptId(id) + } + } + } +} + +/// ExecutionStatus for proof. Excludes failure debug info. +#[derive(BorshSerialize, BorshDeserialize, PartialEq, Clone)] +pub enum PartialExecutionStatus { + Unknown, + Failure, + SuccessValue(Vec), + SuccessReceiptId(CryptoHash), +} + +#[derive(Debug, BorshSerialize, BorshDeserialize, PartialEq, Eq, Clone)] +pub enum ExecutionStatusView { + /// The execution is pending or unknown. + Unknown, + /// The execution has failed. + Failure(String), + /// The final action succeeded and returned some value or an empty vec encoded in base64. + SuccessValue(Vec), + /// The final action of the receipt returned a promise or the signed transaction was converted + /// to a receipt. Contains the receipt_id of the generated receipt. + SuccessReceiptId(CryptoHash), +} + +#[derive( + BorshSerialize, + BorshDeserialize, + PartialEq, + Clone, + Eq, + Debug, + serde::Serialize, + serde::Deserialize, +)] +pub struct ExecutionMetadataView { + pub version: u32, + pub gas_profile: Option>, +} + +#[derive( + BorshSerialize, + BorshDeserialize, + PartialEq, + Clone, + Eq, + Debug, + serde::Serialize, + serde::Deserialize, +)] +pub struct CostGasUsed { + pub cost_category: String, + pub cost: String, + #[serde(with = "serde_dec")] + pub gas_used: Gas, +} diff --git a/near-zk-light-client/types/src/merkle.rs b/near-zk-light-client/types/src/merkle.rs new file mode 100644 index 0000000..d5c0a09 --- /dev/null +++ b/near-zk-light-client/types/src/merkle.rs @@ -0,0 +1,35 @@ +use borsh::{BorshDeserialize, BorshSerialize}; + +use crate::CryptoHash; + +pub type MerkleHash = CryptoHash; + +#[derive( + Debug, + Clone, + PartialEq, + Eq, + BorshSerialize, + BorshDeserialize, + serde::Serialize, + serde::Deserialize, +)] +pub struct MerklePathItem { + pub hash: MerkleHash, + pub direction: Direction, +} + +#[derive( + Debug, + Clone, + PartialEq, + Eq, + BorshSerialize, + BorshDeserialize, + serde::Serialize, + serde::Deserialize, +)] +pub enum Direction { + Left, + Right, +} From 379c219481a1131faa811ce548d83e6d7aa07164 Mon Sep 17 00:00:00 2001 From: Austin Abell Date: Tue, 23 Apr 2024 20:25:36 -0400 Subject: [PATCH 2/5] update version to 0.21 --- near-zk-light-client/host/Cargo.toml | 4 +++- near-zk-light-client/methods/Cargo.toml | 2 +- near-zk-light-client/methods/guest/Cargo.toml | 2 +- near-zk-light-client/outcome_methods/Cargo.toml | 2 +- near-zk-light-client/outcome_methods/guest/Cargo.toml | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/near-zk-light-client/host/Cargo.toml b/near-zk-light-client/host/Cargo.toml index 3a8171f..78954d5 100644 --- a/near-zk-light-client/host/Cargo.toml +++ b/near-zk-light-client/host/Cargo.toml @@ -5,10 +5,12 @@ edition = "2021" [dependencies] methods = { path = "../methods" } -risc0-zkvm = { version = "0.20.1" } +risc0-zkvm = { version = "0.21.0" } tracing-subscriber = { version = "0.3", features = ["env-filter"] } serde = "1.0" near-zk-types = { path = "../types" } serde_json = "1.0" borsh = "1.3.0" anyhow = "1.0" +near-jsonrpc-client = "0.8.0" +near-primitives = "0.21.2" diff --git a/near-zk-light-client/methods/Cargo.toml b/near-zk-light-client/methods/Cargo.toml index b5acc6f..2c120e4 100644 --- a/near-zk-light-client/methods/Cargo.toml +++ b/near-zk-light-client/methods/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [build-dependencies] -risc0-build = { version = "0.20.1" } +risc0-build = { version = "0.21.0" } [package.metadata.risc0] methods = ["guest"] diff --git a/near-zk-light-client/methods/guest/Cargo.toml b/near-zk-light-client/methods/guest/Cargo.toml index a795ad8..6fdbfa6 100644 --- a/near-zk-light-client/methods/guest/Cargo.toml +++ b/near-zk-light-client/methods/guest/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [workspace] [dependencies] -risc0-zkvm = { version = "0.20.1", default-features = false, features = ["std"] } +risc0-zkvm = { version = "0.21.0", default-features = false, features = ["std"] } near-zk-types = { path = "../../types" } borsh = "1.3" sha2 = { git = "https://github.com/risc0/RustCrypto-hashes", tag = "sha2-v0.10.6-risczero.0" } diff --git a/near-zk-light-client/outcome_methods/Cargo.toml b/near-zk-light-client/outcome_methods/Cargo.toml index eac9d98..ccc953e 100644 --- a/near-zk-light-client/outcome_methods/Cargo.toml +++ b/near-zk-light-client/outcome_methods/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [build-dependencies] -risc0-build = { version = "0.20.1" } +risc0-build = { version = "0.21.0" } [package.metadata.risc0] methods = ["guest"] diff --git a/near-zk-light-client/outcome_methods/guest/Cargo.toml b/near-zk-light-client/outcome_methods/guest/Cargo.toml index 3493de4..0c33cc8 100644 --- a/near-zk-light-client/outcome_methods/guest/Cargo.toml +++ b/near-zk-light-client/outcome_methods/guest/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [workspace] [dependencies] -risc0-zkvm = { version = "0.20.1", default-features = false, features = ["std"] } +risc0-zkvm = { version = "0.21.0", default-features = false, features = ["std"] } near-zk-types = { path = "../../types" } borsh = "1.3" sha2 = { git = "https://github.com/risc0/RustCrypto-hashes", tag = "sha2-v0.10.6-risczero.0" } From 6976aa2cce5dd82d964badb054869f557b51bcc7 Mon Sep 17 00:00:00 2001 From: Austin Abell Date: Tue, 23 Apr 2024 22:00:20 -0400 Subject: [PATCH 3/5] update demo to pull data from recent RPC --- near-zk-light-client/host/Cargo.toml | 3 +- near-zk-light-client/host/src/main.rs | 103 +- .../methods/guest/src/main.rs | 3 + .../mainnet-80000000-81000000.json | 4037 ----------------- 4 files changed, 92 insertions(+), 4054 deletions(-) delete mode 100644 near-zk-light-client/test-vectors/mainnet-80000000-81000000.json diff --git a/near-zk-light-client/host/Cargo.toml b/near-zk-light-client/host/Cargo.toml index 78954d5..820f2d4 100644 --- a/near-zk-light-client/host/Cargo.toml +++ b/near-zk-light-client/host/Cargo.toml @@ -13,4 +13,5 @@ serde_json = "1.0" borsh = "1.3.0" anyhow = "1.0" near-jsonrpc-client = "0.8.0" -near-primitives = "0.21.2" +near-primitives = "0.20.1" +tokio = { version = "1.37.0", features = ["full"] } diff --git a/near-zk-light-client/host/src/main.rs b/near-zk-light-client/host/src/main.rs index bbd73f3..9b0a174 100644 --- a/near-zk-light-client/host/src/main.rs +++ b/near-zk-light-client/host/src/main.rs @@ -1,6 +1,10 @@ +use borsh::{BorshDeserialize, BorshSerialize}; use methods::{LIGHT_CLIENT_ELF, LIGHT_CLIENT_ID}; +use near_jsonrpc_client::{methods as rpc_methods, JsonRpcClient}; +use near_primitives::types::{BlockId, BlockReference, Finality}; use near_zk_types::{ - LightClientBlockLiteView, LightClientBlockView, PrevBlockContext, ValidatorStakeView, + BlockCommitData, LightClientBlockLiteView, LightClientBlockView, PrevBlockContext, + ValidatorStakeView, }; use risc0_zkvm::{default_prover, ExecutorEnv, Receipt}; use serde::{Deserialize, Serialize}; @@ -24,34 +28,86 @@ struct TestCase { params: Params, } -fn main() -> anyhow::Result<()> { +#[tokio::main] +async fn main() -> anyhow::Result<()> { // Initialize tracing. In order to view logs, run `RUST_LOG=info cargo run` tracing_subscriber::fmt() .with_env_filter(tracing_subscriber::filter::EnvFilter::from_default_env()) .init(); + let client = JsonRpcClient::connect("https://rpc.mainnet.near.org"); - // NOTE: These test vectors come from https://github.com/austinabell/near-light-client-tests - // and are generated using mainnet data pulled from RPC. - let contents = include_str!("../../test-vectors/mainnet-80000000-81000000.json"); + // Get the current block (just to get current height, maybe a better way to do this?) + let cur_block = client + .call(rpc_methods::block::RpcBlockRequest { + block_reference: BlockReference::Finality(Finality::Final), + }) + .await?; - let test_cases: Vec = serde_json::from_str(&contents)?; - let initial_block_params = &test_cases[0].params; - let mut prev_context: PrevBlockContext = PrevBlockContext::Block { - prev_block: initial_block_params.previous_block.clone(), - current_bps: initial_block_params.current_bps.clone(), - }; - let mut prev_proof: Option = None; + // Get protocol config to retrieve epoch length. + let protocol_config = client + .call( + rpc_methods::EXPERIMENTAL_protocol_config::RpcProtocolConfigRequest { + block_reference: BlockReference::Finality(Finality::Final), + }, + ) + .await?; + + // Pick a start height from 2 epochs back. + let start_height = cur_block.header.height - (protocol_config.epoch_length * 3); + + // Get a block from a previous epoch (really just need the hash, but this is what the rpc has). + let start_block = client + .call(rpc_methods::block::RpcBlockRequest { + block_reference: BlockReference::BlockId(BlockId::Height(start_height)), + }) + .await?; + + let light_client_block = client + .call( + rpc_methods::next_light_client_block::RpcLightClientNextBlockRequest { + last_block_hash: start_block.header.hash, + }, + ) + .await? + .expect("No valid light client block at this epoch"); + + let current_bps = round_trip_borsh( + light_client_block + .next_bps + .expect("light client block from previous epoch should have next_bps"), + )?; - for test_case in test_cases { - println!("Test description: {}", test_case.description); - let test_case = test_case.params; - let borsh_buffer = borsh::to_vec(&(&LIGHT_CLIENT_ID, &prev_context, &test_case.new_block))?; + let mut prev_context = PrevBlockContext::Block { + prev_block: LightClientBlockLiteView { + inner_lite: round_trip_borsh(light_client_block.inner_lite)?, + prev_block_hash: round_trip_borsh(light_client_block.prev_block_hash)?, + inner_rest_hash: round_trip_borsh(light_client_block.inner_rest_hash)?, + }, + current_bps, + }; + let mut prev_proof: Option = None; + let mut last_block_hash = light_client_block.prev_block_hash; + for _ in 0..2 { + let block = client + .call( + rpc_methods::next_light_client_block::RpcLightClientNextBlockRequest { + last_block_hash, + }, + ) + .await? + .expect("should retrieve light client blocks for past epochs"); + println!( + "proving block at height {}, epoch {}", + block.inner_lite.height, block.inner_lite.epoch_id + ); let mut builder = ExecutorEnv::builder(); if let Some(ref receipt) = prev_proof { // Verifying a proof recursively requires adding the previous proof as an assumption. builder.add_assumption(receipt.clone()); } + + let borsh_buffer = borsh::to_vec(&(&LIGHT_CLIENT_ID, &prev_context, &block))?; let env = builder.write_slice(&borsh_buffer).build()?; // Obtain the default prover. @@ -62,12 +118,27 @@ fn main() -> anyhow::Result<()> { receipt.verify(LIGHT_CLIENT_ID)?; + let block_commit_data: BlockCommitData = borsh::from_slice(&receipt.journal.bytes)?; + // Update the previous context to verify off the last proof. prev_context = PrevBlockContext::Proof { journal: receipt.journal.bytes.clone(), }; prev_proof = Some(receipt); + last_block_hash = + near_primitives::hash::CryptoHash(block_commit_data.new_block_lite.hash().0); } Ok(()) } + +// Conversions simply because near primitives types had bloat that could not be compiled in the +// zkvm. Just round trip serializing for expedience, not necessary. +// TODO get rid of this +fn round_trip_borsh(origin: impl BorshSerialize) -> anyhow::Result +where + R: BorshDeserialize, +{ + let serialized = borsh::to_vec(&origin)?; + Ok(borsh::from_slice(&serialized)?) +} diff --git a/near-zk-light-client/methods/guest/src/main.rs b/near-zk-light-client/methods/guest/src/main.rs index c861419..d03863e 100644 --- a/near-zk-light-client/methods/guest/src/main.rs +++ b/near-zk-light-client/methods/guest/src/main.rs @@ -130,6 +130,9 @@ fn main() { "Next block producers hash doesn't match" ); + + // NOTE: this has the assumption that only one block per epoch will be validated. If it's + // necessary to validate multiple blocks per epoch, this should be changed. // Update block producers to be committed. block_producers = next_bps; } diff --git a/near-zk-light-client/test-vectors/mainnet-80000000-81000000.json b/near-zk-light-client/test-vectors/mainnet-80000000-81000000.json deleted file mode 100644 index cc35116..0000000 --- a/near-zk-light-client/test-vectors/mainnet-80000000-81000000.json +++ /dev/null @@ -1,4037 +0,0 @@ -[ - { - "description": "Mainnet Block 80020288", - "expected": { - "is_valid": true - }, - "params": { - "previous_block": { - "prev_block_hash": "EihHqj3kABJXzyh4GxoRWRsLPjef3SEP3nzPptbx9jJ9", - "inner_rest_hash": "DgciCt1tn8EANTz3Lj3SHMo8hP5fXCCpsHmPWuxoTEpo", - "inner_lite": { - "block_merkle_root": "Bc9SXjgxcvY49BDJM2orfQemH51JbTMGHXF6FG2sESkz", - "epoch_id": "31cS6Nq14ssA6q5w1sUwbLNvshkZZ8nsX313VKestSci", - "height": 80020288, - "next_bp_hash": "DnE1fZ7XDyGW5NU4EKNdk21APcRaZp1JCdgfk2nfPGGy", - "next_epoch_id": "FVtntZ55U96L9PvfZuZwJeVAthvhwDyVRmVEcP4VuAnf", - "outcome_root": "ETPozZDcmYEX1S2bTxbAPzpqETCPa2zZcPHpZnovf7sU", - "prev_state_root": "CK3ZtwsbMoQvBQWVtJUrGSThwGfBh4XgjphbyWgbXckr", - "timestamp": 1670305575975908900, - "timestamp_nanosec": "1670305575975908972" - } - }, - "current_bps": [ - { - "account_id": "figment.poolv1.near", - "public_key": "ed25519:7RjyY1bRKDqkshbKZtgpQdwsdxou8j9my8g1hPKZ9ngM", - "stake": "32250435459934412953451538168435", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "astro-stakers.poolv1.near", - "public_key": "ed25519:2nPSBCzjqikgwrqUMcuEVReJhmkC91eqJGPGqH9sZc28", - "stake": "24319070959917530779360411988807", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bzam6yjpnfnxsdmjf6pw.poolv1.near", - "public_key": "ed25519:2ZJqaaCAisK4u8E2i611zFfvNmrvevovnU3M7SpGHkLY", - "stake": "23420427312384735654465604434098", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zavodil.poolv1.near", - "public_key": "ed25519:HHARoU1hANWF9hu7YRstDDvgyigBhUeUuqecRVr8dpUz", - "stake": "18854557071141496228903088010284", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "binancenode1.poolv1.near", - "public_key": "ed25519:Bb7uPEocbsiQwRfPmsiiiM88DodtuYnBDi6dKZ4JZo2N", - "stake": "13926855085064563248046637210914", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "yes_protocol1.poolv1.near", - "public_key": "ed25519:4bnrmHSMYkvsgjbQSaCY3AFwrfS1w17ACEUQdn7aC4iT", - "stake": "13638576004989091953751375586920", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_yes_protocol1.poolv1.near", - "public_key": "ed25519:CVVcLtfAWj6k1DqKJwhYBQwjMQFmXzFY2NBdMxp1RqL1", - "stake": "13550497987554642249276453766071", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "aurora.pool.near", - "public_key": "ed25519:FZKXoWHFCXMrKiXjAKFdHo5g9PDom4bWMRFERBfufi2Y", - "stake": "13356174592702353588482074537404", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "epic.poolv1.near", - "public_key": "ed25519:68HExKDtw1CjGzopZ8fMAMhMSZRVKRhwLzLQmGKtFNzT", - "stake": "12870669273518121707033213667274", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stake1.poolv1.near", - "public_key": "ed25519:7EiVt9i7SmULDKEnAXBFSMzwUmZdxUYDFkP73MZuCH1h", - "stake": "11203821091111704967271108074277", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sweat_validator.poolv1.near", - "public_key": "ed25519:677kArWPFPRDgWEBHqHj6BCmEdTVBsAcjQAc75Gtyq2j", - "stake": "10871272207525162006598253988094", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dqw9k3e4422cxt92masmy.poolv1.near", - "public_key": "ed25519:EPNc2bHqRCz6TKLstNiusv9qZCRBL63zViwUAcgoZJZj", - "stake": "10216309883479689268288090813514", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "future_is_near.poolv1.near", - "public_key": "ed25519:F3vEGwYYGisaXwKJWrYgorB95DfArDby8bK5wydxD5fp", - "stake": "10178857798332717967960557393871", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "rekt.poolv1.near", - "public_key": "ed25519:FoAaUdVKEHtVokG1aVmJNou61YcfQhXmaZ5Hnfsz4fHC", - "stake": "9852053238304971680206442188874", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "valisaurus-dex.poolv1.near", - "public_key": "ed25519:CkgfrweyZmVfjDNJD3jqzLcsK1ktjvjLLDVVj87UHCAc", - "stake": "9365503610076191237906638816991", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "finoa.poolv1.near", - "public_key": "ed25519:62gxgzoie7FiK9dnWuiwM1bbuvhpceYDavK7SgdfEMJc", - "stake": "9113507661905178028058123706388", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kiln.poolv1.near", - "public_key": "ed25519:GAekByYrSuo3seuaGQx7V1ZTC3gWZY8JxZJ4aWW76LiT", - "stake": "9014884720876589096675016054710", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "blockdaemon.poolv1.near", - "public_key": "ed25519:3GNFSJiFQQ1rnR68T4eZRff2omPhg1CTewUHBJpQAdyc", - "stake": "8632034506398993171933306679199", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearcrowd.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "7057673755836222276020345771632", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "foundry.poolv1.near", - "public_key": "ed25519:5Qx8Fq3SK4Vu1sRRpf2HsNGLAqdNqgkKEebHMniLWhkW", - "stake": "6581324333923112395748696792531", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "near-fans.poolv1.near", - "public_key": "ed25519:AgV97ssnHm7qN8JhYZjwyDtuaT6Ms3Fgbw3WeAC8M3iF", - "stake": "6534706352262432328257735972643", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "d1.poolv1.near", - "public_key": "ed25519:7ZhMRwnSHGJtWjGBZiRhhSi6XyqKeNHtnEXsVTNdrsk6", - "stake": "6313462757102942499600820188745", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "anonymous.poolv1.near", - "public_key": "ed25519:Hoj7LbPwNwAkLFhf8z2aDF1BG6NDSrq1BfkdaKqPfbXx", - "stake": "6272968671969304611024172082746", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hashquark.poolv1.near", - "public_key": "ed25519:3YDdmN1vhF7yAWnYxGMHY46jcLE9h11HvEeF6Kntugeq", - "stake": "6203281164327627376688876890318", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "continue.poolv1.near", - "public_key": "ed25519:9rDZywYL3tnvzj6hnePw3MaPFPfSeSCLxBp1niTGbMaK", - "stake": "6137119164181358083327250512107", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "08investinwomen_runbybisontrails.poolv1.near", - "public_key": "ed25519:C6yqxQ3suwjmm8ufG5e3BsHiwxUs9h839FCneF41V7TM", - "stake": "5634241323130675983291557300008", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dokiacapital.poolv1.near", - "public_key": "ed25519:FGcJJeWMyx1xDbfkcPM2oMeUeGaADJuPmeqx5rjsHn7t", - "stake": "5437372075741015139300541698007", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "magic.poolv1.near", - "public_key": "ed25519:5fwufMXx9CTyLRkz7x3htQa3rFGzFZuz6d43LhCTmKCS", - "stake": "5335852331583317161441916291207", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hb436_pool.poolv1.near", - "public_key": "ed25519:7oU4C3vWqkeup7aMfjyV1ojt7yKX7ShLfvNCahBRy1eW", - "stake": "5281265962353890836534788566913", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "accomplice.poolv1.near", - "public_key": "ed25519:5ck255MtkoGQxh9LfjNtdb4M7WHkUmjU7SBJCEkZP2B7", - "stake": "5270731159553701851508275628092", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "chorusone.poolv1.near", - "public_key": "ed25519:AZwJAgu2qRxHwdpj8ioZEFGcc2jbaZGN7ZvUe7CuXtM7", - "stake": "5157806596939944294803531017994", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "electric.poolv1.near", - "public_key": "ed25519:GpSr5KAZMZ1Cb4dHMRUVhmp95y2fmWtm4dEjAr8iAva5", - "stake": "4941379071238384083911855033831", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakin.poolv1.near", - "public_key": "ed25519:85UGfKdVoxX9u86JsBMxmVHBguYonnM3vTR2WoD5GkEg", - "stake": "4874289444678730595313448243831", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "ideocolabventures.poolv1.near", - "public_key": "ed25519:6NFuvrmnJiokXibR9Z7TUHjB4NJnD1rJAHhBu9JWmBdh", - "stake": "4843722756799063043481884860228", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "openshards.poolv1.near", - "public_key": "ed25519:4Xm73PiAGMZu3mZg4gF7j96iTAFHGbPvqzxBaTgKP4ub", - "stake": "4745719697678476813937427715368", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "northernlights.poolv1.near", - "public_key": "ed25519:7HXh6iS9Rh92Uj1c5T9fPjQXPLnti4Rr2cJQcJEYpdGV", - "stake": "4565290119118468401924630560987", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearfans.poolv1.near", - "public_key": "ed25519:GM8vWM4TqTt7jh3sXYCAs2KPyn4vEmAceteBGEFYhyku", - "stake": "4459782455748739547274396589511", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptium.poolv1.near", - "public_key": "ed25519:5Y9hW8cKBb5RnsJBqttHHC5ujz5zcZZ5xnrJPwkCWmGQ", - "stake": "4147781170009266727738477445770", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandora.poolv1.near", - "public_key": "ed25519:53N7KBhSkEP6tLuQmxZV9fAK16D1C2kWnuzes8KNyS7P", - "stake": "4062543759455938007931465026278", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nc2.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "3995131747349249463759270027674", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "smart-stake.poolv1.near", - "public_key": "ed25519:A6wpkLQiYqPZ1rbd9s5S1Bg3LxccVsQqiCRDUXwzJ6Hx", - "stake": "3962137789739377159435175659751", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "p2p-org.poolv1.near", - "public_key": "ed25519:J441YAvvYvjWs3aVzjc5KLLWRzmhQTEMaymPyWFkMGeG", - "stake": "3930063345499749731716860240255", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staked.poolv1.near", - "public_key": "ed25519:3JBVXqenru2ErAM1kHQ8qfd29dCkURLd6JKrFgtmcDTZ", - "stake": "3896233741828458676219763135862", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "everstake.poolv1.near", - "public_key": "ed25519:4JLvwa1r2eAxHLyKeDJnpqMG5f2Z9rr49rwuTwb9g8u2", - "stake": "3816201609023067049370028754086", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bisontrails.poolv1.near", - "public_key": "ed25519:Emk6wQJtpQZRJCvvPmmwP9GD2Pk37xxRpmb5uRvJpX62", - "stake": "3443753674908468068800526100074", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakesabai.poolv1.near", - "public_key": "ed25519:6abauNvvWnEkagjVpWRy2tZJdzPkmqurUjteMTKk5KQF", - "stake": "3418645408849659275270637546580", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "buildlinks.poolv1.near", - "public_key": "ed25519:Hd3irGt4zEqRPAzcFszX3oTkVWRFFxdecDvShCJSS1Wg", - "stake": "3351587752657970501091720191373", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sharpdarts.poolv1.near", - "public_key": "ed25519:9XMHXqv7rM3QQxzjUu7dfKD7GhMkq8CEceaPdkhiBQUX", - "stake": "3187566274423366350089999279328", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "erm.poolv1.near", - "public_key": "ed25519:88nnN6LAuCbJaj9wucd1WUMfTtdv2s3njpvozHft8oQ5", - "stake": "3068870801259801776234794706228", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_00.poolv1.near", - "public_key": "ed25519:62c41nzrrZAspLnPBC2A112PXBhJuj1cGkVE3ANwbzat", - "stake": "3063094997267670442099676967498", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_01.poolv1.near", - "public_key": "ed25519:3LqCGkM3uLjQjPmd3yVyaEnceinEL4cBfUm9vp5hJRTJ", - "stake": "3049493886831654712629311273819", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dsrvlabs.poolv1.near", - "public_key": "ed25519:9SACdsDDgXA2WZLfJvpkKbu22Exxtc4CMbeHmVnN2P4a", - "stake": "2980368853483831753463040541637", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "brea.poolv1.near", - "public_key": "ed25519:8dce49J5G28yMGRcSiDnYNFh7GBSma8TmYaw5mGTSH1Z", - "stake": "2964630380028642127154378666119", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lux.poolv1.near", - "public_key": "ed25519:HzTGTDfTz63QGvvUdMGozFeaENFGyYAoSrqYJb23qZFN", - "stake": "2919566209813868526943067741823", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nodeasy.poolv1.near", - "public_key": "ed25519:8mjespqqUePSYSsxYxPqCUsZUuMxVJr1vjBRwFeCke5K", - "stake": "2919030907147356711860614015318", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lunanova.poolv1.near", - "public_key": "ed25519:qkfP4NsSuHybdLhdvvYQ2Y9xWPsd249thEvrzbJBKNc", - "stake": "2790065319419691601466157888176", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "republic.poolv1.near", - "public_key": "ed25519:5sT6xtwxvLARW6y3KURYmyFd5SokJFhiK4jyqbamzzZ6", - "stake": "2785484619946552784505277497235", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zkv_staketosupportprivacy.poolv1.near", - "public_key": "ed25519:2kAo86DW8mDaLDg37rFhQY8UYSZVq1CtegUHBEDvpSMA", - "stake": "2624302627980576141529440567397", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "baziliknear.poolv1.near", - "public_key": "ed25519:E4LAWdgLifBEoaWvhRNy5vpdAnUc3GsUHePeiAurZY5v", - "stake": "2620080450679085853225142259365", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stardust.poolv1.near", - "public_key": "ed25519:6rxCJpTnrT6NFuGg6d5Dj3FEUz1ScNU9u35ywB3dYhrX", - "stake": "2449229530707956596815897027956", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fish.poolv1.near", - "public_key": "ed25519:27KegJd17HeXHk9h5MqkT35QAuvYvo5GFgPTpSVU4kPN", - "stake": "2317136739136413128062389012440", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "masternode24.poolv1.near", - "public_key": "ed25519:5ZyaXsGCya4Sch5bqUfohvo7iRFYB9ancRouggWRsiDU", - "stake": "2058916052245294606860849530677", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "moonlet.poolv1.near", - "public_key": "ed25519:GkDwzPckMfhkdYgyFG69Uph8RJ12BcV9xNeZW2q93ZJD", - "stake": "1977436783608092603854804320687", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fresh.poolv1.near", - "public_key": "ed25519:6YHLXhohY8kMnkp5Jw4HrJ52xtdyt1rcP6AaWkKzh3ED", - "stake": "1916621177802754490006120844046", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "inotel.poolv1.near", - "public_key": "ed25519:DmEDRntb9NwfbfdvDf6wzjsw1vxzQcJAAhFL2J75iLwr", - "stake": "1855462507385330815029622042063", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "qbit.poolv1.near", - "public_key": "ed25519:5DqZLnDu6PMEyhJzc5NhiMsoWeYMWG1bC4AULyafoXMv", - "stake": "1699684380567205282297645101296", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "appload.poolv1.near", - "public_key": "ed25519:6LbMVL6otkvZbpuC9sN3z7EXSMo3PT9noPeBdBZTFneM", - "stake": "1678492554596790913066397102186", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "01node.poolv1.near", - "public_key": "ed25519:5xz7EbcnPqabwoFezdJBxieK8S7XLsdHHuLwM4vLLhFt", - "stake": "1637799415405534230454591812343", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "jazza.poolv1.near", - "public_key": "ed25519:EW66Fkv7XcE9FiybuYtVURjHhYeEgwWWpzF685Vi7foY", - "stake": "1536388250945571199923135705763", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "satori.poolv1.near", - "public_key": "ed25519:9r8HYmw8mbys2Ng9BaKeQqZnaQTGCcBUbMatV5NeeWJj", - "stake": "1507774358032269978078018599861", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "avado.poolv1.near", - "public_key": "ed25519:FdLWsf42e3Sc7bdKMtxJMgWRP21ysZDSXFnS2vTwTaaA", - "stake": "1246730799693378236361050423935", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nonli-near.poolv1.near", - "public_key": "ed25519:91jusDFxjY32h51tfq2HoKhoPbGs66s88t1v2oZPBSxC", - "stake": "1161331382332303289115284932163", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_sp2.poolv1.near", - "public_key": "ed25519:CS4uHAipvtxGz9irnoCX7SxT6d8zKpDj8Y3Fyf2zVgBp", - "stake": "1159443156896564347515912117483", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galactic.poolv1.near", - "public_key": "ed25519:GFK83N32DbERtFg8rkpfNBsKtkFpmNQzyKFM9kJvPCMG", - "stake": "1127924097040276235964483624503", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandateam.poolv1.near", - "public_key": "ed25519:Cu83NRziNLiT6HLu9kJ8svFoftZQ9wVmjScxjqCybppt", - "stake": "1057250470963662683441587536927", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_opp_disc.poolv1.near", - "public_key": "ed25519:8XbCfLQVSwtwaBajvByG87CxPPbaFdryz5qEkde1fSGv", - "stake": "1013922379256982226732976059894", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bridgetower_v1.poolv1.near", - "public_key": "ed25519:AHgnnt8yhNBpoZChBiHXfjaH6X2zMZaDDXmmSWHvDcWL", - "stake": "1010098300691612194623320705471", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dexagon.poolv1.near", - "public_key": "ed25519:AQHwptR3Ho348BpFXJDjkxpWMW5ZwN7xWM3XWAWSEEgs", - "stake": "949751311716191488821698970866", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "allnodes.poolv1.near", - "public_key": "ed25519:AGEeyukQdMtg8EttsU39YLgryhao8yQeVwQTut5bbWdL", - "stake": "933996374818312228373722567294", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bitcoinsuisse.poolv1.near", - "public_key": "ed25519:Cy2sboVqjDk6d3d2A2AJZBdFvokjk7sjZpYATLjcQSCj", - "stake": "878897030499710077990455101121", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pathrocknetwork.poolv1.near", - "public_key": "ed25519:2iJQLVXubWafG7K1NzGVvjP54UJCgVg3cuPMktw8r7uQ", - "stake": "815233429510421418335987630368", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptogarik.poolv1.near", - "public_key": "ed25519:45zFAC8pLgwn1d5pSBpBHesWbzngfRgd92zaom7K8m8j", - "stake": "715596175660631395297542430857", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "prophet.poolv1.near", - "public_key": "ed25519:BV5b4DpgCUy1TEitE4TVPhpTY7uDNpHc8DBPyH6cYCBq", - "stake": "696797124406364577197274082254", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptoblossom.poolv1.near", - "public_key": "ed25519:5opTNJEkCBYuyMgAghY2Sxp4bBtXYQtbEvZ3Wc5Awohb", - "stake": "672521594134190390373965538353", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking-power.poolv1.near", - "public_key": "ed25519:42ikqyV1BYmSnhHJ9EsLLy9kgeAg1mC3qqU1AJGaTEaW", - "stake": "672083721428642322064158811702", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "legends.poolv1.near", - "public_key": "ed25519:DNK46DeHKeJPF9YetmNxZnqtpkeLjdUb9ezSRCue3TpB", - "stake": "644046401865977302918354101730", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "optimusvalidatornetwork.poolv1.near", - "public_key": "ed25519:C3CJMKaWdEzkqyNCKwnKud6wDNnzs7Ura63k16zm4LUU", - "stake": "643388874301669064417503707889", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "infiniteloop.poolv1.near", - "public_key": "ed25519:9BUwtDegzwKcmJBjLgUDLHc3pePgPKcWJXYGcZb33Nyr", - "stake": "638364095976395658470020752350", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "steak.poolv1.near", - "public_key": "ed25519:3tZG4QgzWpTKt2dChqZVUTBvF35pvG7BHyyJULF8VXQc", - "stake": "633530018604696953880713604182", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "usn-unofficial.pool.near", - "public_key": "ed25519:9vdrbg4MDfZyknYeRzUbL1juK5aMm7xWs6nukUZQpY3b", - "stake": "590695958259324962205314043169", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dragonfly.poolv1.near", - "public_key": "ed25519:6Gj8MRp9KqfdiXa35LJcZnqeBNNEZoYk6ysvpzHaruvq", - "stake": "563108123838636055877879731062", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakely_io.poolv1.near", - "public_key": "ed25519:HWp9E3gP91s25ddMS9xUWuzbJUpVGiPoitu5bT6hqMHs", - "stake": "562183272282543845625163653480", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lionstake.poolv1.near", - "public_key": "ed25519:8kciZQy815tZooy7HPJkBq2cyEw9L7fbsWcmWLgwG4m3", - "stake": "524418755129100332093294600250", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "atomic-nodes.poolv1.near", - "public_key": "ed25519:CpVAHE3JpfDoEPqjBDgYEjgG8JhM5BFKbjUD2N1EuvAL", - "stake": "472614100003688129611972840338", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galaxydigital.poolv1.near", - "public_key": "ed25519:8ZD8CcSzSfVsYo7XyABHJsYcrpBE3EL5MwukoEfrNYMR", - "stake": "446821185691251630862040325602", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearua.poolv1.near", - "public_key": "ed25519:6YRLTm4coawMYrchYs1ex5BLY7xtnPrnvGWgk6NJAQvy", - "stake": "441491650462854319291533826111", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "synclub.poolv1.near", - "public_key": "ed25519:4888ehXrQvgtVRTc9rTNnk21wGKHwgi7jrhdUdyqSAtG", - "stake": "436003635817180642626470311834", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kosmos_and_p2p.poolv1.near", - "public_key": "ed25519:41GWxdQHe4Y2fuisvz5k5G2NwDFEavRkisoZkB5tfJuC", - "stake": "426943155073288125766740685640", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "vortex_live.poolv1.near", - "public_key": "ed25519:GrPW17VhMVLi15JohsM2ag2GpcqpQuJNm3Hf6vPYXRYZ", - "stake": "413603678513138015428699778893", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "grassets.poolv1.near", - "public_key": "ed25519:GS8uhr7mhsBWB5c1JgvsJzpwZDGrcnB9Xnw7YRyMSQP5", - "stake": "406448864450844347642628042895", - "validator_stake_struct_version": "V1" - } - ], - "new_block": { - "approvals_after_next": [ - "ed25519:3d8UbPVeHcPMkjB257UZowz3XvaXMfu7VFRD7vBhEm4VPTDD5S4eSzj5HtATbqZbreeLBq2GWDx23kmghyU8RPyw", - "ed25519:k7sxybPTTpXPe8FVbAhf18hV3U3fH2Hn3DAJfwjsWFWxvT3H4KeHpWn3bTWzu6ZToqBBeDuBRXSBU3KubhKwcXz", - null, - null, - "ed25519:3cKbZYPv8mU2LYKb5PP2HHYVtZLzxdqdv8wqeh7CgrGhuz9jLEqcPwmt26sjFEF5BnhGcHtuyma6sjuV2pYm6a6a", - "ed25519:4CJXSQ3ntvEHwCkikY7VRidC26hCjZgRVyGTQyXCXSnaL5matCLxkwFxsaNyNZXbot6zx6YpfRWdKsArm9bupg8U", - "ed25519:3FhSCwHjKEy94PzchFezwZr5crhJRRBJLm1oVz5MJjSuv3iaoB8h6X6yaAPopFh4NzrPPYgGd86ACWz2VDFeiQwK", - "ed25519:3bye4nmS6ndU4Af8rU2wLV6tzokRrx9Sg5Qz1oZFcoF4wf5NVPhGCDPko2C3eSU5WpWRQcochdpLZA1ayGLK9GNb", - "ed25519:4Adt6A3oWDxvbjQuXcAeozpRdcVppgTZi3TNCNCQh3QgrxPmAVkfBKYmyjZtqg5xEWMawAyUJ2dz8n8UEfuJkvwB", - "ed25519:CfTtgdyB4iW3wd9rtAPS7ah3JXdAHyMWN7ToojZ2vGRandhqHqebyACK9Qw2qvGNobTTJ3qPtQbZ1TL9GvtRtmD", - null, - "ed25519:2C5rGVU2PG62EywQh72jKUwnR9kJKFDbJJamjdBKPaSyDQg6gwL1zqaUybKoFoUsqmaG9v7Hi8cScm4ybBMSHR7x", - "ed25519:HMVfWDWUceFrr2MxawAGwGwaDUNuotRNphJaBpBcBkLQeyczGKxgHBP9XmWy4RqWRQD2mD3gDJiV2z5xnSHYPtf", - "ed25519:2UxzVeJB5V3HY5dVCuax1Hmc5riuzHdPNmY1NkvwuXMXCnRFFbcZzM94W8Nr5h2b4ijavocD2PXqng4rhpZyNT4o", - "ed25519:67S74MTnT6otksNTdT4SqrmnQNL43tSTov65pFtYxEvoZLvWKxTFhqC5phf1BpZSWoHQSVgwR9TP5yBwkSEjpsKP", - "ed25519:zeJg8VaoDyPWS9p14444DXbRSTjjFccLX7FUJ1mhUsm5oUPRjeTK7FCGdAvWqN5LF9qw5ZX3ivRN5Hp2FH4GFLv", - null, - "ed25519:43FUU7jWywiWVHVXqw1DwZFtDG9FJF3EdsahcDvoANVLRcBcxgKvQsuZhoECnueobbfapJfJH1kGvoEiUUijhhRz", - null, - "ed25519:5o4Pm7LzJgW2BSjH6bktKr2GM7nBW5Aw7smHzDHWJCHhuPSCsviAroqNq8KYQEnPiEQcyLf2A1foAkWYZGniXX3x", - "ed25519:4MEg5tDXTtRhHZBVB551XREBpNYHUiMKhtSPK8u6tRCHa2EVojvsUqaG5WRet6mX3EGKws7eYm5yuKNkLckgwTnt", - null, - null, - "ed25519:5pL9KGmzmUFMHLEd7vmkL3ui51mK6FRrvWxgDvtN7Y4HueAiyS9W7fZykLe6WyjwRs61tbg7t25AMJEGAgqN79nt", - null, - null, - "ed25519:44FZx4mQ7oQ4SekbwB83ayk7kUHbswnGbvvK8w9P74qujd75t2EeuSnTpRJdVdvRh2qLvVDzFG8XmEak5E3eYXYa", - null, - "ed25519:LNDzLGYc6R8cv9vrUCH7f8s7DR42Q55Urg7QwEKPYRFMrStfvhdK4t2KLAzMjzKxsqJgau2MBYXSDo7GFLMiuPt", - "ed25519:5cNM77K3zL4BCnMLsPKEeVkE2SFAEoSWcn4v6KXPActkNuFF1cJLFJPRUzYwWb1S3DtzebT1iSFGtz66hB1Y6AjD", - "ed25519:3sM3X3yBUbhZzk6eRDHQ3NvPaTtRsTbMDEamTutATv1ryuDdGdyWPJ3Gy6LceEsKW6o4rhKDvRF6WBAgMdLHi3is", - "ed25519:2Gg7XpH3923PxKpMvdfNTXe6MEQELvv6VoByggKGDmomZANXgHwzGrEQyyBbzBKQWUSuahZmhsF5pM25MHCDnyC4", - "ed25519:58w9YHXyqBjfD4ZVCxLq9PbPkeSMQ4BuAs6FdLuCeDRJhLSz5bPohGfbqt8ZLmVq5cNFThfqqyYLRZA59tWYuf4F", - "ed25519:5mUDQeu3EaTGn8yGv8pc9bZGg49fGpFK5Japhzo3MWGQ7z73Wa5z5E4hotkgE7iMB7TRsLFxCx6ZWjiYKn5U1RFK", - "ed25519:2YGjeamdnhRtPttRkaMQfW4ARZsNhr8ZZrandZyizmqkGCbusrvtmpQqExNeiVGftVPUJhtTsGCyouCWFhk4gK2S", - null, - null, - "ed25519:2pYR6Lq19yYVQ9B1QEpHAunCCGMB6exezmdjpBWe4y21hfNu7uDVPu2rk9RKEp8H3RNPgbLP2Ra984nTJC42oqgK", - "ed25519:5ygkw1HGRVEUGcdMyRFbKL8PjhGEFF2aBi6ZuSYS9kuzep5qE1Cd66qA9319nkUdNnYVh9Qzrc8sZUemCa2peveP", - "ed25519:sVpnQC7XdzXHiYehz2rRok2Gk88bgutSeCqsGGwotvtsSXFsE57w1CbpjkfMJS4fsaCS3226x6RyK172avLvRBH", - null, - "ed25519:48Ngt978GDAQnwBCLZZWxvvP6N93pCyzdzBfiRR1mK4C2K3n3Ht21EVqx8GiZqWhZawv6DQD3uWBCrT7RGgQ84TD", - null, - null, - null, - "ed25519:3Vt9Kcbh4vw2iafWFmTpWEufKRn8UURnvVd8AwaKUV6VjaYY4m13jZKMWpq6FBTULqnWWTwRh6wuvJ7aBTokwhTf", - "ed25519:2weiNUDRS7tKnPz9edunDLALQS9cwaScXmMQngbf4SXt1bdksy3AoPx7CfPobwiFW9Vjbr1efiETa4YuXLKBobsS", - "ed25519:4gzKGv7kzRHCJeDarSQw5t5FfVq4FzNV2ptEsmChr6cXxS7pkxwtcVNJ9cr2Lj8JtXkyouVmgRNuedVpLm5aWDHd", - "ed25519:4UgTTduANgqVk44gJeS57ShLKyWBUvkoxELZEora1RtL3DXX9JZVwyd5TtUZQyzgNrZGKMwpRLRasvV9xZA1imLA", - null, - "ed25519:ESPP9AKj2bKz8XaJKvNPuPtPSdj2th76gZBAC4k6aLMc18MwLDpxzSxyx4CKgCuDZWADzzmvg74MRoajvoaQjLj", - null, - "ed25519:2iJwdeKoiySrUodmt6KLPbkNiiVJJW95RTrq3LxP3i8X59TxzCQ7REUZP9bf2isPpEU3FVQE9mJX18XxaUPDG3jd", - "ed25519:54fnWrRSd53tXV5VHZeAgTzgyRPEmMSVRW5Mmfg6sZQNoTyWkhnU4pr5ePe9JXDYysajsz4mUHEhtUiQwoNYtNRV", - null, - null, - "ed25519:2GpkePCKTg8XBz5YMABGL4LPaZXtp8HB6HBDFCV5jkHofo5KkbfW9paoUJoT5j5TRTecGrBJtNPJE8bE5gBj41T8", - "ed25519:47j2BXh3c5va35BFByRScnzhhzjKKw3wrGnPkrCntBUHUZWkzPjSPNPPKMNTs97KPn2eYxpjkZvHjrJb89sLWDXS", - "ed25519:5KPtsmTWk9bXV9HPjrgrhN755Q6Riq3Z4D8Qa93if3aUNXxEroYYrY25UVuA3r9AyHkJTgfcYHB363XjaBnS985s", - null, - "ed25519:4LHaLD48Ltxcjx6vDZrFByfY6qoTsuUL5PViCnvGpjLdHqpSJ4jZMK4MFTpHZuYCH7Me9VWQ8ZyLRKN93Uqwq5Ht", - null, - null, - null, - null, - null, - "ed25519:4qvMBdKk5DT8o37jGXoGwLCdRfmdnVTyzwPmNkrGiq1Ac395JF89ATi9t8auCecQkfnz7FKHKmKgfGhhfhSKyPx2", - "ed25519:4mTaE5mRw4uoP3p2r9fnpTKybLY3qnKS2z29FxadAgWn8kNRnMh1564am6hVQjYmya7HBYghE3ZDWgJg3rqeCnZd", - null, - "ed25519:4UkArQvLrgDt6ZJ1XXh9zctFFjeiG1sRqeCadJgffDQs5yp6sPRDvr2kEZpuMmfguJc71m7iw9NqjYNWRxHQBZD9", - "ed25519:41dEmXzDJ1i2ieyPtwi2UH3MKe1fiCv7cwAChRpoDMJJN82PA7U5EPqWKEHdb8brRhNpGVF7ktzpiM58g5fWxZJA", - "ed25519:ycGqFbLAtRfqetgyzBsL9ANww3exxuuAJ3aCaBMSxM4hQWZ4MpXzPpgk93dKNxCBEwbM3ruzGMFCqHrjNG2TDW4", - null, - "ed25519:4xRDWJ2nBzNqRMZTpAZoNb88hEk1PVoBzS9afrWYg27oKytDKPrmwhK7ecH7BosUMdmsXD3uQgEDY3icbzzZTrmw", - null, - "ed25519:2DjMYK9ePzQjpCM9xBpvL27nCZE5tNtTpSvdKbAV3eJjewDfn98xVnZqy4v24Rx5Kk6z6AKyN4UJXaYX4K4vZUcU", - "ed25519:2CE3iYEQasPiWmZo9PyBPdwJLcviFKsi9yfNmcoZcRZLmtmF5UyB5EX72gRe2H5myZ1xA3FH8Pnq6Yd8gh3nu54N", - "ed25519:2vRT4zXfHxK7pCDet992i6cFX9Yjx1ujej7ZMNRYNSWsTUSpG1UZ8Anbpc9J9thXY7sBjZBk7fniwey6YoUhZEDQ", - null, - "ed25519:5FqjPKk8aP2fVjzvvUTcm4vynsUExsRspJJfLjWTksTrapEfSpXJTDr1Hgw2UopxASQD9Y4quoxpVQB5QHpHvhvw", - null, - "ed25519:3n4MHHzLbsmmJv7VbkZeSTaftNaCQBVaKgBVUeY46S6pgo3AgFB4Y2uvRtyHA4D9za1TUzsw9iQSSYuTwz4JnKnT", - "ed25519:5yvMwexmdCZu57tNv2rDXa41wzwa9HabaT7h4SkQWjGvKPL1Lztdy1jJd4ERuKzxBHBmsE1roiHbWwCGntSGjDku", - null, - "ed25519:64812w79xfAAyq4NetnJH5D2KfMC9BNBbAW4DCZEzSJLjB8sCYr2ZfPhKBfg785uTcYVvQzTSspWgz3SYj4px2oM", - null, - null, - "ed25519:ArbWxVoNs8nPxDXdC8xkC3uiKkKUhsQJEEHJDhkyEtZc4AB9d6KTcHuRrceDsK2i6AKN3BPmgx99cJrn1TA6SLV", - null, - null, - null, - "ed25519:24LQc1kKUsvm1CLrg6S1QMrcVwpeRoU5xxG2Xm47zEfGYDp1CJcGjv7gxk85T8L7vpDDxptqhY8eTgULBoBGVR82", - "ed25519:Ck52KzEESbPSHwgs2o3v7jEXzVwK4ZuurjTxGoQfzhzbZtBFJ9F5gQAcUVVPkfwCMgPsaWXaYrPRaGTSPTvSH6h", - null, - "ed25519:G6DJteLHdkAwV2M3gf24LsXrbivyw8MF2f46Eoig22uLGd21wkjQ39L1N55qUe9Xh6aAqN8BcsFx7oKvPwS2BhY", - null, - null, - "ed25519:2J3fjrpqQVFEA11h4tCzXyZAVvup9Na378d2Z2oA5CqCA3BRA8zMwfzPVco1DpYrauQyKfm7vzHQszptFh4KpjWz", - null, - null - ], - "inner_lite": { - "block_merkle_root": "7j1kGmiNj5wUBcgrjf62z45YQ8VfgksaXnewA1n4Bso7", - "epoch_id": "FVtntZ55U96L9PvfZuZwJeVAthvhwDyVRmVEcP4VuAnf", - "height": 80063488, - "next_bp_hash": "DyMAW1zAjs51ZJJxrFHJS7xcFPMSaUconPnqcK5FQ12w", - "next_epoch_id": "2hqcAX5Qyo2tuYG3wKpw2vq8C1Q4nxyUoc6bevFaLXNv", - "outcome_root": "DYXLABYD6sgdAwjc8qBWov8j4maXvVSVQ6snmkrRkuvx", - "prev_state_root": "8QUYRV2gym5hoDUjqjiJwbrSnov2n7ojxnkGCMkLZXv6", - "timestamp": 1670356811326727000, - "timestamp_nanosec": "1670356811326726912" - }, - "inner_rest_hash": "Ga1J45SSr72snzWQZL8vjzdmBtYgr8D9xVAxLGnVMzmu", - "next_block_inner_hash": "HmDsfpHHvnqsfNYmwXKPGEJetAk1urAJoMCMuxzkAexL", - "next_bps": [ - { - "account_id": "figment.poolv1.near", - "public_key": "ed25519:7RjyY1bRKDqkshbKZtgpQdwsdxou8j9my8g1hPKZ9ngM", - "stake": "32257986456413649491790999116556", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "astro-stakers.poolv1.near", - "public_key": "ed25519:2nPSBCzjqikgwrqUMcuEVReJhmkC91eqJGPGqH9sZc28", - "stake": "24334384009308276073562397622702", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bzam6yjpnfnxsdmjf6pw.poolv1.near", - "public_key": "ed25519:2ZJqaaCAisK4u8E2i611zFfvNmrvevovnU3M7SpGHkLY", - "stake": "23424438655520624816573170065238", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zavodil.poolv1.near", - "public_key": "ed25519:HHARoU1hANWF9hu7YRstDDvgyigBhUeUuqecRVr8dpUz", - "stake": "18854821978116840889387937402710", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "binancenode1.poolv1.near", - "public_key": "ed25519:Bb7uPEocbsiQwRfPmsiiiM88DodtuYnBDi6dKZ4JZo2N", - "stake": "13929258067636717329512970898488", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "yes_protocol1.poolv1.near", - "public_key": "ed25519:4bnrmHSMYkvsgjbQSaCY3AFwrfS1w17ACEUQdn7aC4iT", - "stake": "13640913445884888345710362838401", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_yes_protocol1.poolv1.near", - "public_key": "ed25519:CVVcLtfAWj6k1DqKJwhYBQwjMQFmXzFY2NBdMxp1RqL1", - "stake": "13552818839557033611643097261086", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "aurora.pool.near", - "public_key": "ed25519:FZKXoWHFCXMrKiXjAKFdHo5g9PDom4bWMRFERBfufi2Y", - "stake": "13358479506160871232023167878080", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "epic.poolv1.near", - "public_key": "ed25519:68HExKDtw1CjGzopZ8fMAMhMSZRVKRhwLzLQmGKtFNzT", - "stake": "12865981445369312312654600996437", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stake1.poolv1.near", - "public_key": "ed25519:7EiVt9i7SmULDKEnAXBFSMzwUmZdxUYDFkP73MZuCH1h", - "stake": "11210737056048813087251357539671", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sweat_validator.poolv1.near", - "public_key": "ed25519:677kArWPFPRDgWEBHqHj6BCmEdTVBsAcjQAc75Gtyq2j", - "stake": "10873077177026107669437239489604", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dqw9k3e4422cxt92masmy.poolv1.near", - "public_key": "ed25519:EPNc2bHqRCz6TKLstNiusv9qZCRBL63zViwUAcgoZJZj", - "stake": "10218059674766646006707569733052", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "future_is_near.poolv1.near", - "public_key": "ed25519:F3vEGwYYGisaXwKJWrYgorB95DfArDby8bK5wydxD5fp", - "stake": "10180601174883965929477323473811", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "rekt.poolv1.near", - "public_key": "ed25519:FoAaUdVKEHtVokG1aVmJNou61YcfQhXmaZ5Hnfsz4fHC", - "stake": "9858759538838027646246873078197", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "valisaurus-dex.poolv1.near", - "public_key": "ed25519:CkgfrweyZmVfjDNJD3jqzLcsK1ktjvjLLDVVj87UHCAc", - "stake": "9367107680037566104477978065968", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "finoa.poolv1.near", - "public_key": "ed25519:62gxgzoie7FiK9dnWuiwM1bbuvhpceYDavK7SgdfEMJc", - "stake": "9115068621643731095599764169767", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kiln.poolv1.near", - "public_key": "ed25519:GAekByYrSuo3seuaGQx7V1ZTC3gWZY8JxZJ4aWW76LiT", - "stake": "9016069518121728610384170759520", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "blockdaemon.poolv1.near", - "public_key": "ed25519:3GNFSJiFQQ1rnR68T4eZRff2omPhg1CTewUHBJpQAdyc", - "stake": "8635584168648640765015847239638", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearcrowd.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "7058882553850402276919152093866", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "foundry.poolv1.near", - "public_key": "ed25519:5Qx8Fq3SK4Vu1sRRpf2HsNGLAqdNqgkKEebHMniLWhkW", - "stake": "6582451552146480844669263517607", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "near-fans.poolv1.near", - "public_key": "ed25519:AgV97ssnHm7qN8JhYZjwyDtuaT6Ms3Fgbw3WeAC8M3iF", - "stake": "6546702320509836180028079666295", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "d1.poolv1.near", - "public_key": "ed25519:7ZhMRwnSHGJtWjGBZiRhhSi6XyqKeNHtnEXsVTNdrsk6", - "stake": "6314544089216877986502909908059", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "anonymous.poolv1.near", - "public_key": "ed25519:Hoj7LbPwNwAkLFhf8z2aDF1BG6NDSrq1BfkdaKqPfbXx", - "stake": "6274042573662289537695244816604", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hashquark.poolv1.near", - "public_key": "ed25519:3YDdmN1vhF7yAWnYxGMHY46jcLE9h11HvEeF6Kntugeq", - "stake": "6204378114275360960528295425440", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "continue.poolv1.near", - "public_key": "ed25519:9rDZywYL3tnvzj6hnePw3MaPFPfSeSCLxBp1niTGbMaK", - "stake": "6138205295264082959051346105135", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "08investinwomen_runbybisontrails.poolv1.near", - "public_key": "ed25519:C6yqxQ3suwjmm8ufG5e3BsHiwxUs9h839FCneF41V7TM", - "stake": "5635207180633545111274285786760", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dokiacapital.poolv1.near", - "public_key": "ed25519:FGcJJeWMyx1xDbfkcPM2oMeUeGaADJuPmeqx5rjsHn7t", - "stake": "5438303358091520303508139220718", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "magic.poolv1.near", - "public_key": "ed25519:5fwufMXx9CTyLRkz7x3htQa3rFGzFZuz6d43LhCTmKCS", - "stake": "5336801214251707456164375118287", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hb436_pool.poolv1.near", - "public_key": "ed25519:7oU4C3vWqkeup7aMfjyV1ojt7yKX7ShLfvNCahBRy1eW", - "stake": "5282117475488542284396428077014", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "accomplice.poolv1.near", - "public_key": "ed25519:5ck255MtkoGQxh9LfjNtdb4M7WHkUmjU7SBJCEkZP2B7", - "stake": "5271633900410896546157621039608", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "chorusone.poolv1.near", - "public_key": "ed25519:AZwJAgu2qRxHwdpj8ioZEFGcc2jbaZGN7ZvUe7CuXtM7", - "stake": "5163500874231063343452845889131", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "electric.poolv1.near", - "public_key": "ed25519:GpSr5KAZMZ1Cb4dHMRUVhmp95y2fmWtm4dEjAr8iAva5", - "stake": "4942225402627035448872512209224", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakin.poolv1.near", - "public_key": "ed25519:85UGfKdVoxX9u86JsBMxmVHBguYonnM3vTR2WoD5GkEg", - "stake": "4891644246220287465507789818098", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "ideocolabventures.poolv1.near", - "public_key": "ed25519:6NFuvrmnJiokXibR9Z7TUHjB4NJnD1rJAHhBu9JWmBdh", - "stake": "4844552366287339175942261940799", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "openshards.poolv1.near", - "public_key": "ed25519:4Xm73PiAGMZu3mZg4gF7j96iTAFHGbPvqzxBaTgKP4ub", - "stake": "4746132209784217336884942487205", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "northernlights.poolv1.near", - "public_key": "ed25519:7HXh6iS9Rh92Uj1c5T9fPjQXPLnti4Rr2cJQcJEYpdGV", - "stake": "4566072036286297275063488233130", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearfans.poolv1.near", - "public_key": "ed25519:GM8vWM4TqTt7jh3sXYCAs2KPyn4vEmAceteBGEFYhyku", - "stake": "4460611483158159337740604959871", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptium.poolv1.near", - "public_key": "ed25519:5Y9hW8cKBb5RnsJBqttHHC5ujz5zcZZ5xnrJPwkCWmGQ", - "stake": "4148488019813410300109778452156", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandora.poolv1.near", - "public_key": "ed25519:53N7KBhSkEP6tLuQmxZV9fAK16D1C2kWnuzes8KNyS7P", - "stake": "4063239579954958708811363332596", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nc2.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "3995816018192651390232810234982", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "smart-stake.poolv1.near", - "public_key": "ed25519:A6wpkLQiYqPZ1rbd9s5S1Bg3LxccVsQqiCRDUXwzJ6Hx", - "stake": "3960805293136977853043151510161", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "p2p-org.poolv1.near", - "public_key": "ed25519:J441YAvvYvjWs3aVzjc5KLLWRzmhQTEMaymPyWFkMGeG", - "stake": "3931163626837094738037807393996", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staked.poolv1.near", - "public_key": "ed25519:3JBVXqenru2ErAM1kHQ8qfd29dCkURLd6JKrFgtmcDTZ", - "stake": "3896901066640569183661656067211", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "everstake.poolv1.near", - "public_key": "ed25519:4JLvwa1r2eAxHLyKeDJnpqMG5f2Z9rr49rwuTwb9g8u2", - "stake": "3815219543216368683410344262407", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bisontrails.poolv1.near", - "public_key": "ed25519:Emk6wQJtpQZRJCvvPmmwP9GD2Pk37xxRpmb5uRvJpX62", - "stake": "3443302224350226883665151944180", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakesabai.poolv1.near", - "public_key": "ed25519:6abauNvvWnEkagjVpWRy2tZJdzPkmqurUjteMTKk5KQF", - "stake": "3419535588859656859734563095828", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "buildlinks.poolv1.near", - "public_key": "ed25519:Hd3irGt4zEqRPAzcFszX3oTkVWRFFxdecDvShCJSS1Wg", - "stake": "3352161789132043699205436666725", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sharpdarts.poolv1.near", - "public_key": "ed25519:9XMHXqv7rM3QQxzjUu7dfKD7GhMkq8CEceaPdkhiBQUX", - "stake": "3188112308382354700193815367019", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "erm.poolv1.near", - "public_key": "ed25519:88nnN6LAuCbJaj9wucd1WUMfTtdv2s3njpvozHft8oQ5", - "stake": "3069396420224205891091479447609", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_00.poolv1.near", - "public_key": "ed25519:62c41nzrrZAspLnPBC2A112PXBhJuj1cGkVE3ANwbzat", - "stake": "3063619626978059342196117038534", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_01.poolv1.near", - "public_key": "ed25519:3LqCGkM3uLjQjPmd3yVyaEnceinEL4cBfUm9vp5hJRTJ", - "stake": "3050016187020835100682499755741", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dsrvlabs.poolv1.near", - "public_key": "ed25519:9SACdsDDgXA2WZLfJvpkKbu22Exxtc4CMbeHmVnN2P4a", - "stake": "2980879314353252979744283330411", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "brea.poolv1.near", - "public_key": "ed25519:8dce49J5G28yMGRcSiDnYNFh7GBSma8TmYaw5mGTSH1Z", - "stake": "2965138144955048122783832735582", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lux.poolv1.near", - "public_key": "ed25519:HzTGTDfTz63QGvvUdMGozFeaENFGyYAoSrqYJb23qZFN", - "stake": "2920151515358051759173430032220", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nodeasy.poolv1.near", - "public_key": "ed25519:8mjespqqUePSYSsxYxPqCUsZUuMxVJr1vjBRwFeCke5K", - "stake": "2919530862065146932117602412733", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lunanova.poolv1.near", - "public_key": "ed25519:qkfP4NsSuHybdLhdvvYQ2Y9xWPsd249thEvrzbJBKNc", - "stake": "2790543186237193316135735192208", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "republic.poolv1.near", - "public_key": "ed25519:5sT6xtwxvLARW6y3KURYmyFd5SokJFhiK4jyqbamzzZ6", - "stake": "2785961595930990231400015188226", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zkv_staketosupportprivacy.poolv1.near", - "public_key": "ed25519:2kAo86DW8mDaLDg37rFhQY8UYSZVq1CtegUHBEDvpSMA", - "stake": "2624752103850663324645446163879", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "baziliknear.poolv1.near", - "public_key": "ed25519:E4LAWdgLifBEoaWvhRNy5vpdAnUc3GsUHePeiAurZY5v", - "stake": "2620529952874151827325508343552", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stardust.poolv1.near", - "public_key": "ed25519:6rxCJpTnrT6NFuGg6d5Dj3FEUz1ScNU9u35ywB3dYhrX", - "stake": "2449664877869716504194184939645", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fish.poolv1.near", - "public_key": "ed25519:27KegJd17HeXHk9h5MqkT35QAuvYvo5GFgPTpSVU4kPN", - "stake": "2316969636649242627176934077532", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "masternode24.poolv1.near", - "public_key": "ed25519:5ZyaXsGCya4Sch5bqUfohvo7iRFYB9ancRouggWRsiDU", - "stake": "2052154790910748653973281971494", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "moonlet.poolv1.near", - "public_key": "ed25519:GkDwzPckMfhkdYgyFG69Uph8RJ12BcV9xNeZW2q93ZJD", - "stake": "1977859469242822826064391906047", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fresh.poolv1.near", - "public_key": "ed25519:6YHLXhohY8kMnkp5Jw4HrJ52xtdyt1rcP6AaWkKzh3ED", - "stake": "1916867114475210839958727607067", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "inotel.poolv1.near", - "public_key": "ed25519:DmEDRntb9NwfbfdvDf6wzjsw1vxzQcJAAhFL2J75iLwr", - "stake": "1855780300734256909448623607634", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "qbit.poolv1.near", - "public_key": "ed25519:5DqZLnDu6PMEyhJzc5NhiMsoWeYMWG1bC4AULyafoXMv", - "stake": "1699975493093528714207455186853", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "appload.poolv1.near", - "public_key": "ed25519:6LbMVL6otkvZbpuC9sN3z7EXSMo3PT9noPeBdBZTFneM", - "stake": "1678804611377961386514661472559", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "01node.poolv1.near", - "public_key": "ed25519:5xz7EbcnPqabwoFezdJBxieK8S7XLsdHHuLwM4vLLhFt", - "stake": "1638079928739793055992593772223", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "jazza.poolv1.near", - "public_key": "ed25519:EW66Fkv7XcE9FiybuYtVURjHhYeEgwWWpzF685Vi7foY", - "stake": "1536651395184701171834851876051", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "satori.poolv1.near", - "public_key": "ed25519:9r8HYmw8mbys2Ng9BaKeQqZnaQTGCcBUbMatV5NeeWJj", - "stake": "1508032601004807670453646748509", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "avado.poolv1.near", - "public_key": "ed25519:FdLWsf42e3Sc7bdKMtxJMgWRP21ysZDSXFnS2vTwTaaA", - "stake": "1246944333440722907729097817107", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "allnodes.poolv1.near", - "public_key": "ed25519:AGEeyukQdMtg8EttsU39YLgryhao8yQeVwQTut5bbWdL", - "stake": "1184067093730481144453713363019", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nonli-near.poolv1.near", - "public_key": "ed25519:91jusDFxjY32h51tfq2HoKhoPbGs66s88t1v2oZPBSxC", - "stake": "1161530288663084053488660571010", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_sp2.poolv1.near", - "public_key": "ed25519:CS4uHAipvtxGz9irnoCX7SxT6d8zKpDj8Y3Fyf2zVgBp", - "stake": "1159641739692279476848230978012", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galactic.poolv1.near", - "public_key": "ed25519:GFK83N32DbERtFg8rkpfNBsKtkFpmNQzyKFM9kJvPCMG", - "stake": "1128117273637940779072056531991", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandateam.poolv1.near", - "public_key": "ed25519:Cu83NRziNLiT6HLu9kJ8svFoftZQ9wVmjScxjqCybppt", - "stake": "1057824516979925655582574347052", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_opp_disc.poolv1.near", - "public_key": "ed25519:8XbCfLQVSwtwaBajvByG87CxPPbaFdryz5qEkde1fSGv", - "stake": "1014096038258428853681227827386", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bridgetower_v1.poolv1.near", - "public_key": "ed25519:AHgnnt8yhNBpoZChBiHXfjaH6X2zMZaDDXmmSWHvDcWL", - "stake": "1010271304536959044398795699432", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dexagon.poolv1.near", - "public_key": "ed25519:AQHwptR3Ho348BpFXJDjkxpWMW5ZwN7xWM3XWAWSEEgs", - "stake": "950074095017602599588618780484", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bitcoinsuisse.poolv1.near", - "public_key": "ed25519:Cy2sboVqjDk6d3d2A2AJZBdFvokjk7sjZpYATLjcQSCj", - "stake": "879045677880059378590838172527", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pathrocknetwork.poolv1.near", - "public_key": "ed25519:2iJQLVXubWafG7K1NzGVvjP54UJCgVg3cuPMktw8r7uQ", - "stake": "815602440910708703707931751046", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptogarik.poolv1.near", - "public_key": "ed25519:45zFAC8pLgwn1d5pSBpBHesWbzngfRgd92zaom7K8m8j", - "stake": "715876716170229031993526385014", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "prophet.poolv1.near", - "public_key": "ed25519:BV5b4DpgCUy1TEitE4TVPhpTY7uDNpHc8DBPyH6cYCBq", - "stake": "696916468147520491200308841726", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptoblossom.poolv1.near", - "public_key": "ed25519:5opTNJEkCBYuyMgAghY2Sxp4bBtXYQtbEvZ3Wc5Awohb", - "stake": "673136982741522107122623272521", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking-power.poolv1.near", - "public_key": "ed25519:42ikqyV1BYmSnhHJ9EsLLy9kgeAg1mC3qqU1AJGaTEaW", - "stake": "672249240710119816591199060717", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "legends.poolv1.near", - "public_key": "ed25519:DNK46DeHKeJPF9YetmNxZnqtpkeLjdUb9ezSRCue3TpB", - "stake": "644156711530129725493960599883", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "optimusvalidatornetwork.poolv1.near", - "public_key": "ed25519:C3CJMKaWdEzkqyNCKwnKud6wDNnzs7Ura63k16zm4LUU", - "stake": "643592962137512029579800234277", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "infiniteloop.poolv1.near", - "public_key": "ed25519:9BUwtDegzwKcmJBjLgUDLHc3pePgPKcWJXYGcZb33Nyr", - "stake": "638817655687754414898421153070", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "steak.poolv1.near", - "public_key": "ed25519:3tZG4QgzWpTKt2dChqZVUTBvF35pvG7BHyyJULF8VXQc", - "stake": "633640680895163351225718640996", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "usn-unofficial.pool.near", - "public_key": "ed25519:9vdrbg4MDfZyknYeRzUbL1juK5aMm7xWs6nukUZQpY3b", - "stake": "590997130390870683598535574433", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakely_io.poolv1.near", - "public_key": "ed25519:HWp9E3gP91s25ddMS9xUWuzbJUpVGiPoitu5bT6hqMHs", - "stake": "563419127984975480610723773672", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dragonfly.poolv1.near", - "public_key": "ed25519:6Gj8MRp9KqfdiXa35LJcZnqeBNNEZoYk6ysvpzHaruvq", - "stake": "563204429213992793006838703912", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lionstake.poolv1.near", - "public_key": "ed25519:8kciZQy815tZooy7HPJkBq2cyEw9L7fbsWcmWLgwG4m3", - "stake": "524508574877933527248887975319", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "atomic-nodes.poolv1.near", - "public_key": "ed25519:CpVAHE3JpfDoEPqjBDgYEjgG8JhM5BFKbjUD2N1EuvAL", - "stake": "472098604307199949441584210761", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galaxydigital.poolv1.near", - "public_key": "ed25519:8ZD8CcSzSfVsYo7XyABHJsYcrpBE3EL5MwukoEfrNYMR", - "stake": "446893123121747174466162178790", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearua.poolv1.near", - "public_key": "ed25519:6YRLTm4coawMYrchYs1ex5BLY7xtnPrnvGWgk6NJAQvy", - "stake": "441574049756143783252476293872", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "synclub.poolv1.near", - "public_key": "ed25519:4888ehXrQvgtVRTc9rTNnk21wGKHwgi7jrhdUdyqSAtG", - "stake": "436078312010200531778386196578", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kosmos_and_p2p.poolv1.near", - "public_key": "ed25519:41GWxdQHe4Y2fuisvz5k5G2NwDFEavRkisoZkB5tfJuC", - "stake": "427036196273544359590911255693", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "vortex_live.poolv1.near", - "public_key": "ed25519:GrPW17VhMVLi15JohsM2ag2GpcqpQuJNm3Hf6vPYXRYZ", - "stake": "413668930433444338701271164601", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "grassets.poolv1.near", - "public_key": "ed25519:GS8uhr7mhsBWB5c1JgvsJzpwZDGrcnB9Xnw7YRyMSQP5", - "stake": "406728275538093246052810881551", - "validator_stake_struct_version": "V1" - } - ], - "prev_block_hash": "A9f1dwUE7wUDXhkvzPvVhemGxbyhPFR3Tv8aeS1RaNtw" - } - } - }, - { - "description": "Mainnet Block 80063488", - "expected": { - "is_valid": true - }, - "params": { - "previous_block": { - "prev_block_hash": "A9f1dwUE7wUDXhkvzPvVhemGxbyhPFR3Tv8aeS1RaNtw", - "inner_rest_hash": "Ga1J45SSr72snzWQZL8vjzdmBtYgr8D9xVAxLGnVMzmu", - "inner_lite": { - "block_merkle_root": "7j1kGmiNj5wUBcgrjf62z45YQ8VfgksaXnewA1n4Bso7", - "epoch_id": "FVtntZ55U96L9PvfZuZwJeVAthvhwDyVRmVEcP4VuAnf", - "height": 80063488, - "next_bp_hash": "DyMAW1zAjs51ZJJxrFHJS7xcFPMSaUconPnqcK5FQ12w", - "next_epoch_id": "2hqcAX5Qyo2tuYG3wKpw2vq8C1Q4nxyUoc6bevFaLXNv", - "outcome_root": "DYXLABYD6sgdAwjc8qBWov8j4maXvVSVQ6snmkrRkuvx", - "prev_state_root": "8QUYRV2gym5hoDUjqjiJwbrSnov2n7ojxnkGCMkLZXv6", - "timestamp": 1670356811326727000, - "timestamp_nanosec": "1670356811326726912" - } - }, - "current_bps": [ - { - "account_id": "figment.poolv1.near", - "public_key": "ed25519:7RjyY1bRKDqkshbKZtgpQdwsdxou8j9my8g1hPKZ9ngM", - "stake": "32257986456413649491790999116556", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "astro-stakers.poolv1.near", - "public_key": "ed25519:2nPSBCzjqikgwrqUMcuEVReJhmkC91eqJGPGqH9sZc28", - "stake": "24334384009308276073562397622702", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bzam6yjpnfnxsdmjf6pw.poolv1.near", - "public_key": "ed25519:2ZJqaaCAisK4u8E2i611zFfvNmrvevovnU3M7SpGHkLY", - "stake": "23424438655520624816573170065238", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zavodil.poolv1.near", - "public_key": "ed25519:HHARoU1hANWF9hu7YRstDDvgyigBhUeUuqecRVr8dpUz", - "stake": "18854821978116840889387937402710", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "binancenode1.poolv1.near", - "public_key": "ed25519:Bb7uPEocbsiQwRfPmsiiiM88DodtuYnBDi6dKZ4JZo2N", - "stake": "13929258067636717329512970898488", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "yes_protocol1.poolv1.near", - "public_key": "ed25519:4bnrmHSMYkvsgjbQSaCY3AFwrfS1w17ACEUQdn7aC4iT", - "stake": "13640913445884888345710362838401", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_yes_protocol1.poolv1.near", - "public_key": "ed25519:CVVcLtfAWj6k1DqKJwhYBQwjMQFmXzFY2NBdMxp1RqL1", - "stake": "13552818839557033611643097261086", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "aurora.pool.near", - "public_key": "ed25519:FZKXoWHFCXMrKiXjAKFdHo5g9PDom4bWMRFERBfufi2Y", - "stake": "13358479506160871232023167878080", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "epic.poolv1.near", - "public_key": "ed25519:68HExKDtw1CjGzopZ8fMAMhMSZRVKRhwLzLQmGKtFNzT", - "stake": "12865981445369312312654600996437", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stake1.poolv1.near", - "public_key": "ed25519:7EiVt9i7SmULDKEnAXBFSMzwUmZdxUYDFkP73MZuCH1h", - "stake": "11210737056048813087251357539671", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sweat_validator.poolv1.near", - "public_key": "ed25519:677kArWPFPRDgWEBHqHj6BCmEdTVBsAcjQAc75Gtyq2j", - "stake": "10873077177026107669437239489604", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dqw9k3e4422cxt92masmy.poolv1.near", - "public_key": "ed25519:EPNc2bHqRCz6TKLstNiusv9qZCRBL63zViwUAcgoZJZj", - "stake": "10218059674766646006707569733052", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "future_is_near.poolv1.near", - "public_key": "ed25519:F3vEGwYYGisaXwKJWrYgorB95DfArDby8bK5wydxD5fp", - "stake": "10180601174883965929477323473811", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "rekt.poolv1.near", - "public_key": "ed25519:FoAaUdVKEHtVokG1aVmJNou61YcfQhXmaZ5Hnfsz4fHC", - "stake": "9858759538838027646246873078197", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "valisaurus-dex.poolv1.near", - "public_key": "ed25519:CkgfrweyZmVfjDNJD3jqzLcsK1ktjvjLLDVVj87UHCAc", - "stake": "9367107680037566104477978065968", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "finoa.poolv1.near", - "public_key": "ed25519:62gxgzoie7FiK9dnWuiwM1bbuvhpceYDavK7SgdfEMJc", - "stake": "9115068621643731095599764169767", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kiln.poolv1.near", - "public_key": "ed25519:GAekByYrSuo3seuaGQx7V1ZTC3gWZY8JxZJ4aWW76LiT", - "stake": "9016069518121728610384170759520", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "blockdaemon.poolv1.near", - "public_key": "ed25519:3GNFSJiFQQ1rnR68T4eZRff2omPhg1CTewUHBJpQAdyc", - "stake": "8635584168648640765015847239638", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearcrowd.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "7058882553850402276919152093866", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "foundry.poolv1.near", - "public_key": "ed25519:5Qx8Fq3SK4Vu1sRRpf2HsNGLAqdNqgkKEebHMniLWhkW", - "stake": "6582451552146480844669263517607", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "near-fans.poolv1.near", - "public_key": "ed25519:AgV97ssnHm7qN8JhYZjwyDtuaT6Ms3Fgbw3WeAC8M3iF", - "stake": "6546702320509836180028079666295", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "d1.poolv1.near", - "public_key": "ed25519:7ZhMRwnSHGJtWjGBZiRhhSi6XyqKeNHtnEXsVTNdrsk6", - "stake": "6314544089216877986502909908059", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "anonymous.poolv1.near", - "public_key": "ed25519:Hoj7LbPwNwAkLFhf8z2aDF1BG6NDSrq1BfkdaKqPfbXx", - "stake": "6274042573662289537695244816604", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hashquark.poolv1.near", - "public_key": "ed25519:3YDdmN1vhF7yAWnYxGMHY46jcLE9h11HvEeF6Kntugeq", - "stake": "6204378114275360960528295425440", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "continue.poolv1.near", - "public_key": "ed25519:9rDZywYL3tnvzj6hnePw3MaPFPfSeSCLxBp1niTGbMaK", - "stake": "6138205295264082959051346105135", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "08investinwomen_runbybisontrails.poolv1.near", - "public_key": "ed25519:C6yqxQ3suwjmm8ufG5e3BsHiwxUs9h839FCneF41V7TM", - "stake": "5635207180633545111274285786760", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dokiacapital.poolv1.near", - "public_key": "ed25519:FGcJJeWMyx1xDbfkcPM2oMeUeGaADJuPmeqx5rjsHn7t", - "stake": "5438303358091520303508139220718", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "magic.poolv1.near", - "public_key": "ed25519:5fwufMXx9CTyLRkz7x3htQa3rFGzFZuz6d43LhCTmKCS", - "stake": "5336801214251707456164375118287", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hb436_pool.poolv1.near", - "public_key": "ed25519:7oU4C3vWqkeup7aMfjyV1ojt7yKX7ShLfvNCahBRy1eW", - "stake": "5282117475488542284396428077014", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "accomplice.poolv1.near", - "public_key": "ed25519:5ck255MtkoGQxh9LfjNtdb4M7WHkUmjU7SBJCEkZP2B7", - "stake": "5271633900410896546157621039608", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "chorusone.poolv1.near", - "public_key": "ed25519:AZwJAgu2qRxHwdpj8ioZEFGcc2jbaZGN7ZvUe7CuXtM7", - "stake": "5163500874231063343452845889131", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "electric.poolv1.near", - "public_key": "ed25519:GpSr5KAZMZ1Cb4dHMRUVhmp95y2fmWtm4dEjAr8iAva5", - "stake": "4942225402627035448872512209224", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakin.poolv1.near", - "public_key": "ed25519:85UGfKdVoxX9u86JsBMxmVHBguYonnM3vTR2WoD5GkEg", - "stake": "4891644246220287465507789818098", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "ideocolabventures.poolv1.near", - "public_key": "ed25519:6NFuvrmnJiokXibR9Z7TUHjB4NJnD1rJAHhBu9JWmBdh", - "stake": "4844552366287339175942261940799", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "openshards.poolv1.near", - "public_key": "ed25519:4Xm73PiAGMZu3mZg4gF7j96iTAFHGbPvqzxBaTgKP4ub", - "stake": "4746132209784217336884942487205", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "northernlights.poolv1.near", - "public_key": "ed25519:7HXh6iS9Rh92Uj1c5T9fPjQXPLnti4Rr2cJQcJEYpdGV", - "stake": "4566072036286297275063488233130", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearfans.poolv1.near", - "public_key": "ed25519:GM8vWM4TqTt7jh3sXYCAs2KPyn4vEmAceteBGEFYhyku", - "stake": "4460611483158159337740604959871", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptium.poolv1.near", - "public_key": "ed25519:5Y9hW8cKBb5RnsJBqttHHC5ujz5zcZZ5xnrJPwkCWmGQ", - "stake": "4148488019813410300109778452156", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandora.poolv1.near", - "public_key": "ed25519:53N7KBhSkEP6tLuQmxZV9fAK16D1C2kWnuzes8KNyS7P", - "stake": "4063239579954958708811363332596", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nc2.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "3995816018192651390232810234982", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "smart-stake.poolv1.near", - "public_key": "ed25519:A6wpkLQiYqPZ1rbd9s5S1Bg3LxccVsQqiCRDUXwzJ6Hx", - "stake": "3960805293136977853043151510161", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "p2p-org.poolv1.near", - "public_key": "ed25519:J441YAvvYvjWs3aVzjc5KLLWRzmhQTEMaymPyWFkMGeG", - "stake": "3931163626837094738037807393996", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staked.poolv1.near", - "public_key": "ed25519:3JBVXqenru2ErAM1kHQ8qfd29dCkURLd6JKrFgtmcDTZ", - "stake": "3896901066640569183661656067211", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "everstake.poolv1.near", - "public_key": "ed25519:4JLvwa1r2eAxHLyKeDJnpqMG5f2Z9rr49rwuTwb9g8u2", - "stake": "3815219543216368683410344262407", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bisontrails.poolv1.near", - "public_key": "ed25519:Emk6wQJtpQZRJCvvPmmwP9GD2Pk37xxRpmb5uRvJpX62", - "stake": "3443302224350226883665151944180", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakesabai.poolv1.near", - "public_key": "ed25519:6abauNvvWnEkagjVpWRy2tZJdzPkmqurUjteMTKk5KQF", - "stake": "3419535588859656859734563095828", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "buildlinks.poolv1.near", - "public_key": "ed25519:Hd3irGt4zEqRPAzcFszX3oTkVWRFFxdecDvShCJSS1Wg", - "stake": "3352161789132043699205436666725", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sharpdarts.poolv1.near", - "public_key": "ed25519:9XMHXqv7rM3QQxzjUu7dfKD7GhMkq8CEceaPdkhiBQUX", - "stake": "3188112308382354700193815367019", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "erm.poolv1.near", - "public_key": "ed25519:88nnN6LAuCbJaj9wucd1WUMfTtdv2s3njpvozHft8oQ5", - "stake": "3069396420224205891091479447609", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_00.poolv1.near", - "public_key": "ed25519:62c41nzrrZAspLnPBC2A112PXBhJuj1cGkVE3ANwbzat", - "stake": "3063619626978059342196117038534", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_01.poolv1.near", - "public_key": "ed25519:3LqCGkM3uLjQjPmd3yVyaEnceinEL4cBfUm9vp5hJRTJ", - "stake": "3050016187020835100682499755741", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dsrvlabs.poolv1.near", - "public_key": "ed25519:9SACdsDDgXA2WZLfJvpkKbu22Exxtc4CMbeHmVnN2P4a", - "stake": "2980879314353252979744283330411", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "brea.poolv1.near", - "public_key": "ed25519:8dce49J5G28yMGRcSiDnYNFh7GBSma8TmYaw5mGTSH1Z", - "stake": "2965138144955048122783832735582", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lux.poolv1.near", - "public_key": "ed25519:HzTGTDfTz63QGvvUdMGozFeaENFGyYAoSrqYJb23qZFN", - "stake": "2920151515358051759173430032220", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nodeasy.poolv1.near", - "public_key": "ed25519:8mjespqqUePSYSsxYxPqCUsZUuMxVJr1vjBRwFeCke5K", - "stake": "2919530862065146932117602412733", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lunanova.poolv1.near", - "public_key": "ed25519:qkfP4NsSuHybdLhdvvYQ2Y9xWPsd249thEvrzbJBKNc", - "stake": "2790543186237193316135735192208", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "republic.poolv1.near", - "public_key": "ed25519:5sT6xtwxvLARW6y3KURYmyFd5SokJFhiK4jyqbamzzZ6", - "stake": "2785961595930990231400015188226", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zkv_staketosupportprivacy.poolv1.near", - "public_key": "ed25519:2kAo86DW8mDaLDg37rFhQY8UYSZVq1CtegUHBEDvpSMA", - "stake": "2624752103850663324645446163879", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "baziliknear.poolv1.near", - "public_key": "ed25519:E4LAWdgLifBEoaWvhRNy5vpdAnUc3GsUHePeiAurZY5v", - "stake": "2620529952874151827325508343552", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stardust.poolv1.near", - "public_key": "ed25519:6rxCJpTnrT6NFuGg6d5Dj3FEUz1ScNU9u35ywB3dYhrX", - "stake": "2449664877869716504194184939645", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fish.poolv1.near", - "public_key": "ed25519:27KegJd17HeXHk9h5MqkT35QAuvYvo5GFgPTpSVU4kPN", - "stake": "2316969636649242627176934077532", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "masternode24.poolv1.near", - "public_key": "ed25519:5ZyaXsGCya4Sch5bqUfohvo7iRFYB9ancRouggWRsiDU", - "stake": "2052154790910748653973281971494", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "moonlet.poolv1.near", - "public_key": "ed25519:GkDwzPckMfhkdYgyFG69Uph8RJ12BcV9xNeZW2q93ZJD", - "stake": "1977859469242822826064391906047", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fresh.poolv1.near", - "public_key": "ed25519:6YHLXhohY8kMnkp5Jw4HrJ52xtdyt1rcP6AaWkKzh3ED", - "stake": "1916867114475210839958727607067", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "inotel.poolv1.near", - "public_key": "ed25519:DmEDRntb9NwfbfdvDf6wzjsw1vxzQcJAAhFL2J75iLwr", - "stake": "1855780300734256909448623607634", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "qbit.poolv1.near", - "public_key": "ed25519:5DqZLnDu6PMEyhJzc5NhiMsoWeYMWG1bC4AULyafoXMv", - "stake": "1699975493093528714207455186853", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "appload.poolv1.near", - "public_key": "ed25519:6LbMVL6otkvZbpuC9sN3z7EXSMo3PT9noPeBdBZTFneM", - "stake": "1678804611377961386514661472559", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "01node.poolv1.near", - "public_key": "ed25519:5xz7EbcnPqabwoFezdJBxieK8S7XLsdHHuLwM4vLLhFt", - "stake": "1638079928739793055992593772223", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "jazza.poolv1.near", - "public_key": "ed25519:EW66Fkv7XcE9FiybuYtVURjHhYeEgwWWpzF685Vi7foY", - "stake": "1536651395184701171834851876051", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "satori.poolv1.near", - "public_key": "ed25519:9r8HYmw8mbys2Ng9BaKeQqZnaQTGCcBUbMatV5NeeWJj", - "stake": "1508032601004807670453646748509", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "avado.poolv1.near", - "public_key": "ed25519:FdLWsf42e3Sc7bdKMtxJMgWRP21ysZDSXFnS2vTwTaaA", - "stake": "1246944333440722907729097817107", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "allnodes.poolv1.near", - "public_key": "ed25519:AGEeyukQdMtg8EttsU39YLgryhao8yQeVwQTut5bbWdL", - "stake": "1184067093730481144453713363019", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nonli-near.poolv1.near", - "public_key": "ed25519:91jusDFxjY32h51tfq2HoKhoPbGs66s88t1v2oZPBSxC", - "stake": "1161530288663084053488660571010", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_sp2.poolv1.near", - "public_key": "ed25519:CS4uHAipvtxGz9irnoCX7SxT6d8zKpDj8Y3Fyf2zVgBp", - "stake": "1159641739692279476848230978012", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galactic.poolv1.near", - "public_key": "ed25519:GFK83N32DbERtFg8rkpfNBsKtkFpmNQzyKFM9kJvPCMG", - "stake": "1128117273637940779072056531991", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandateam.poolv1.near", - "public_key": "ed25519:Cu83NRziNLiT6HLu9kJ8svFoftZQ9wVmjScxjqCybppt", - "stake": "1057824516979925655582574347052", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_opp_disc.poolv1.near", - "public_key": "ed25519:8XbCfLQVSwtwaBajvByG87CxPPbaFdryz5qEkde1fSGv", - "stake": "1014096038258428853681227827386", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bridgetower_v1.poolv1.near", - "public_key": "ed25519:AHgnnt8yhNBpoZChBiHXfjaH6X2zMZaDDXmmSWHvDcWL", - "stake": "1010271304536959044398795699432", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dexagon.poolv1.near", - "public_key": "ed25519:AQHwptR3Ho348BpFXJDjkxpWMW5ZwN7xWM3XWAWSEEgs", - "stake": "950074095017602599588618780484", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bitcoinsuisse.poolv1.near", - "public_key": "ed25519:Cy2sboVqjDk6d3d2A2AJZBdFvokjk7sjZpYATLjcQSCj", - "stake": "879045677880059378590838172527", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pathrocknetwork.poolv1.near", - "public_key": "ed25519:2iJQLVXubWafG7K1NzGVvjP54UJCgVg3cuPMktw8r7uQ", - "stake": "815602440910708703707931751046", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptogarik.poolv1.near", - "public_key": "ed25519:45zFAC8pLgwn1d5pSBpBHesWbzngfRgd92zaom7K8m8j", - "stake": "715876716170229031993526385014", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "prophet.poolv1.near", - "public_key": "ed25519:BV5b4DpgCUy1TEitE4TVPhpTY7uDNpHc8DBPyH6cYCBq", - "stake": "696916468147520491200308841726", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptoblossom.poolv1.near", - "public_key": "ed25519:5opTNJEkCBYuyMgAghY2Sxp4bBtXYQtbEvZ3Wc5Awohb", - "stake": "673136982741522107122623272521", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking-power.poolv1.near", - "public_key": "ed25519:42ikqyV1BYmSnhHJ9EsLLy9kgeAg1mC3qqU1AJGaTEaW", - "stake": "672249240710119816591199060717", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "legends.poolv1.near", - "public_key": "ed25519:DNK46DeHKeJPF9YetmNxZnqtpkeLjdUb9ezSRCue3TpB", - "stake": "644156711530129725493960599883", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "optimusvalidatornetwork.poolv1.near", - "public_key": "ed25519:C3CJMKaWdEzkqyNCKwnKud6wDNnzs7Ura63k16zm4LUU", - "stake": "643592962137512029579800234277", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "infiniteloop.poolv1.near", - "public_key": "ed25519:9BUwtDegzwKcmJBjLgUDLHc3pePgPKcWJXYGcZb33Nyr", - "stake": "638817655687754414898421153070", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "steak.poolv1.near", - "public_key": "ed25519:3tZG4QgzWpTKt2dChqZVUTBvF35pvG7BHyyJULF8VXQc", - "stake": "633640680895163351225718640996", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "usn-unofficial.pool.near", - "public_key": "ed25519:9vdrbg4MDfZyknYeRzUbL1juK5aMm7xWs6nukUZQpY3b", - "stake": "590997130390870683598535574433", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakely_io.poolv1.near", - "public_key": "ed25519:HWp9E3gP91s25ddMS9xUWuzbJUpVGiPoitu5bT6hqMHs", - "stake": "563419127984975480610723773672", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dragonfly.poolv1.near", - "public_key": "ed25519:6Gj8MRp9KqfdiXa35LJcZnqeBNNEZoYk6ysvpzHaruvq", - "stake": "563204429213992793006838703912", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lionstake.poolv1.near", - "public_key": "ed25519:8kciZQy815tZooy7HPJkBq2cyEw9L7fbsWcmWLgwG4m3", - "stake": "524508574877933527248887975319", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "atomic-nodes.poolv1.near", - "public_key": "ed25519:CpVAHE3JpfDoEPqjBDgYEjgG8JhM5BFKbjUD2N1EuvAL", - "stake": "472098604307199949441584210761", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galaxydigital.poolv1.near", - "public_key": "ed25519:8ZD8CcSzSfVsYo7XyABHJsYcrpBE3EL5MwukoEfrNYMR", - "stake": "446893123121747174466162178790", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearua.poolv1.near", - "public_key": "ed25519:6YRLTm4coawMYrchYs1ex5BLY7xtnPrnvGWgk6NJAQvy", - "stake": "441574049756143783252476293872", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "synclub.poolv1.near", - "public_key": "ed25519:4888ehXrQvgtVRTc9rTNnk21wGKHwgi7jrhdUdyqSAtG", - "stake": "436078312010200531778386196578", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kosmos_and_p2p.poolv1.near", - "public_key": "ed25519:41GWxdQHe4Y2fuisvz5k5G2NwDFEavRkisoZkB5tfJuC", - "stake": "427036196273544359590911255693", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "vortex_live.poolv1.near", - "public_key": "ed25519:GrPW17VhMVLi15JohsM2ag2GpcqpQuJNm3Hf6vPYXRYZ", - "stake": "413668930433444338701271164601", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "grassets.poolv1.near", - "public_key": "ed25519:GS8uhr7mhsBWB5c1JgvsJzpwZDGrcnB9Xnw7YRyMSQP5", - "stake": "406728275538093246052810881551", - "validator_stake_struct_version": "V1" - } - ], - "new_block": { - "approvals_after_next": [ - "ed25519:2uEwy2v1xQ7o4L5tdP5yqsrjc8Lr2WTawhk1Ad9HhmzqdaCkd9Y7hQYz9bQx6uG4kwGdjxcst9VarUuwxx3PbGWd", - null, - null, - null, - "ed25519:4hhErF8tvAZhia3Ew3EchafKH5wnesnh4ehVF3rFX8k3UrZWR37WcE8ZW57j6vrRrVYro4HgWKnwLY4rsU614KUD", - "ed25519:5jRbs4uzQpFeRAP5cRdSRxtRtdr6fs37GpVmAi7vgEYKscu1cGcULZuXnX1puJskYhVrHgBiqX5wG4dJVs1nS18u", - null, - "ed25519:92bimPc8ghy8iiAvRk7V7GH4KbMUMxrwzqbQjz1LZpimZP1XYJ4GHZzekYNTfau1hmXMyBqZunxim5LzakT37W8", - "ed25519:BvFVSZpWgqwMiWgtBeMNgQ9K1BP7rAX3NugT5AiugqTuZU8p9znBT4csbDWkpRHwKAT1z2gEk54iuH7nMN1UJfw", - "ed25519:4Ku5Y79b9QkJPu9saZ8NigN94UcSZodiNdLJgnEaGqb3wXQfJQPCzskMVzS4jN9ZK546UeCUEBojhKwienw9xqfN", - "ed25519:8sVvcgDzv6TrLP6oVsWRbKwJb9zD1Ztdz5ch9ofpVRXLDi6MTKDWCRFoArtUsF6c27WcGKrPZmyZvHSEHaUvwQb", - "ed25519:5xhpMuqt87x96JpWEpGr9RHjJg7LepYsgdhvYJnfFPARV4BicDvCyMUBEqn34HMMRU5uA2SC5wKRKtEv5or32azP", - "ed25519:4udf5ugCx4mYesmnKLXDrPQhoTJpN7XSTRXLzU5McqqC5SboGVSg9pEnVXsMUbi8D5fHPE6dA3FDzGSjiSwogEfa", - null, - "ed25519:JRsswb3qzbrwUVpBjEMu5V2p9K323RrMKwgDzGELdxxDEJPrX8Tx1NC52YBKaNW8BsebV8nc8o3SewNycBpQ5Xc", - null, - null, - "ed25519:5GEa8Wih1jL8Tz9jmJh5zLNRYq7ejpjgpx4Ssodwg5sCEvR5ha91ZqLfpGCbHM7M8qL81DXJGsHbPLoAEp8VAyh", - "ed25519:4m9LhqdXEGG1n1iA16qfLiewuU8yiuLBy4fGXFHvUat9YefUJ5spSgLiSRGueJ5JZZmsTiQ2BdL2VeMRMJkqP4Th", - null, - "ed25519:3ba6sCbsR3WWWAqtSdMeqNftraT8X312JQhSvEyGrEmppCoCrq6h47op9pa5MDARnSBfgcwZx3pGiV917LkNWWeM", - "ed25519:4sz79U3RjPNDJZhsT93pNG66FBs3XdKXkaPXtZ37UCsmQ12mxuubHVKVgb9jz9wmMxD347vTLcr9pqh2xfKsYbY1", - "ed25519:3vDeRB4816pvP5tRkVHkphNo5pYoxz1LBb1nsmtDtocbon6C1XvtgmwKjbH9JTgcsD1nCV9sKyo5ixpAs7PUjipU", - "ed25519:3csKUevdLmoYRjuWcLVThcRKGpKTB7zMFo4osCYPq4DSMZ54VTTyvAaVm5JvUgftxyRFZZXRVGLbLhRXHRyzFxem", - "ed25519:2uXFdn18f8YuCHG28SgvVGEu8UCzxybb6PfJj5Vb7Mup1EQRUBM6j2B2WLCpb2brd6b5oWrNaEJ14DMnE2qdtebi", - "ed25519:4KBCQa98wZF98buMEZfUcoNJzdrXasfyLYjPESD2z4jF2p61i3uLHxNtsW9GXWp3xeMbQVBviYMEyF6PCMkKq1PA", - "ed25519:3iFyc3o6SCYUAFhkVCg5uA2ehRYiVJcybZxmJQf1gM2V78msN7nWJG9fqa7k1rP1NmcuikfKRXvQmWzTGNCS7q6E", - "ed25519:3Rt5t6aNnLATvYLvwsALzfNgVYdwK4wAn9w6XrgVd76BLB49TsCnWhg279Wyss9iZB8Amci4YDqkxtgnURpa7VAg", - "ed25519:5HkXAcfAr9GfmimhyBTsLeZ7rUGjKsvcm8yjyamHiJntZoVKLs6grCej8UuS99duAM8wCf4nueHi9NeNgNf3icmT", - "ed25519:5qBcfQVUXST7CysFJ8igez5cbRMQj1Qrk5vBHnPCx96yGz7hFFWSxMoE11vD5fLmWWjBmrpSzs21kSsFmZXKzKju", - "ed25519:3BsAQJPokJVaqpgttp1VvfNgryqyHjm5auzWdJjYF2cvbBQ8UDiqNTRP5YAtRmTfUxzksbbEkn5crzNWZjRWnP88", - "ed25519:2dJPBYkmb821zLgWdYWkRdASBcfx3qw3iXWpy4urxknQu2HRGFNBFjoVp1j8vznaiweKJYeFWDa7u8f44U6h5dRB", - "ed25519:2mumahGwq8uXqH2kDo9KrwztHrynzBzJhBeHTv87SVvS5D8pGJNK5HHqZEucXN9g1FkYZUEA9VSHiTfpHmn3pGQZ", - null, - "ed25519:9jwEES1H6hQBFuja6TcW2psQHV9grscpVhrPLFjWYuuGnutpES9TqVrqNoUqu6Be5UX9HVMUiwBWGQxMxQGMWN1", - "ed25519:5AWw6PaAUR6gdjpRFou737B9kSLYt7vu9MWFCdEAxtoKdL5p1c2xeTVyfWc1fSg6ZZFDstHae1n3WQx1Qnw3sAde", - "ed25519:52X8EizQ5YYCJi7oRKcxkQ5CAEWLrNDPcNuXFV1u4a6Etw7Nurs8y1KRqXxUkgXSi7U5xxXmcZ1rf3quGUEwt3gy", - "ed25519:67iyxqVUDDX3X3LFg6zZzHX2xDqHUGjEaBVufzmn9v7gbBwsYZNxj34Zu4BUnT41gJceH6LH1veAjV63v7h16uJU", - "ed25519:iXueDbFag9gvK5AqxmLjiDguKjNZ6ritXevQccQajhN7Gy4k5s6hABHnhjJKDMp2b7xjHXYXpA5CgR5eDB4Eii7", - "ed25519:4m9LhqdXEGG1n1iA16qfLiewuU8yiuLBy4fGXFHvUat9YefUJ5spSgLiSRGueJ5JZZmsTiQ2BdL2VeMRMJkqP4Th", - "ed25519:UjA5aD65Ph1KkCM2noJbFAAueMT41u3J4VCxUJqRHYW5GWRGesW6EBAkQioHfQcg6iMsK9FweWELxkwpry8F1MZ", - "ed25519:3535nvDUtZVXaKAB2o9crCH5TYxPLSwC2YwGu1qEyZEtmcBaMTYhsR3eka6AQVEfmGKTQn1ZhMYGx6kTPan35GNF", - null, - "ed25519:2gRqiDQddBZXfXCFwt55chaU66zLnzJYmeQ7LkmbsfpkTbEaRyqEjC6khitTzQVySZTpk4L9K3GqASz8jqHjdy9T", - null, - null, - "ed25519:rjDUgvUCedDi1KvzXLdM7iPH7qHzvjzjSSV8V11m5C1WdzXshhmx5rCWArudb881gJFoxtLAUBZrCrQEyhaDGa2", - "ed25519:DuCjcFUdGJaASuc2cx7MfhWwsJ9NXHgZzaEL3ipDdfaj7aCENFnD3TgNohxyXvbs6oC4qe3LzHrJXbM1impCndi", - "ed25519:GhSupDnas7k8KzMSmZQFb6JeEkLafFoLckq4GaYod4Rck1KVCzuHd6oUHhND81Y3uaB7gJb29kM3imYFiNG5sPK", - "ed25519:2NneC3Qgdidfk8QnfjVPHmiaEcwCCMP5Y2Q2C928ry6Vm3ab7wDAkKAFfpxsf4WmfBtDnqsW5KXseZZtLGAdqMMJ", - null, - "ed25519:35q519tGWKKcagNRiU1HoGEi3Mew74LwRFrupFWcyQFDt1ZZ8gzEPmBc5bnCQe7toYTMQ53cMvVWhMR3zLCTcTEu", - "ed25519:4W35gkYUkXdvgRNtr3LqfDV4GTJ1jMQfsSGK8WwZf2NNonzXH3KQGUbYMk1m9Jw3HseF6DtFuzEDtBFZsUGB3G9B", - "ed25519:3PVjLfXXsZitkSXMKarMnXYsqNcuWnF6fNz6E4XVTJwRgx519fJaqYfUnM1mWMPgYpiprkkRUAFG6oEQxBYVeYyJ", - "ed25519:55sZK2Qo99Lkry2d1FJWfEZBMH4P2PCfFk3axNY2r2HYhUBLqf6BsuhuxuNSVmEeUVTzktqkKdYgaujC7w5McZXA", - "ed25519:4tdv8RpFW7an9546VQSM7YxdtLmcpVCe8Lu5aqMQDR7x5jCf4qugVS7ciiHa4txfkeXtQ4KSHoo5LSrs6dEKkHru", - "ed25519:5rWubYoAQ38MrWLEUb1WAUJLM1HzeGzVgGs5tXhCn8HmfizZ3eoTQzaFpPaRkR2zDWonRj1xnXRTe84d5EXNcRgB", - "ed25519:4NAogdqK8Vr3S9VigRUQ4G7qwbYVjrZgdsJVgFynTJ629yidcCrjL25eaamBUUZeDmYjMdani8DePe8ZfWjiC7BV", - "ed25519:3Lu1Rfy4ZrYywPwcp93jHDcqFRVZTqGa18uYzu1VcsKvZ4PxPJtPmGFmdUeKaXQ1CBzDmeBVByob3muKXfZEMRrb", - "ed25519:2vv63KQYsUQyEKkSwg9W6mFepqXmne4SpSjBrqbUKsXsWVsWQRUCNXHoEaye9w58pVEPNZWrPsLiqPzGJBuMFbZQ", - "ed25519:5E1MTZF99WTgy8aZDhUtjN4tnYbjQkUjwXK3SFJrCDjNCwzBtA1wxK51CusHiKSmnWeyDnzRG1PdoTSEWuJJhH2c", - "ed25519:4UZ2Uhv9Xw57Ly4cNREDg261mwjRM1XAck53mGu5BCxqH8Govo2DMVeEg9qBrzDQCc2F8Zr1QcmcxkPK5kXjgTAb", - "ed25519:2ZACByJCKN7zQAnSaunVPkpSGWSGHNKWBrhv9hjzKx22pNkJbJoXN2LuYxemmW1RFSp9Bv97J9KrvexqT29sF6kC", - "ed25519:592oRedByW7M1Qg5mnoULfNv1hTp2cgwzkxeJyjiVD2D42W4n5HW8cyUowwfW8UPv2uXT69dz4mUZ6Pzxnju4vkW", - "ed25519:4nZnDfjbbEYbsK4XJv8KZEsPBuxRf9m5baP8ZHrJYsD7LVT8h3syf9Cg9jBLiuNiEQcpj5DsmREQabHMY8gcaBMb", - "ed25519:3zGv1ptgQmX553XyEeGYb3zCfcLHFAj3BVru6Ggii7SgHsM6rTvy9e7Cz8mGjCwQJH5LLAce2AVy7GcNP5M61Q5S", - "ed25519:q4zYFDVrjLrmHxV8PcT5ZQJtYZCHupvcqqwser9ceZh2yaGefDVW3tchCHuskiEGkMYWdbzvAtw9qRsQjzMeFBX", - "ed25519:4WoRwr2giThVeKaBgEKijpUofP8ucxTMbfHmJ298D7ttZ7SpM33VLNpgth9nH69iSRgFwAHhachnWiTXbxeN189A", - "ed25519:5LPApRXtDegv7jLbJia34MFskgaLboEF2GxcormnL2PxX9QnTpfpezFHoYXvUr2rCBeEeyRDayvNqJKgfBLZ1gKQ", - null, - "ed25519:622EvTw7dkav1xyW41pkHZxMH72qA6MoVY8qhdu2KFAWmKrZvgtKkbeK1XVwWWHAwL63N9VE8Yod7YaX3eap3LUW", - "ed25519:5B9Czm27UhYLMcXf8xZfKKzWGbHTXQTcX6CBiATU4eiZLcaGDJWB17iWqkxzoWAD5NagpJ98o2njsrNxyZUWU7QS", - "ed25519:2uQvMfTj4C9zSYZe7iVpSpKGpcABP6NcgtM8QsYBiDz2gZiHuB4SQCa4X9XpD7kXzY4gpXU1aKpYbSY29n34FXXZ", - "ed25519:63wczznAeKiPeVF4uvDjieYuH1p5uV5GbWPCvteKwAxbvjyjDstmBMvzCAEYyJu8DA7RXxkGxpfSJssomyH4npYi", - "ed25519:5jtPwniCCzggNGZPb4cbPg1Tkra3uFXDXKfNseti2WaQLxABD8szY4U6jKuqqCLJo4JG6hPn32DW7cZdLakgSDFu", - "ed25519:StrwWcdNkmUYwLWMCux6Wovjir4md38ZfrWURgx4c6FswThfgh242y4WHQYao4VMnCdXEwy3SQFCS6SsuKyubLF", - null, - null, - "ed25519:5Y4QGepUFHPjen9ZvLjG3Yehy3pvwLzdWyHdUma611rr6hsXJ3djKwymPf8YtUDk6Rd8xE9sj4Hdxk9pvBxkbQVT", - "ed25519:2crZKN93irwCVHC67ymdm8gNn9LuErk8tfnD2QtUFiYeCxiquaho9qTKPNzAtDc8bz4CcQMV6GmDDZQwvtKdbW9K", - "ed25519:35bUDVS1aFSaHvnh1aqtSvfnXyTyUxn4rnNUrYQD4oKaeaGvz8rYHErw2kJgpXu4hbWpVQYK7C3WSzFCfAhPR6Xe", - "ed25519:426pqncgBczj82scTr1jELBUuLE3R3kvbXt5PwrkUXMVZv2Ltn2SUuQjZQYrk1rTnDpJXpHhVJnKhqpHqMw2gX4y", - "ed25519:24jb9grekcw9TdXPLsPKn3KAeAsP44fE1Z1HXgmMopdLdfDkF9PjLJcVyxFsGRsK1GVCSC7Uohc2vt2fnKGQsU85", - "ed25519:YmgTsxVL3byi1nveDwUQ8nsboeTonc6XQq1NwDfbPmSRps9tWvhaMyBsgyLb5nDFB2RSjzYVDnAZnHLWuTcjrjU", - "ed25519:3DBLQczUZ5Ek4XwRQjzXWRghpD1gwwjQnR1FwZk7jbRc45enHwyzbziaHM5mRXdAxJLJtduPCHMGtMnoDMqMWHqV", - "ed25519:27RLM6eBjEzSiVnF9CRWXiEbPd9r12TBhyXnBBW7P6oK9ktNSpqf6RGb3iyfjGvmHRYhSQ4yNAAjWXHEKuwUUg9S", - "ed25519:53Djiadct1EdvYZLgVkc1RHq43VeVpj9hybEsJLHDw2L7AirwzrxGqCVFqkiyeWQnBJx6BVjtHRrn5q7SocDrJV6", - "ed25519:nSUiAEvwVUWfgNjh1oRRT3qR7ejJx3zyAbVFgLyy8EEMVerK7DsafRtdgjiMR5jS9uQYaASPQJUDsyL1y2v15eh", - "ed25519:41Xs4KQ8VveYHJWCn9r8KR5TbAUqCe7WTbeT9rYDCSrbW4qy7k227HPuoFmmhn7Vb8wq3Qb2DjaaRjHaYgY4BLTS", - "ed25519:5QcLHxNaDY55pjuha5aZ6Q4FMNGS31WtJwF7CynLGofgTQa5anLczah8h96HrxET5ye3TzWxsHkbnJCED6Vhf8XJ", - "ed25519:Z1CJEtSM3mRDKsz5bwtXG7QxaZhYuqDhSEKBkdr2oubHgCqiVkUNigN1qNXMHrpHKhX8AgW6RaG3zT4msQwYQtg", - "ed25519:4pmo4fTuMAhietVepZBtrXBFMfGFT7u97v2HxDj3tHJWWHTztSqQ71KPYEgj3mLpAv7AKwm8GePjiLo72roXrKLb", - null, - "ed25519:3MNxfaST7sJQtf8yw4Kxm75KrW9xyyUfnPUaW5jegNEZZ1vtCpzBtEBBd7JxdZemL6UhKFHz7QyHcxCfPRKw8YNk", - "ed25519:TUxZagz2vCcU2ga4McJx4Txtgg19vY28htvx6XB4Ca2uSKbwveY57D6meCGubUyajQKWTPFy78iySybYHkRof3d", - null, - "ed25519:41i4w3yG8HdVnYsnsnZU8vJPm7vxE5CUfK8fdqAzTqubkTBXPYdLutH8N15CCqdW2wq9bqkzjo72RDNjx3UNHE3G", - "ed25519:dn8HaryAXBSdFbh21EEyak5JUqxcmCnfT6thDrhcwKDjS9mDe2HEhyhSsmi9TJQybQJeGc9rwvnCd3XntqPzWLX", - null, - "ed25519:36YBdjRrnKSimbTQf4NTEWHRm2cRD995mCZait4dwnruvQ6RhU7a8kyW9MMztwcC7LGDmgwLE48LNiBXu4nNonQV" - ], - "inner_lite": { - "block_merkle_root": "CH2d42y3tsyRidYrikavvdcVsMzgLdg8wQFzdg2ioHMe", - "epoch_id": "2hqcAX5Qyo2tuYG3wKpw2vq8C1Q4nxyUoc6bevFaLXNv", - "height": 80106688, - "next_bp_hash": "DZmQuPczKUsRN9fHSSky8sq1KSNHx7tQDsLRzzgRHTk3", - "next_epoch_id": "Fz618UfUGrWLL8P5Vmgzdj6XvY5ysJq3AgGfHwvrEhnU", - "outcome_root": "3HGRZMTqveaW5Pn1PwPAgCrPYdLvkhpVGyrpVvVtmfcs", - "prev_state_root": "CfU7xT5PxuMhRGR82QSFQdBaSxmixegvHDMVe3jfHA5b", - "timestamp": 1670407933485134000, - "timestamp_nanosec": "1670407933485134123" - }, - "inner_rest_hash": "J4qij1HHKNPCqNkr2DX76XFXY6nTRRv8UgppeE82pHn", - "next_block_inner_hash": "7tqz72zjNqZEmfyqxxTeFhhxabD8ATiCYQEQGKjT7uQt", - "next_bps": [ - { - "account_id": "figment.poolv1.near", - "public_key": "ed25519:7RjyY1bRKDqkshbKZtgpQdwsdxou8j9my8g1hPKZ9ngM", - "stake": "32263431092178471868235191059684", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "astro-stakers.poolv1.near", - "public_key": "ed25519:2nPSBCzjqikgwrqUMcuEVReJhmkC91eqJGPGqH9sZc28", - "stake": "24446343284873419667665437549144", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bzam6yjpnfnxsdmjf6pw.poolv1.near", - "public_key": "ed25519:2ZJqaaCAisK4u8E2i611zFfvNmrvevovnU3M7SpGHkLY", - "stake": "23428384261389960353478511046235", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zavodil.poolv1.near", - "public_key": "ed25519:HHARoU1hANWF9hu7YRstDDvgyigBhUeUuqecRVr8dpUz", - "stake": "18859559562137763415073408048741", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "binancenode1.poolv1.near", - "public_key": "ed25519:Bb7uPEocbsiQwRfPmsiiiM88DodtuYnBDi6dKZ4JZo2N", - "stake": "13931691919951677016815004808461", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "yes_protocol1.poolv1.near", - "public_key": "ed25519:4bnrmHSMYkvsgjbQSaCY3AFwrfS1w17ACEUQdn7aC4iT", - "stake": "13643211117174328611624930293508", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_yes_protocol1.poolv1.near", - "public_key": "ed25519:CVVcLtfAWj6k1DqKJwhYBQwjMQFmXzFY2NBdMxp1RqL1", - "stake": "13555101672640460081429482061469", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "aurora.pool.near", - "public_key": "ed25519:FZKXoWHFCXMrKiXjAKFdHo5g9PDom4bWMRFERBfufi2Y", - "stake": "13360587340410977278363180612952", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "epic.poolv1.near", - "public_key": "ed25519:68HExKDtw1CjGzopZ8fMAMhMSZRVKRhwLzLQmGKtFNzT", - "stake": "12873404990111844004211799348476", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stake1.poolv1.near", - "public_key": "ed25519:7EiVt9i7SmULDKEnAXBFSMzwUmZdxUYDFkP73MZuCH1h", - "stake": "11212634548240008498400842393294", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sweat_validator.poolv1.near", - "public_key": "ed25519:677kArWPFPRDgWEBHqHj6BCmEdTVBsAcjQAc75Gtyq2j", - "stake": "10874897738399323784252377346755", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dqw9k3e4422cxt92masmy.poolv1.near", - "public_key": "ed25519:EPNc2bHqRCz6TKLstNiusv9qZCRBL63zViwUAcgoZJZj", - "stake": "10219780801803274262429495225922", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "future_is_near.poolv1.near", - "public_key": "ed25519:F3vEGwYYGisaXwKJWrYgorB95DfArDby8bK5wydxD5fp", - "stake": "10182518533778052013418068971084", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "rekt.poolv1.near", - "public_key": "ed25519:FoAaUdVKEHtVokG1aVmJNou61YcfQhXmaZ5Hnfsz4fHC", - "stake": "9860964288468762298891945071458", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "valisaurus-dex.poolv1.near", - "public_key": "ed25519:CkgfrweyZmVfjDNJD3jqzLcsK1ktjvjLLDVVj87UHCAc", - "stake": "9368685473107110030538251029782", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "finoa.poolv1.near", - "public_key": "ed25519:62gxgzoie7FiK9dnWuiwM1bbuvhpceYDavK7SgdfEMJc", - "stake": "9116603961313783927078342371516", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kiln.poolv1.near", - "public_key": "ed25519:GAekByYrSuo3seuaGQx7V1ZTC3gWZY8JxZJ4aWW76LiT", - "stake": "9020618242924721757385178880618", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "blockdaemon.poolv1.near", - "public_key": "ed25519:3GNFSJiFQQ1rnR68T4eZRff2omPhg1CTewUHBJpQAdyc", - "stake": "8638242535764007798860152145870", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearcrowd.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "7010071400018979671319406220154", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "foundry.poolv1.near", - "public_key": "ed25519:5Qx8Fq3SK4Vu1sRRpf2HsNGLAqdNqgkKEebHMniLWhkW", - "stake": "6583560298394110955017980867493", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "near-fans.poolv1.near", - "public_key": "ed25519:AgV97ssnHm7qN8JhYZjwyDtuaT6Ms3Fgbw3WeAC8M3iF", - "stake": "6542643735051207730124949283000", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "d1.poolv1.near", - "public_key": "ed25519:7ZhMRwnSHGJtWjGBZiRhhSi6XyqKeNHtnEXsVTNdrsk6", - "stake": "6315612809400565820527058493366", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "anonymous.poolv1.near", - "public_key": "ed25519:Hoj7LbPwNwAkLFhf8z2aDF1BG6NDSrq1BfkdaKqPfbXx", - "stake": "6275099371894931159839056261144", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hashquark.poolv1.near", - "public_key": "ed25519:3YDdmN1vhF7yAWnYxGMHY46jcLE9h11HvEeF6Kntugeq", - "stake": "6207433173077503021480684252829", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "continue.poolv1.near", - "public_key": "ed25519:9rDZywYL3tnvzj6hnePw3MaPFPfSeSCLxBp1niTGbMaK", - "stake": "6139239207317618937819575854467", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "08investinwomen_runbybisontrails.poolv1.near", - "public_key": "ed25519:C6yqxQ3suwjmm8ufG5e3BsHiwxUs9h839FCneF41V7TM", - "stake": "5636158199722922820034849493430", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dokiacapital.poolv1.near", - "public_key": "ed25519:FGcJJeWMyx1xDbfkcPM2oMeUeGaADJuPmeqx5rjsHn7t", - "stake": "5439219384555410592077403738569", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "magic.poolv1.near", - "public_key": "ed25519:5fwufMXx9CTyLRkz7x3htQa3rFGzFZuz6d43LhCTmKCS", - "stake": "5337700138019573470519209551247", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hb436_pool.poolv1.near", - "public_key": "ed25519:7oU4C3vWqkeup7aMfjyV1ojt7yKX7ShLfvNCahBRy1eW", - "stake": "5283001584883328394950204865833", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "accomplice.poolv1.near", - "public_key": "ed25519:5ck255MtkoGQxh9LfjNtdb4M7WHkUmjU7SBJCEkZP2B7", - "stake": "5272521853064243092233867562002", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "chorusone.poolv1.near", - "public_key": "ed25519:AZwJAgu2qRxHwdpj8ioZEFGcc2jbaZGN7ZvUe7CuXtM7", - "stake": "5164469802678810525622389095316", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "electric.poolv1.near", - "public_key": "ed25519:GpSr5KAZMZ1Cb4dHMRUVhmp95y2fmWtm4dEjAr8iAva5", - "stake": "4943057869817193468202979518654", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakin.poolv1.near", - "public_key": "ed25519:85UGfKdVoxX9u86JsBMxmVHBguYonnM3vTR2WoD5GkEg", - "stake": "4892925771232971838565101699825", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "ideocolabventures.poolv1.near", - "public_key": "ed25519:6NFuvrmnJiokXibR9Z7TUHjB4NJnD1rJAHhBu9JWmBdh", - "stake": "4845368381644473995277356127809", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "openshards.poolv1.near", - "public_key": "ed25519:4Xm73PiAGMZu3mZg4gF7j96iTAFHGbPvqzxBaTgKP4ub", - "stake": "4746785038549591090385659114923", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "northernlights.poolv1.near", - "public_key": "ed25519:7HXh6iS9Rh92Uj1c5T9fPjQXPLnti4Rr2cJQcJEYpdGV", - "stake": "4566841144355171838424309435712", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearfans.poolv1.near", - "public_key": "ed25519:GM8vWM4TqTt7jh3sXYCAs2KPyn4vEmAceteBGEFYhyku", - "stake": "4480794316855668277883488781497", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptium.poolv1.near", - "public_key": "ed25519:5Y9hW8cKBb5RnsJBqttHHC5ujz5zcZZ5xnrJPwkCWmGQ", - "stake": "4149186790956702193241576957662", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandora.poolv1.near", - "public_key": "ed25519:53N7KBhSkEP6tLuQmxZV9fAK16D1C2kWnuzes8KNyS7P", - "stake": "4063923990860817358689593734146", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nc2.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "3996489072293758262671756269447", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "smart-stake.poolv1.near", - "public_key": "ed25519:A6wpkLQiYqPZ1rbd9s5S1Bg3LxccVsQqiCRDUXwzJ6Hx", - "stake": "3961587612911363223491659487535", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "p2p-org.poolv1.near", - "public_key": "ed25519:J441YAvvYvjWs3aVzjc5KLLWRzmhQTEMaymPyWFkMGeG", - "stake": "3934008844803812808743642475103", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staked.poolv1.near", - "public_key": "ed25519:3JBVXqenru2ErAM1kHQ8qfd29dCkURLd6JKrFgtmcDTZ", - "stake": "3897860148476431562024025202319", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "everstake.poolv1.near", - "public_key": "ed25519:4JLvwa1r2eAxHLyKeDJnpqMG5f2Z9rr49rwuTwb9g8u2", - "stake": "3816474406906668870668655981596", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bisontrails.poolv1.near", - "public_key": "ed25519:Emk6wQJtpQZRJCvvPmmwP9GD2Pk37xxRpmb5uRvJpX62", - "stake": "3443882389140514707630857327698", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakesabai.poolv1.near", - "public_key": "ed25519:6abauNvvWnEkagjVpWRy2tZJdzPkmqurUjteMTKk5KQF", - "stake": "3420940818030403854491909051521", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "buildlinks.poolv1.near", - "public_key": "ed25519:Hd3irGt4zEqRPAzcFszX3oTkVWRFFxdecDvShCJSS1Wg", - "stake": "3353485256347342448811763207538", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sharpdarts.poolv1.near", - "public_key": "ed25519:9XMHXqv7rM3QQxzjUu7dfKD7GhMkq8CEceaPdkhiBQUX", - "stake": "3225136658712577896426875476452", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "erm.poolv1.near", - "public_key": "ed25519:88nnN6LAuCbJaj9wucd1WUMfTtdv2s3njpvozHft8oQ5", - "stake": "3069913428639539849849519269762", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_00.poolv1.near", - "public_key": "ed25519:62c41nzrrZAspLnPBC2A112PXBhJuj1cGkVE3ANwbzat", - "stake": "3064135662352573471393104688452", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_01.poolv1.near", - "public_key": "ed25519:3LqCGkM3uLjQjPmd3yVyaEnceinEL4cBfUm9vp5hJRTJ", - "stake": "3050529931031001107175007908108", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dsrvlabs.poolv1.near", - "public_key": "ed25519:9SACdsDDgXA2WZLfJvpkKbu22Exxtc4CMbeHmVnN2P4a", - "stake": "2981381413002560890163599526331", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "brea.poolv1.near", - "public_key": "ed25519:8dce49J5G28yMGRcSiDnYNFh7GBSma8TmYaw5mGTSH1Z", - "stake": "2965637591972500854551631494656", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lux.poolv1.near", - "public_key": "ed25519:HzTGTDfTz63QGvvUdMGozFeaENFGyYAoSrqYJb23qZFN", - "stake": "2920643371182434784892016270025", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nodeasy.poolv1.near", - "public_key": "ed25519:8mjespqqUePSYSsxYxPqCUsZUuMxVJr1vjBRwFeCke5K", - "stake": "2920322627244583575875536976197", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lunanova.poolv1.near", - "public_key": "ed25519:qkfP4NsSuHybdLhdvvYQ2Y9xWPsd249thEvrzbJBKNc", - "stake": "2791167224756233457676137078683", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "republic.poolv1.near", - "public_key": "ed25519:5sT6xtwxvLARW6y3KURYmyFd5SokJFhiK4jyqbamzzZ6", - "stake": "2786430862828922159642029038154", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zkv_staketosupportprivacy.poolv1.near", - "public_key": "ed25519:2kAo86DW8mDaLDg37rFhQY8UYSZVq1CtegUHBEDvpSMA", - "stake": "2625194216504163506554513449143", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "baziliknear.poolv1.near", - "public_key": "ed25519:E4LAWdgLifBEoaWvhRNy5vpdAnUc3GsUHePeiAurZY5v", - "stake": "2620998192447086853952262728775", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stardust.poolv1.near", - "public_key": "ed25519:6rxCJpTnrT6NFuGg6d5Dj3FEUz1ScNU9u35ywB3dYhrX", - "stake": "2437049852236940008943660835947", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fish.poolv1.near", - "public_key": "ed25519:27KegJd17HeXHk9h5MqkT35QAuvYvo5GFgPTpSVU4kPN", - "stake": "2317370001729715695499696992083", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "masternode24.poolv1.near", - "public_key": "ed25519:5ZyaXsGCya4Sch5bqUfohvo7iRFYB9ancRouggWRsiDU", - "stake": "2052502154842794388414884026811", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "moonlet.poolv1.near", - "public_key": "ed25519:GkDwzPckMfhkdYgyFG69Uph8RJ12BcV9xNeZW2q93ZJD", - "stake": "1978092931566079170547011909946", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fresh.poolv1.near", - "public_key": "ed25519:6YHLXhohY8kMnkp5Jw4HrJ52xtdyt1rcP6AaWkKzh3ED", - "stake": "1916872458139251023598445059117", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "inotel.poolv1.near", - "public_key": "ed25519:DmEDRntb9NwfbfdvDf6wzjsw1vxzQcJAAhFL2J75iLwr", - "stake": "1856085447531187177275924496257", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "qbit.poolv1.near", - "public_key": "ed25519:5DqZLnDu6PMEyhJzc5NhiMsoWeYMWG1bC4AULyafoXMv", - "stake": "1700261836639327516856355447408", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "appload.poolv1.near", - "public_key": "ed25519:6LbMVL6otkvZbpuC9sN3z7EXSMo3PT9noPeBdBZTFneM", - "stake": "1679087385157363805430862809785", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "01node.poolv1.near", - "public_key": "ed25519:5xz7EbcnPqabwoFezdJBxieK8S7XLsdHHuLwM4vLLhFt", - "stake": "1637118999315292857353357443580", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "jazza.poolv1.near", - "public_key": "ed25519:EW66Fkv7XcE9FiybuYtVURjHhYeEgwWWpzF685Vi7foY", - "stake": "1536910228475723706420476342945", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "satori.poolv1.near", - "public_key": "ed25519:9r8HYmw8mbys2Ng9BaKeQqZnaQTGCcBUbMatV5NeeWJj", - "stake": "1508286613582963753816821672316", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "avado.poolv1.near", - "public_key": "ed25519:FdLWsf42e3Sc7bdKMtxJMgWRP21ysZDSXFnS2vTwTaaA", - "stake": "1247336666651781502344867266835", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "allnodes.poolv1.near", - "public_key": "ed25519:AGEeyukQdMtg8EttsU39YLgryhao8yQeVwQTut5bbWdL", - "stake": "1192956833397410837729615865430", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nonli-near.poolv1.near", - "public_key": "ed25519:91jusDFxjY32h51tfq2HoKhoPbGs66s88t1v2oZPBSxC", - "stake": "1161725936634258023951898044219", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_sp2.poolv1.near", - "public_key": "ed25519:CS4uHAipvtxGz9irnoCX7SxT6d8zKpDj8Y3Fyf2zVgBp", - "stake": "1159837069413825531480605681582", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galactic.poolv1.near", - "public_key": "ed25519:GFK83N32DbERtFg8rkpfNBsKtkFpmNQzyKFM9kJvPCMG", - "stake": "1128474296477102068329217656392", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandateam.poolv1.near", - "public_key": "ed25519:Cu83NRziNLiT6HLu9kJ8svFoftZQ9wVmjScxjqCybppt", - "stake": "1058888779856801249326161186419", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_opp_disc.poolv1.near", - "public_key": "ed25519:8XbCfLQVSwtwaBajvByG87CxPPbaFdryz5qEkde1fSGv", - "stake": "1014266852472313006147471277812", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bridgetower_v1.poolv1.near", - "public_key": "ed25519:AHgnnt8yhNBpoZChBiHXfjaH6X2zMZaDDXmmSWHvDcWL", - "stake": "1010641473135602339900367312426", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dexagon.poolv1.near", - "public_key": "ed25519:AQHwptR3Ho348BpFXJDjkxpWMW5ZwN7xWM3XWAWSEEgs", - "stake": "950485947282245215870224639209", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bitcoinsuisse.poolv1.near", - "public_key": "ed25519:Cy2sboVqjDk6d3d2A2AJZBdFvokjk7sjZpYATLjcQSCj", - "stake": "879193744545014435597245298435", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pathrocknetwork.poolv1.near", - "public_key": "ed25519:2iJQLVXubWafG7K1NzGVvjP54UJCgVg3cuPMktw8r7uQ", - "stake": "812931229464911796459015776371", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptogarik.poolv1.near", - "public_key": "ed25519:45zFAC8pLgwn1d5pSBpBHesWbzngfRgd92zaom7K8m8j", - "stake": "716011272294791904961529162901", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "prophet.poolv1.near", - "public_key": "ed25519:BV5b4DpgCUy1TEitE4TVPhpTY7uDNpHc8DBPyH6cYCBq", - "stake": "697033856739528827828587334134", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptoblossom.poolv1.near", - "public_key": "ed25519:5opTNJEkCBYuyMgAghY2Sxp4bBtXYQtbEvZ3Wc5Awohb", - "stake": "673270657679606519180023864109", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking-power.poolv1.near", - "public_key": "ed25519:42ikqyV1BYmSnhHJ9EsLLy9kgeAg1mC3qqU1AJGaTEaW", - "stake": "672750568589793402592102022167", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "optimusvalidatornetwork.poolv1.near", - "public_key": "ed25519:C3CJMKaWdEzkqyNCKwnKud6wDNnzs7Ura63k16zm4LUU", - "stake": "644900574168772612404611170801", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "legends.poolv1.near", - "public_key": "ed25519:DNK46DeHKeJPF9YetmNxZnqtpkeLjdUb9ezSRCue3TpB", - "stake": "644264114516677909523317862676", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "infiniteloop.poolv1.near", - "public_key": "ed25519:9BUwtDegzwKcmJBjLgUDLHc3pePgPKcWJXYGcZb33Nyr", - "stake": "638875201208879277962483423071", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "steak.poolv1.near", - "public_key": "ed25519:3tZG4QgzWpTKt2dChqZVUTBvF35pvG7BHyyJULF8VXQc", - "stake": "633643607623185574960266031913", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "usn-unofficial.pool.near", - "public_key": "ed25519:9vdrbg4MDfZyknYeRzUbL1juK5aMm7xWs6nukUZQpY3b", - "stake": "590176642707569470104072553269", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakely_io.poolv1.near", - "public_key": "ed25519:HWp9E3gP91s25ddMS9xUWuzbJUpVGiPoitu5bT6hqMHs", - "stake": "565188839334689660551706146575", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dragonfly.poolv1.near", - "public_key": "ed25519:6Gj8MRp9KqfdiXa35LJcZnqeBNNEZoYk6ysvpzHaruvq", - "stake": "563399296165724089998959875037", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lionstake.poolv1.near", - "public_key": "ed25519:8kciZQy815tZooy7HPJkBq2cyEw9L7fbsWcmWLgwG4m3", - "stake": "524596923117341100705983432330", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "atomic-nodes.poolv1.near", - "public_key": "ed25519:CpVAHE3JpfDoEPqjBDgYEjgG8JhM5BFKbjUD2N1EuvAL", - "stake": "474449030575699619043913593682", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galaxydigital.poolv1.near", - "public_key": "ed25519:8ZD8CcSzSfVsYo7XyABHJsYcrpBE3EL5MwukoEfrNYMR", - "stake": "446962756498690611180970800186", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearua.poolv1.near", - "public_key": "ed25519:6YRLTm4coawMYrchYs1ex5BLY7xtnPrnvGWgk6NJAQvy", - "stake": "441653427601104892359519138819", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "synclub.poolv1.near", - "public_key": "ed25519:4888ehXrQvgtVRTc9rTNnk21wGKHwgi7jrhdUdyqSAtG", - "stake": "436137659611077268092878288560", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kosmos_and_p2p.poolv1.near", - "public_key": "ed25519:41GWxdQHe4Y2fuisvz5k5G2NwDFEavRkisoZkB5tfJuC", - "stake": "425718367302490388340216817569", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "vortex_live.poolv1.near", - "public_key": "ed25519:GrPW17VhMVLi15JohsM2ag2GpcqpQuJNm3Hf6vPYXRYZ", - "stake": "413733185551689965850750363066", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "grassets.poolv1.near", - "public_key": "ed25519:GS8uhr7mhsBWB5c1JgvsJzpwZDGrcnB9Xnw7YRyMSQP5", - "stake": "406866950082134705744207292114", - "validator_stake_struct_version": "V1" - } - ], - "prev_block_hash": "6y7YB8XpzLwrnLKDHfwy6PSenwdUYPCq24sg4WMG64rz" - } - } - }, - { - "description": "Mainnet Block 80106688", - "expected": { - "is_valid": true - }, - "params": { - "previous_block": { - "prev_block_hash": "6y7YB8XpzLwrnLKDHfwy6PSenwdUYPCq24sg4WMG64rz", - "inner_rest_hash": "J4qij1HHKNPCqNkr2DX76XFXY6nTRRv8UgppeE82pHn", - "inner_lite": { - "block_merkle_root": "CH2d42y3tsyRidYrikavvdcVsMzgLdg8wQFzdg2ioHMe", - "epoch_id": "2hqcAX5Qyo2tuYG3wKpw2vq8C1Q4nxyUoc6bevFaLXNv", - "height": 80106688, - "next_bp_hash": "DZmQuPczKUsRN9fHSSky8sq1KSNHx7tQDsLRzzgRHTk3", - "next_epoch_id": "Fz618UfUGrWLL8P5Vmgzdj6XvY5ysJq3AgGfHwvrEhnU", - "outcome_root": "3HGRZMTqveaW5Pn1PwPAgCrPYdLvkhpVGyrpVvVtmfcs", - "prev_state_root": "CfU7xT5PxuMhRGR82QSFQdBaSxmixegvHDMVe3jfHA5b", - "timestamp": 1670407933485134000, - "timestamp_nanosec": "1670407933485134123" - } - }, - "current_bps": [ - { - "account_id": "figment.poolv1.near", - "public_key": "ed25519:7RjyY1bRKDqkshbKZtgpQdwsdxou8j9my8g1hPKZ9ngM", - "stake": "32263431092178471868235191059684", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "astro-stakers.poolv1.near", - "public_key": "ed25519:2nPSBCzjqikgwrqUMcuEVReJhmkC91eqJGPGqH9sZc28", - "stake": "24446343284873419667665437549144", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bzam6yjpnfnxsdmjf6pw.poolv1.near", - "public_key": "ed25519:2ZJqaaCAisK4u8E2i611zFfvNmrvevovnU3M7SpGHkLY", - "stake": "23428384261389960353478511046235", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zavodil.poolv1.near", - "public_key": "ed25519:HHARoU1hANWF9hu7YRstDDvgyigBhUeUuqecRVr8dpUz", - "stake": "18859559562137763415073408048741", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "binancenode1.poolv1.near", - "public_key": "ed25519:Bb7uPEocbsiQwRfPmsiiiM88DodtuYnBDi6dKZ4JZo2N", - "stake": "13931691919951677016815004808461", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "yes_protocol1.poolv1.near", - "public_key": "ed25519:4bnrmHSMYkvsgjbQSaCY3AFwrfS1w17ACEUQdn7aC4iT", - "stake": "13643211117174328611624930293508", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_yes_protocol1.poolv1.near", - "public_key": "ed25519:CVVcLtfAWj6k1DqKJwhYBQwjMQFmXzFY2NBdMxp1RqL1", - "stake": "13555101672640460081429482061469", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "aurora.pool.near", - "public_key": "ed25519:FZKXoWHFCXMrKiXjAKFdHo5g9PDom4bWMRFERBfufi2Y", - "stake": "13360587340410977278363180612952", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "epic.poolv1.near", - "public_key": "ed25519:68HExKDtw1CjGzopZ8fMAMhMSZRVKRhwLzLQmGKtFNzT", - "stake": "12873404990111844004211799348476", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stake1.poolv1.near", - "public_key": "ed25519:7EiVt9i7SmULDKEnAXBFSMzwUmZdxUYDFkP73MZuCH1h", - "stake": "11212634548240008498400842393294", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sweat_validator.poolv1.near", - "public_key": "ed25519:677kArWPFPRDgWEBHqHj6BCmEdTVBsAcjQAc75Gtyq2j", - "stake": "10874897738399323784252377346755", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dqw9k3e4422cxt92masmy.poolv1.near", - "public_key": "ed25519:EPNc2bHqRCz6TKLstNiusv9qZCRBL63zViwUAcgoZJZj", - "stake": "10219780801803274262429495225922", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "future_is_near.poolv1.near", - "public_key": "ed25519:F3vEGwYYGisaXwKJWrYgorB95DfArDby8bK5wydxD5fp", - "stake": "10182518533778052013418068971084", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "rekt.poolv1.near", - "public_key": "ed25519:FoAaUdVKEHtVokG1aVmJNou61YcfQhXmaZ5Hnfsz4fHC", - "stake": "9860964288468762298891945071458", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "valisaurus-dex.poolv1.near", - "public_key": "ed25519:CkgfrweyZmVfjDNJD3jqzLcsK1ktjvjLLDVVj87UHCAc", - "stake": "9368685473107110030538251029782", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "finoa.poolv1.near", - "public_key": "ed25519:62gxgzoie7FiK9dnWuiwM1bbuvhpceYDavK7SgdfEMJc", - "stake": "9116603961313783927078342371516", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kiln.poolv1.near", - "public_key": "ed25519:GAekByYrSuo3seuaGQx7V1ZTC3gWZY8JxZJ4aWW76LiT", - "stake": "9020618242924721757385178880618", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "blockdaemon.poolv1.near", - "public_key": "ed25519:3GNFSJiFQQ1rnR68T4eZRff2omPhg1CTewUHBJpQAdyc", - "stake": "8638242535764007798860152145870", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearcrowd.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "7010071400018979671319406220154", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "foundry.poolv1.near", - "public_key": "ed25519:5Qx8Fq3SK4Vu1sRRpf2HsNGLAqdNqgkKEebHMniLWhkW", - "stake": "6583560298394110955017980867493", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "near-fans.poolv1.near", - "public_key": "ed25519:AgV97ssnHm7qN8JhYZjwyDtuaT6Ms3Fgbw3WeAC8M3iF", - "stake": "6542643735051207730124949283000", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "d1.poolv1.near", - "public_key": "ed25519:7ZhMRwnSHGJtWjGBZiRhhSi6XyqKeNHtnEXsVTNdrsk6", - "stake": "6315612809400565820527058493366", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "anonymous.poolv1.near", - "public_key": "ed25519:Hoj7LbPwNwAkLFhf8z2aDF1BG6NDSrq1BfkdaKqPfbXx", - "stake": "6275099371894931159839056261144", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hashquark.poolv1.near", - "public_key": "ed25519:3YDdmN1vhF7yAWnYxGMHY46jcLE9h11HvEeF6Kntugeq", - "stake": "6207433173077503021480684252829", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "continue.poolv1.near", - "public_key": "ed25519:9rDZywYL3tnvzj6hnePw3MaPFPfSeSCLxBp1niTGbMaK", - "stake": "6139239207317618937819575854467", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "08investinwomen_runbybisontrails.poolv1.near", - "public_key": "ed25519:C6yqxQ3suwjmm8ufG5e3BsHiwxUs9h839FCneF41V7TM", - "stake": "5636158199722922820034849493430", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dokiacapital.poolv1.near", - "public_key": "ed25519:FGcJJeWMyx1xDbfkcPM2oMeUeGaADJuPmeqx5rjsHn7t", - "stake": "5439219384555410592077403738569", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "magic.poolv1.near", - "public_key": "ed25519:5fwufMXx9CTyLRkz7x3htQa3rFGzFZuz6d43LhCTmKCS", - "stake": "5337700138019573470519209551247", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hb436_pool.poolv1.near", - "public_key": "ed25519:7oU4C3vWqkeup7aMfjyV1ojt7yKX7ShLfvNCahBRy1eW", - "stake": "5283001584883328394950204865833", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "accomplice.poolv1.near", - "public_key": "ed25519:5ck255MtkoGQxh9LfjNtdb4M7WHkUmjU7SBJCEkZP2B7", - "stake": "5272521853064243092233867562002", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "chorusone.poolv1.near", - "public_key": "ed25519:AZwJAgu2qRxHwdpj8ioZEFGcc2jbaZGN7ZvUe7CuXtM7", - "stake": "5164469802678810525622389095316", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "electric.poolv1.near", - "public_key": "ed25519:GpSr5KAZMZ1Cb4dHMRUVhmp95y2fmWtm4dEjAr8iAva5", - "stake": "4943057869817193468202979518654", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakin.poolv1.near", - "public_key": "ed25519:85UGfKdVoxX9u86JsBMxmVHBguYonnM3vTR2WoD5GkEg", - "stake": "4892925771232971838565101699825", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "ideocolabventures.poolv1.near", - "public_key": "ed25519:6NFuvrmnJiokXibR9Z7TUHjB4NJnD1rJAHhBu9JWmBdh", - "stake": "4845368381644473995277356127809", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "openshards.poolv1.near", - "public_key": "ed25519:4Xm73PiAGMZu3mZg4gF7j96iTAFHGbPvqzxBaTgKP4ub", - "stake": "4746785038549591090385659114923", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "northernlights.poolv1.near", - "public_key": "ed25519:7HXh6iS9Rh92Uj1c5T9fPjQXPLnti4Rr2cJQcJEYpdGV", - "stake": "4566841144355171838424309435712", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearfans.poolv1.near", - "public_key": "ed25519:GM8vWM4TqTt7jh3sXYCAs2KPyn4vEmAceteBGEFYhyku", - "stake": "4480794316855668277883488781497", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptium.poolv1.near", - "public_key": "ed25519:5Y9hW8cKBb5RnsJBqttHHC5ujz5zcZZ5xnrJPwkCWmGQ", - "stake": "4149186790956702193241576957662", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandora.poolv1.near", - "public_key": "ed25519:53N7KBhSkEP6tLuQmxZV9fAK16D1C2kWnuzes8KNyS7P", - "stake": "4063923990860817358689593734146", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nc2.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "3996489072293758262671756269447", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "smart-stake.poolv1.near", - "public_key": "ed25519:A6wpkLQiYqPZ1rbd9s5S1Bg3LxccVsQqiCRDUXwzJ6Hx", - "stake": "3961587612911363223491659487535", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "p2p-org.poolv1.near", - "public_key": "ed25519:J441YAvvYvjWs3aVzjc5KLLWRzmhQTEMaymPyWFkMGeG", - "stake": "3934008844803812808743642475103", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staked.poolv1.near", - "public_key": "ed25519:3JBVXqenru2ErAM1kHQ8qfd29dCkURLd6JKrFgtmcDTZ", - "stake": "3897860148476431562024025202319", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "everstake.poolv1.near", - "public_key": "ed25519:4JLvwa1r2eAxHLyKeDJnpqMG5f2Z9rr49rwuTwb9g8u2", - "stake": "3816474406906668870668655981596", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bisontrails.poolv1.near", - "public_key": "ed25519:Emk6wQJtpQZRJCvvPmmwP9GD2Pk37xxRpmb5uRvJpX62", - "stake": "3443882389140514707630857327698", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakesabai.poolv1.near", - "public_key": "ed25519:6abauNvvWnEkagjVpWRy2tZJdzPkmqurUjteMTKk5KQF", - "stake": "3420940818030403854491909051521", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "buildlinks.poolv1.near", - "public_key": "ed25519:Hd3irGt4zEqRPAzcFszX3oTkVWRFFxdecDvShCJSS1Wg", - "stake": "3353485256347342448811763207538", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sharpdarts.poolv1.near", - "public_key": "ed25519:9XMHXqv7rM3QQxzjUu7dfKD7GhMkq8CEceaPdkhiBQUX", - "stake": "3225136658712577896426875476452", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "erm.poolv1.near", - "public_key": "ed25519:88nnN6LAuCbJaj9wucd1WUMfTtdv2s3njpvozHft8oQ5", - "stake": "3069913428639539849849519269762", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_00.poolv1.near", - "public_key": "ed25519:62c41nzrrZAspLnPBC2A112PXBhJuj1cGkVE3ANwbzat", - "stake": "3064135662352573471393104688452", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_01.poolv1.near", - "public_key": "ed25519:3LqCGkM3uLjQjPmd3yVyaEnceinEL4cBfUm9vp5hJRTJ", - "stake": "3050529931031001107175007908108", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dsrvlabs.poolv1.near", - "public_key": "ed25519:9SACdsDDgXA2WZLfJvpkKbu22Exxtc4CMbeHmVnN2P4a", - "stake": "2981381413002560890163599526331", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "brea.poolv1.near", - "public_key": "ed25519:8dce49J5G28yMGRcSiDnYNFh7GBSma8TmYaw5mGTSH1Z", - "stake": "2965637591972500854551631494656", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lux.poolv1.near", - "public_key": "ed25519:HzTGTDfTz63QGvvUdMGozFeaENFGyYAoSrqYJb23qZFN", - "stake": "2920643371182434784892016270025", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nodeasy.poolv1.near", - "public_key": "ed25519:8mjespqqUePSYSsxYxPqCUsZUuMxVJr1vjBRwFeCke5K", - "stake": "2920322627244583575875536976197", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lunanova.poolv1.near", - "public_key": "ed25519:qkfP4NsSuHybdLhdvvYQ2Y9xWPsd249thEvrzbJBKNc", - "stake": "2791167224756233457676137078683", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "republic.poolv1.near", - "public_key": "ed25519:5sT6xtwxvLARW6y3KURYmyFd5SokJFhiK4jyqbamzzZ6", - "stake": "2786430862828922159642029038154", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zkv_staketosupportprivacy.poolv1.near", - "public_key": "ed25519:2kAo86DW8mDaLDg37rFhQY8UYSZVq1CtegUHBEDvpSMA", - "stake": "2625194216504163506554513449143", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "baziliknear.poolv1.near", - "public_key": "ed25519:E4LAWdgLifBEoaWvhRNy5vpdAnUc3GsUHePeiAurZY5v", - "stake": "2620998192447086853952262728775", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stardust.poolv1.near", - "public_key": "ed25519:6rxCJpTnrT6NFuGg6d5Dj3FEUz1ScNU9u35ywB3dYhrX", - "stake": "2437049852236940008943660835947", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fish.poolv1.near", - "public_key": "ed25519:27KegJd17HeXHk9h5MqkT35QAuvYvo5GFgPTpSVU4kPN", - "stake": "2317370001729715695499696992083", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "masternode24.poolv1.near", - "public_key": "ed25519:5ZyaXsGCya4Sch5bqUfohvo7iRFYB9ancRouggWRsiDU", - "stake": "2052502154842794388414884026811", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "moonlet.poolv1.near", - "public_key": "ed25519:GkDwzPckMfhkdYgyFG69Uph8RJ12BcV9xNeZW2q93ZJD", - "stake": "1978092931566079170547011909946", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fresh.poolv1.near", - "public_key": "ed25519:6YHLXhohY8kMnkp5Jw4HrJ52xtdyt1rcP6AaWkKzh3ED", - "stake": "1916872458139251023598445059117", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "inotel.poolv1.near", - "public_key": "ed25519:DmEDRntb9NwfbfdvDf6wzjsw1vxzQcJAAhFL2J75iLwr", - "stake": "1856085447531187177275924496257", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "qbit.poolv1.near", - "public_key": "ed25519:5DqZLnDu6PMEyhJzc5NhiMsoWeYMWG1bC4AULyafoXMv", - "stake": "1700261836639327516856355447408", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "appload.poolv1.near", - "public_key": "ed25519:6LbMVL6otkvZbpuC9sN3z7EXSMo3PT9noPeBdBZTFneM", - "stake": "1679087385157363805430862809785", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "01node.poolv1.near", - "public_key": "ed25519:5xz7EbcnPqabwoFezdJBxieK8S7XLsdHHuLwM4vLLhFt", - "stake": "1637118999315292857353357443580", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "jazza.poolv1.near", - "public_key": "ed25519:EW66Fkv7XcE9FiybuYtVURjHhYeEgwWWpzF685Vi7foY", - "stake": "1536910228475723706420476342945", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "satori.poolv1.near", - "public_key": "ed25519:9r8HYmw8mbys2Ng9BaKeQqZnaQTGCcBUbMatV5NeeWJj", - "stake": "1508286613582963753816821672316", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "avado.poolv1.near", - "public_key": "ed25519:FdLWsf42e3Sc7bdKMtxJMgWRP21ysZDSXFnS2vTwTaaA", - "stake": "1247336666651781502344867266835", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "allnodes.poolv1.near", - "public_key": "ed25519:AGEeyukQdMtg8EttsU39YLgryhao8yQeVwQTut5bbWdL", - "stake": "1192956833397410837729615865430", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nonli-near.poolv1.near", - "public_key": "ed25519:91jusDFxjY32h51tfq2HoKhoPbGs66s88t1v2oZPBSxC", - "stake": "1161725936634258023951898044219", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_sp2.poolv1.near", - "public_key": "ed25519:CS4uHAipvtxGz9irnoCX7SxT6d8zKpDj8Y3Fyf2zVgBp", - "stake": "1159837069413825531480605681582", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galactic.poolv1.near", - "public_key": "ed25519:GFK83N32DbERtFg8rkpfNBsKtkFpmNQzyKFM9kJvPCMG", - "stake": "1128474296477102068329217656392", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandateam.poolv1.near", - "public_key": "ed25519:Cu83NRziNLiT6HLu9kJ8svFoftZQ9wVmjScxjqCybppt", - "stake": "1058888779856801249326161186419", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_opp_disc.poolv1.near", - "public_key": "ed25519:8XbCfLQVSwtwaBajvByG87CxPPbaFdryz5qEkde1fSGv", - "stake": "1014266852472313006147471277812", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bridgetower_v1.poolv1.near", - "public_key": "ed25519:AHgnnt8yhNBpoZChBiHXfjaH6X2zMZaDDXmmSWHvDcWL", - "stake": "1010641473135602339900367312426", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dexagon.poolv1.near", - "public_key": "ed25519:AQHwptR3Ho348BpFXJDjkxpWMW5ZwN7xWM3XWAWSEEgs", - "stake": "950485947282245215870224639209", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bitcoinsuisse.poolv1.near", - "public_key": "ed25519:Cy2sboVqjDk6d3d2A2AJZBdFvokjk7sjZpYATLjcQSCj", - "stake": "879193744545014435597245298435", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pathrocknetwork.poolv1.near", - "public_key": "ed25519:2iJQLVXubWafG7K1NzGVvjP54UJCgVg3cuPMktw8r7uQ", - "stake": "812931229464911796459015776371", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptogarik.poolv1.near", - "public_key": "ed25519:45zFAC8pLgwn1d5pSBpBHesWbzngfRgd92zaom7K8m8j", - "stake": "716011272294791904961529162901", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "prophet.poolv1.near", - "public_key": "ed25519:BV5b4DpgCUy1TEitE4TVPhpTY7uDNpHc8DBPyH6cYCBq", - "stake": "697033856739528827828587334134", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptoblossom.poolv1.near", - "public_key": "ed25519:5opTNJEkCBYuyMgAghY2Sxp4bBtXYQtbEvZ3Wc5Awohb", - "stake": "673270657679606519180023864109", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking-power.poolv1.near", - "public_key": "ed25519:42ikqyV1BYmSnhHJ9EsLLy9kgeAg1mC3qqU1AJGaTEaW", - "stake": "672750568589793402592102022167", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "optimusvalidatornetwork.poolv1.near", - "public_key": "ed25519:C3CJMKaWdEzkqyNCKwnKud6wDNnzs7Ura63k16zm4LUU", - "stake": "644900574168772612404611170801", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "legends.poolv1.near", - "public_key": "ed25519:DNK46DeHKeJPF9YetmNxZnqtpkeLjdUb9ezSRCue3TpB", - "stake": "644264114516677909523317862676", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "infiniteloop.poolv1.near", - "public_key": "ed25519:9BUwtDegzwKcmJBjLgUDLHc3pePgPKcWJXYGcZb33Nyr", - "stake": "638875201208879277962483423071", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "steak.poolv1.near", - "public_key": "ed25519:3tZG4QgzWpTKt2dChqZVUTBvF35pvG7BHyyJULF8VXQc", - "stake": "633643607623185574960266031913", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "usn-unofficial.pool.near", - "public_key": "ed25519:9vdrbg4MDfZyknYeRzUbL1juK5aMm7xWs6nukUZQpY3b", - "stake": "590176642707569470104072553269", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakely_io.poolv1.near", - "public_key": "ed25519:HWp9E3gP91s25ddMS9xUWuzbJUpVGiPoitu5bT6hqMHs", - "stake": "565188839334689660551706146575", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dragonfly.poolv1.near", - "public_key": "ed25519:6Gj8MRp9KqfdiXa35LJcZnqeBNNEZoYk6ysvpzHaruvq", - "stake": "563399296165724089998959875037", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lionstake.poolv1.near", - "public_key": "ed25519:8kciZQy815tZooy7HPJkBq2cyEw9L7fbsWcmWLgwG4m3", - "stake": "524596923117341100705983432330", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "atomic-nodes.poolv1.near", - "public_key": "ed25519:CpVAHE3JpfDoEPqjBDgYEjgG8JhM5BFKbjUD2N1EuvAL", - "stake": "474449030575699619043913593682", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galaxydigital.poolv1.near", - "public_key": "ed25519:8ZD8CcSzSfVsYo7XyABHJsYcrpBE3EL5MwukoEfrNYMR", - "stake": "446962756498690611180970800186", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearua.poolv1.near", - "public_key": "ed25519:6YRLTm4coawMYrchYs1ex5BLY7xtnPrnvGWgk6NJAQvy", - "stake": "441653427601104892359519138819", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "synclub.poolv1.near", - "public_key": "ed25519:4888ehXrQvgtVRTc9rTNnk21wGKHwgi7jrhdUdyqSAtG", - "stake": "436137659611077268092878288560", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kosmos_and_p2p.poolv1.near", - "public_key": "ed25519:41GWxdQHe4Y2fuisvz5k5G2NwDFEavRkisoZkB5tfJuC", - "stake": "425718367302490388340216817569", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "vortex_live.poolv1.near", - "public_key": "ed25519:GrPW17VhMVLi15JohsM2ag2GpcqpQuJNm3Hf6vPYXRYZ", - "stake": "413733185551689965850750363066", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "grassets.poolv1.near", - "public_key": "ed25519:GS8uhr7mhsBWB5c1JgvsJzpwZDGrcnB9Xnw7YRyMSQP5", - "stake": "406866950082134705744207292114", - "validator_stake_struct_version": "V1" - } - ], - "new_block": { - "approvals_after_next": [ - "ed25519:47WW6mM8To5PT8g28gpEcqr46HaSFFpKRzSABFthJ5BzVSQXKSbdhxm5SYDHpopJeA3EMzr26GJDa3MCtZovSQFo", - "ed25519:63y5amNRJok4cvCC4147N9cAJ6JCxoEUugrZ4gre3p3NP8UFLCMeFbdS9ERfxxPr9NvErKXZGYrKBSUHo9tnExM8", - null, - "ed25519:3GBwHFLjpNvVwXf1LZn876iJXrhyK6vMSGALVLWs5A5KYdCWYqmGWx6bLyYQoNivbR2f39uGpRo1F7c932dieGXA", - "ed25519:QtZiRnNtwFqDMaV5mjun1mqgj1GBCu1FiVSXWbfLFVuMCwf3Lq5jtXGkLdTUb3Ckqm3E6JTM3ANPJpBo3CEB3qY", - "ed25519:2k4gb2xWm4vfnr2ELwegUjHsfZcUp2SwK6UJTDEtKayDk6oAHkC1jAZhmFp2XeXaDu3ep4bxDFsCJ9cpK9F1DZ57", - "ed25519:2MCUtGrhQtDePfce2JtwnDaXBdYzGXm22y3aN9SCdUnT1DWu9dAZWRGHDTSe4bgpmtQ7fihtSSkvZ5MYDDGsvGhG", - null, - null, - "ed25519:2fqaZjXZVohYxQZpXujf4KM8msBGjXRWKuC5LVzwwW23xwqdKo4baEgjd9sNhrdr6g7f8g8EBS8XZsXgM2VvoKrh", - "ed25519:2Y5oUgSxscNjfVqWhDwqYVNf3HpVKk7jyPqbTxzBtgHC3TM3vDoa6VE7WhPogy6b2GaE1N3G5UjQiVvLZKsqtQTk", - "ed25519:2x2FhAsc9wyh5Q6F4G6AugwxW2GLc3mUYnqAYR6KhYXzcS48jBapiVkqDZzQPmuaSbU3iiVppbc5tQ81XkjoYdFD", - "ed25519:4vm95c5F3fsb4Bj8w5N3GC9iVppgPqB2cBA8aSQWZMc8aCGHEidH4hUpZfyNi6rUQLCjfeB8oEB9chCJUdiDUVgd", - "ed25519:5E9MC42BVyc4GC2N6khj6qKxYo5o39WAswxhzSsomSPp6yXwgaQB187zHJYxxVwfJRDhZvmWkNYC43G6STpR5itq", - null, - "ed25519:5V92nivu9nrJQvY3ApE67xSRCaaoE6JvEmj7YdENRphH47icJqLtA1HKr8AbM66RNkmi8Uj7jTsWT4BAPsKxH16z", - null, - "ed25519:66JGVvpCKWtuBEfbpYVYEgHPZrRYPFZWBuwif4JxmUSGr46TEaoWeggRDX1UCgQotFsPCiQ8D3kmNc7vYcfyYeGF", - "ed25519:5QBACBRcUtmH9Qps7GhfhjJ8XnVjMpGUKeremUzi9iiPsQriH81SvYDZXESLq6nKtB7pPMZJBUFwd5ArQLjznPfy", - "ed25519:mxabXGKRoMg8K3E8AWF1mZz7Yzmpwufz1LqX9mb4hNKpoWvEs4a42MVhKaEfvvK9binsP4dJFE6bFZfRgPTRY4P", - "ed25519:5gV5s5GAqvW1cg5j9EPX8b2Hv158N85MxmgqtYhoqUwrCrqJPW8qvnef6y91m6cp3ZFAvAy5teSp7bRXz4XrJZX4", - "ed25519:4BdWVBRfApen81Bs1RXXE2qgECY7SToKkVh4AdRassaZ7oPadsnPt1VN1SDjP54SA5XX8Ur25dEwfFrarc14JnH1", - "ed25519:dwac5RtFWxqj2rJSekEBqCyjbHXeP8ZUijsGKYohrE27dJ9xdNx2u2mE2hGTPRRiNDoHH8EbDPDQ8qo5CDJRPkV", - "ed25519:4FqcjLwSNAXcXpkyQ3i5486taisTTvtVy7mpZCg19hRG79kduQHf6UdwcccYX4esAXbpvenRtBF2VXoTuS7s2HRK", - null, - null, - "ed25519:Ze1o7MvG1vonJpmvvr3PaxzVD5oYejcQB7M6DYVoVcJaAkrZKSwG7P7iFDHoJ1fQEuWZFGGmkDQ5VAc66jJvdCh", - null, - null, - null, - null, - null, - "ed25519:2GWBDRbG9vDrwEg8BTsv6tdmbFwT6JSoQgS97ZLa6dMHU38HhMUqK3GnmM37wGRe87AvdiHoFJcrqCoEdPLozMgz", - "ed25519:5oSZkKos8xmK9yQ8jdDFm9eFhb6ovDx5yYZbwyY8k6xKaT3WZM9jAyBJ76L1hPB5yAeZCpLYep39LXkDPcgEdsVS", - null, - "ed25519:2tCGetioAvczKk3n2W7T1C4vrR9YXN6Xxzp7LAyAscKiwuAZbu8ugiidVKHyguEC8urdncLi85TqaQcViy1cxGWM", - "ed25519:2VFb4kstpp9WuwsHU4iTkP28LxohBhNnU5ZTb69TNmQnDQdTnKNPXzUeKQ4EeDM4TkAjkZHUTHxAnE4ewKHXFvgj", - null, - "ed25519:2z71uQ1EybJF4wnfqmSRdepTCJTwojzo6prDK8ewe7JT86ce3hiCwaVSSky3ndBgAoGqRddNdq1a1DZjR31kmuMg", - null, - "ed25519:4ZcKwVo2GsNrMKPoQrMSyRq9zJiu1PtM8eVo1W3ZMwzSeMPs48bWt26z7SKUS26DvGLsibNyPjaCQpFcT29A1Vi5", - "ed25519:48xHsnNXArmLM7c7aEmVMMYKTHac7QzhmJwJaqS4XQAvTzHfxfLiBUYAw7CAeJj9u4Msvf5uX4YjHnLMMgZWMwD1", - null, - "ed25519:2GWaHg19XTZckYHeuRLLgCapGpFJDHxWLCh77meSbcJb9hBqzuYe8wXHkFDCSMcTBm2NYWRFCe8rpjCgKhQqMfKb", - "ed25519:4m8iELiY9jc7kaownZ34BcoABEvmvYom88ybViaipyn9g9rZxrekAqG2vsa3r8UDvBVBKqASrih3n6TJECRTzGrH", - "ed25519:2pB4raoccrvuaJgxXE5ChEqu8zQ6beZYyXYcjrmmBsVTH4yJgXGtHGj39cYkbuKZrAxEdu6JeRfEttfAT7Xebpq", - null, - "ed25519:4RzSBVqtNBxv95kAkLLpiqDZTceZkjGyxxPcVtpjoCRyjp7JsjfxwTmLtac5gbfpRteMthuJD2VXM31kz1NU9KTC", - "ed25519:3tAcvdUe9KZdRN4faedb4WKkLoXRSdLBpLGWw9VHsxZPJckJ9wCt5niGXkDCLaGEV5VvtHMCiwaMnUzHzqwj4yX8", - "ed25519:mdx2parTeYykt38Q48LrckvCL6VQ48pKb8ehm1zxNbNmyges6zcJQaWH54EKcezyzR6QZ813ECSYyhjiuVrfGki", - null, - null, - "ed25519:2DZdviPSDo6saWEkihZYiTEHQU1wBoTuoKT5u5SKKCDEW6ijFF1gG15Ptor2jSauSRyBPiNZG93LodYAyPpsoYR5", - "ed25519:4iAcDrSgfDAkgquJcSW6Nf8agdp9Rk8n25ggif5E1nqCedDkuQHH5ybH9LpnovwNYh5HtkcavA46rFa6QQeajY3r", - "ed25519:4bPDtjK92W4Fw6xcX9gKZbWcEkvSDcvbd28VnH4RrjUdFg6o9RGL4WdrSK9dmGFd5Dfp9cVNgD7EL8hBTP2tVZym", - "ed25519:4EsouNismPqRP9Mzn9smpfhvgAhrfynj4nGa86zhTfkiAaBkazSLwKMAs6UpedGutKtWLsFFuQptpg6Rtd6hjyeW", - null, - null, - null, - null, - "ed25519:4kkYvsgGy4QcgH3kTqaEza16ujpeP8Gt3poTMo4skcL2EC1YwPRMj1Z3hLiykbMQfYLRbzZoNJTUeiVTkaFUuj4W", - null, - "ed25519:4XDdpqa96atTGuvvZX7Qbnf1ZABJJtbjCJed9zAyBTE27XDViTqUNgCezEbnfita3r5Y3nZyHixxuNNubixB9H2K", - "ed25519:3SkdjvjZtwE6HnHfVrcXcHL2fKQ7iWMNTio41k6css8ekS5RfRFjGAPP8BYrb4uGvdv7o1MKJUfmwVtzk4nVPvm5", - "ed25519:4BKVKzsnq51PRwCB7TjUkq9FgCP1Zd3jYyeh9p43mqViqAf4o6Sog3GRgghTDsDFuNbx8q9m3NbxhA3sxggvZD7K", - null, - "ed25519:D9TL9i64xor2f1inzjLbg1u237gDGuRjGojMVG2FjLDuyQSp2jNgb3QdCas8BNUnJnmerLnRTYv8GdV8enzhM7o", - "ed25519:2NCKwwctsoiYvz8aWocNearLVp4DuBXsKmLH4rKcQw74BnqYcHR5p5NF3QHYauP6Bb8PwUzzgfxVP5w2AxBL5Xx9", - "ed25519:5LbHzUrCrRdBFG8ENJ63e6HTHH5a2Vx5Ue1ohyBUFSjgdrZq4NkpAWsZkpSxi2SikGVwTuJJvwYKKt9S9JQHmEWa", - "ed25519:tGkrZFaeGuCSCKq9FwsXpmmjzLHFSeiTbTuzRu5saU3TeNTtVigXFQiRsREDi1e9v11QtrfUNsr8iJHfphTv2Ar", - "ed25519:4cd8o3gkY2pinQnjnqPwGZPk7FbnkhGz4BiqQpoy9WXFSViNsR2q9vRpSffBUcdxEY7Aa8AYpCYFUcnAj3ymmP94", - "ed25519:hoN5sPKUCE51tUhDFisCoxNDFAh2iqWR3V7CGY6qpNkShRmN7M72tFUpeM3TFw2cheEDhMoxoeJy7fQ5UND46hd", - "ed25519:HhGDJjGU8zeGVUiBGmXodUFtMTdWDwcywmRGn7xkRrdtF2bjwsz1d7mZshF2D6DVNgYSL6JHW5NqNy6HQAgofap", - "ed25519:wRT8KPkHyBbixN2KSjXCTWV8mCnJhq7bYti8LGedxSp94vSDVM74okhfSc9yQV2D6jGGJxHZHyqmFZaGHTtbwUS", - "ed25519:2gq3YWWfmueeLsguKsFKZfTHUAPCgmbRkFVkfUp3iwoQXC8xYbYKL7JVtbC3CC8auLJFRHRpNHqKPTkmvGTHdMPS", - null, - "ed25519:3wSUM1JJXNftGaYcFPboYjY5ZP3fSZ8LNRyyx3mZ5R2P3n575rXLrzKxfZXyLdkQuKPYgBb8B9USw8GtvCXJwXQV", - null, - "ed25519:4ahQD43knJHHnBSs3Sjkm1rpuKiXN82w4uwBsnwcRJUSu2n9g9haW9gA2FXUyaU5Mdvs3obk2tHer4gS4o5apP9q", - "ed25519:vRn55gQbj6R5NMokYVGTeNe9qv31MpWx637MeW8P2sjsqhW44f9iZ8gfTD7jZtGQg29Vr8HLMYA6o5reDKYXVfU", - "ed25519:3ouEMNWg71TLqAqVoBgfov9vMvzjuB1wyYiFS4QcCW8g3oSijCyJznETyTB7Xb8xXJAB1bAJrv56Az2eWDmTX4B6", - null, - "ed25519:2mvNYwVfsqYhS9xvDgKUHksfzKvrRHZzzdSThxusYZpVQj39oLgxaZBcUcFYpfPRanE8LAiLHgwTbGsm1FGGgCRY", - "ed25519:31jRscwfnTZNd7GMCMUa3NYyBLmLaK7NybrM3Jk2iFsFRJrtzZDWBd295yZURagh3LVz1GdMH62JN85kW4euUq7U", - null, - "ed25519:WxjvVtJfdnBCCnHSkrWEiNLQ3djFDxdXnyJvScuNN4VkP47Ucij3WAADa3NsT4eKHz62wUyxphnwSagCrfNScBe", - "ed25519:3Z5R3spricrxYiAF22eUmCaA6YUqB6vS6tqBGN2kBJQH6jyGtsz5HeRT5Yqv6XjXdyqFqC4nLkLeFeHir1ScM6yp", - "ed25519:53CzpL3cuRE3YKqsFypdQb7Jb5rFZzmVhDN4C8EBhyxiVs9w36H3zTZuhmDrPpqbxATbcvVXnxaNGPJ37jucUJ23", - "ed25519:jfCLMctRfZmcnmtxm2oESfySEe3o5kzunfYT6q6SSEe1PJ3LGSm5tGVM2ECH37P6mbfFahrRoFstyFw63haTnMC", - null, - null, - "ed25519:52mKqdppsXyQDDgGNckEXCR9HcffGwgwHnBDALLomSmywsm6akkKgsLApeJ8vy9yWJLGJEPigf9Q54dzmmoxbJvh", - null, - "ed25519:4cayiLvTbTjVXDbV79KFctKPxdxBWRzft7o8dZMZHvShnvNVyFVD9ptm72DJF5jZu3yA6JD5KrenmgR2NUX5dmTD", - "ed25519:3r5i1nqia6sstsv4FAcr5MqkRyMMBuwmUuRF4wg2LU5fMBEKv9SxoZwSerUp4tgvYsgaMx8ogoeXfDJ1S4kQN4fb", - null, - "ed25519:3KKhVQ6K5o8DEh8ynMaEmwcPekdmjT95VSpPRkXLLGj8KGMm3GrbNiY9p5Eo2Wh4LiWK9VXeG9m9nmbMkffCh8QX", - null, - null, - null - ], - "inner_lite": { - "block_merkle_root": "ACQnXVDjgefGYTEnnBxVAXEsKMMSQ2TFKDgy7XAtdeuv", - "epoch_id": "Fz618UfUGrWLL8P5Vmgzdj6XvY5ysJq3AgGfHwvrEhnU", - "height": 80149888, - "next_bp_hash": "A7tKidGSbKkeX1HG2FKyV5Wgn1QRs5VGZurTKjCoTE2c", - "next_epoch_id": "4SjtaUTt2PcnmCgWhX3fpqZfEorWbhjNjsLc3ZdpnkKX", - "outcome_root": "AfQEfDvufV3e1b8BCdA7JCFzkn7wSZxMeL2ozQVeEyq5", - "prev_state_root": "GgZR8982KmNRBhnRtk1wFdaUTUUjFNqM61sTVLkSka8x", - "timestamp": 1670459767574741000, - "timestamp_nanosec": "1670459767574741102" - }, - "inner_rest_hash": "BzExUuxNoXjcZVqnppFAUiQQHJHwwAA9g5z7US6Aw83C", - "next_block_inner_hash": "5pjKSXZnTdc9ZyDT1h7UGUxzDmaQRkiXiiooK1883892", - "next_bps": [ - { - "account_id": "figment.poolv1.near", - "public_key": "ed25519:7RjyY1bRKDqkshbKZtgpQdwsdxou8j9my8g1hPKZ9ngM", - "stake": "32267930059834391462110827056715", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "astro-stakers.poolv1.near", - "public_key": "ed25519:2nPSBCzjqikgwrqUMcuEVReJhmkC91eqJGPGqH9sZc28", - "stake": "24448770396318937882284758021859", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bzam6yjpnfnxsdmjf6pw.poolv1.near", - "public_key": "ed25519:2ZJqaaCAisK4u8E2i611zFfvNmrvevovnU3M7SpGHkLY", - "stake": "23432318678126071713794703633833", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zavodil.poolv1.near", - "public_key": "ed25519:HHARoU1hANWF9hu7YRstDDvgyigBhUeUuqecRVr8dpUz", - "stake": "18863037440649360072476062131740", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "binancenode1.poolv1.near", - "public_key": "ed25519:Bb7uPEocbsiQwRfPmsiiiM88DodtuYnBDi6dKZ4JZo2N", - "stake": "13935791529854406170510960071716", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "yes_protocol1.poolv1.near", - "public_key": "ed25519:4bnrmHSMYkvsgjbQSaCY3AFwrfS1w17ACEUQdn7aC4iT", - "stake": "13645502272862075539225477729691", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_yes_protocol1.poolv1.near", - "public_key": "ed25519:CVVcLtfAWj6k1DqKJwhYBQwjMQFmXzFY2NBdMxp1RqL1", - "stake": "13557378031965539713430611610276", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "aurora.pool.near", - "public_key": "ed25519:FZKXoWHFCXMrKiXjAKFdHo5g9PDom4bWMRFERBfufi2Y", - "stake": "13351268427122086504057293250160", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "epic.poolv1.near", - "public_key": "ed25519:68HExKDtw1CjGzopZ8fMAMhMSZRVKRhwLzLQmGKtFNzT", - "stake": "12873376436183814159676160485981", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stake1.poolv1.near", - "public_key": "ed25519:7EiVt9i7SmULDKEnAXBFSMzwUmZdxUYDFkP73MZuCH1h", - "stake": "11214527051685931569710394746152", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sweat_validator.poolv1.near", - "public_key": "ed25519:677kArWPFPRDgWEBHqHj6BCmEdTVBsAcjQAc75Gtyq2j", - "stake": "10876724002830236390595614368384", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dqw9k3e4422cxt92masmy.poolv1.near", - "public_key": "ed25519:EPNc2bHqRCz6TKLstNiusv9qZCRBL63zViwUAcgoZJZj", - "stake": "10221497048115545839546659992570", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "future_is_near.poolv1.near", - "public_key": "ed25519:F3vEGwYYGisaXwKJWrYgorB95DfArDby8bK5wydxD5fp", - "stake": "10184228488569533493572503149577", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "rekt.poolv1.near", - "public_key": "ed25519:FoAaUdVKEHtVokG1aVmJNou61YcfQhXmaZ5Hnfsz4fHC", - "stake": "9862660186665200903388368108410", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "valisaurus-dex.poolv1.near", - "public_key": "ed25519:CkgfrweyZmVfjDNJD3jqzLcsK1ktjvjLLDVVj87UHCAc", - "stake": "9370258791787137595225367445661", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "finoa.poolv1.near", - "public_key": "ed25519:62gxgzoie7FiK9dnWuiwM1bbuvhpceYDavK7SgdfEMJc", - "stake": "9118134947024110102396306656874", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kiln.poolv1.near", - "public_key": "ed25519:GAekByYrSuo3seuaGQx7V1ZTC3gWZY8JxZJ4aWW76LiT", - "stake": "9022132600571274315619092927814", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "blockdaemon.poolv1.near", - "public_key": "ed25519:3GNFSJiFQQ1rnR68T4eZRff2omPhg1CTewUHBJpQAdyc", - "stake": "8639784687055518910131958923448", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearcrowd.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "7011257024352463796141327482982", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "foundry.poolv1.near", - "public_key": "ed25519:5Qx8Fq3SK4Vu1sRRpf2HsNGLAqdNqgkKEebHMniLWhkW", - "stake": "6584665900403305484223127866676", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "near-fans.poolv1.near", - "public_key": "ed25519:AgV97ssnHm7qN8JhYZjwyDtuaT6Ms3Fgbw3WeAC8M3iF", - "stake": "6542256993966941304399306754416", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "d1.poolv1.near", - "public_key": "ed25519:7ZhMRwnSHGJtWjGBZiRhhSi6XyqKeNHtnEXsVTNdrsk6", - "stake": "6316673413474079469368674007464", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "anonymous.poolv1.near", - "public_key": "ed25519:Hoj7LbPwNwAkLFhf8z2aDF1BG6NDSrq1BfkdaKqPfbXx", - "stake": "6276153173086372502281708357404", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hashquark.poolv1.near", - "public_key": "ed25519:3YDdmN1vhF7yAWnYxGMHY46jcLE9h11HvEeF6Kntugeq", - "stake": "6209796860349195195208124235280", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "continue.poolv1.near", - "public_key": "ed25519:9rDZywYL3tnvzj6hnePw3MaPFPfSeSCLxBp1niTGbMaK", - "stake": "6141476607834391929085780221542", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "08investinwomen_runbybisontrails.poolv1.near", - "public_key": "ed25519:C6yqxQ3suwjmm8ufG5e3BsHiwxUs9h839FCneF41V7TM", - "stake": "5637104701013295000160179204829", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dokiacapital.poolv1.near", - "public_key": "ed25519:FGcJJeWMyx1xDbfkcPM2oMeUeGaADJuPmeqx5rjsHn7t", - "stake": "5440132813305062810166562580643", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "magic.poolv1.near", - "public_key": "ed25519:5fwufMXx9CTyLRkz7x3htQa3rFGzFZuz6d43LhCTmKCS", - "stake": "5338589236907259374950350124245", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "hb436_pool.poolv1.near", - "public_key": "ed25519:7oU4C3vWqkeup7aMfjyV1ojt7yKX7ShLfvNCahBRy1eW", - "stake": "5283888780489596927951641605587", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "accomplice.poolv1.near", - "public_key": "ed25519:5ck255MtkoGQxh9LfjNtdb4M7WHkUmjU7SBJCEkZP2B7", - "stake": "5273407287626909034082717719215", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "chorusone.poolv1.near", - "public_key": "ed25519:AZwJAgu2qRxHwdpj8ioZEFGcc2jbaZGN7ZvUe7CuXtM7", - "stake": "5165003389972738726231321869195", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "electric.poolv1.near", - "public_key": "ed25519:GpSr5KAZMZ1Cb4dHMRUVhmp95y2fmWtm4dEjAr8iAva5", - "stake": "4943887976328683672222333049782", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakin.poolv1.near", - "public_key": "ed25519:85UGfKdVoxX9u86JsBMxmVHBguYonnM3vTR2WoD5GkEg", - "stake": "4896950343460574945517452260903", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "ideocolabventures.poolv1.near", - "public_key": "ed25519:6NFuvrmnJiokXibR9Z7TUHjB4NJnD1rJAHhBu9JWmBdh", - "stake": "4846182082789433636174198261113", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "openshards.poolv1.near", - "public_key": "ed25519:4Xm73PiAGMZu3mZg4gF7j96iTAFHGbPvqzxBaTgKP4ub", - "stake": "4747746012859705303043056720871", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "northernlights.poolv1.near", - "public_key": "ed25519:7HXh6iS9Rh92Uj1c5T9fPjQXPLnti4Rr2cJQcJEYpdGV", - "stake": "4567608071394400776577686171563", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearfans.poolv1.near", - "public_key": "ed25519:GM8vWM4TqTt7jh3sXYCAs2KPyn4vEmAceteBGEFYhyku", - "stake": "4481544531002061875475738253099", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptium.poolv1.near", - "public_key": "ed25519:5Y9hW8cKBb5RnsJBqttHHC5ujz5zcZZ5xnrJPwkCWmGQ", - "stake": "4150233579770339136027389842979", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandora.poolv1.near", - "public_key": "ed25519:53N7KBhSkEP6tLuQmxZV9fAK16D1C2kWnuzes8KNyS7P", - "stake": "4064606460880968441824944575890", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nc2.poolv1.near", - "public_key": "ed25519:He7QeRuwizNEhBioYG3u4DZ8jWXyETiyNzFD3MkTjDMf", - "stake": "3997160171425725094587085214124", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "smart-stake.poolv1.near", - "public_key": "ed25519:A6wpkLQiYqPZ1rbd9s5S1Bg3LxccVsQqiCRDUXwzJ6Hx", - "stake": "3967706237057959982947178816482", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "p2p-org.poolv1.near", - "public_key": "ed25519:J441YAvvYvjWs3aVzjc5KLLWRzmhQTEMaymPyWFkMGeG", - "stake": "3934696328853347722552656983977", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staked.poolv1.near", - "public_key": "ed25519:3JBVXqenru2ErAM1kHQ8qfd29dCkURLd6JKrFgtmcDTZ", - "stake": "3898014678956196850922022408467", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "everstake.poolv1.near", - "public_key": "ed25519:4JLvwa1r2eAxHLyKeDJnpqMG5f2Z9rr49rwuTwb9g8u2", - "stake": "3817821241218196947540368428547", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bisontrails.poolv1.near", - "public_key": "ed25519:Emk6wQJtpQZRJCvvPmmwP9GD2Pk37xxRpmb5uRvJpX62", - "stake": "3440284650289276201838256874622", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakesabai.poolv1.near", - "public_key": "ed25519:6abauNvvWnEkagjVpWRy2tZJdzPkmqurUjteMTKk5KQF", - "stake": "3420603671130428920505024441991", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "buildlinks.poolv1.near", - "public_key": "ed25519:Hd3irGt4zEqRPAzcFszX3oTkVWRFFxdecDvShCJSS1Wg", - "stake": "3354110293008261620783497968792", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "sharpdarts.poolv1.near", - "public_key": "ed25519:9XMHXqv7rM3QQxzjUu7dfKD7GhMkq8CEceaPdkhiBQUX", - "stake": "3225895020925072859614666197746", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "erm.poolv1.near", - "public_key": "ed25519:88nnN6LAuCbJaj9wucd1WUMfTtdv2s3njpvozHft8oQ5", - "stake": "3070428970919196743081886532011", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_00.poolv1.near", - "public_key": "ed25519:62c41nzrrZAspLnPBC2A112PXBhJuj1cGkVE3ANwbzat", - "stake": "3064681233044942541942239648911", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "consensus_finoa_01.poolv1.near", - "public_key": "ed25519:3LqCGkM3uLjQjPmd3yVyaEnceinEL4cBfUm9vp5hJRTJ", - "stake": "3051042218163087314125741490240", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dsrvlabs.poolv1.near", - "public_key": "ed25519:9SACdsDDgXA2WZLfJvpkKbu22Exxtc4CMbeHmVnN2P4a", - "stake": "2981882087773676922954081895108", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "brea.poolv1.near", - "public_key": "ed25519:8dce49J5G28yMGRcSiDnYNFh7GBSma8TmYaw5mGTSH1Z", - "stake": "2966135622632450433233162523153", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lux.poolv1.near", - "public_key": "ed25519:HzTGTDfTz63QGvvUdMGozFeaENFGyYAoSrqYJb23qZFN", - "stake": "2921133846022226926163556873560", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nodeasy.poolv1.near", - "public_key": "ed25519:8mjespqqUePSYSsxYxPqCUsZUuMxVJr1vjBRwFeCke5K", - "stake": "2921022997827923252577398662143", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lunanova.poolv1.near", - "public_key": "ed25519:qkfP4NsSuHybdLhdvvYQ2Y9xWPsd249thEvrzbJBKNc", - "stake": "2791635930653011429432432240550", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "republic.poolv1.near", - "public_key": "ed25519:5sT6xtwxvLARW6y3KURYmyFd5SokJFhiK4jyqbamzzZ6", - "stake": "2786918798814407484198428341808", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "zkv_staketosupportprivacy.poolv1.near", - "public_key": "ed25519:2kAo86DW8mDaLDg37rFhQY8UYSZVq1CtegUHBEDvpSMA", - "stake": "2625635075411092592197419173876", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "baziliknear.poolv1.near", - "public_key": "ed25519:E4LAWdgLifBEoaWvhRNy5vpdAnUc3GsUHePeiAurZY5v", - "stake": "2621342693204588981324799821151", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stardust.poolv1.near", - "public_key": "ed25519:6rxCJpTnrT6NFuGg6d5Dj3FEUz1ScNU9u35ywB3dYhrX", - "stake": "2424461303573556097928007430879", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fish.poolv1.near", - "public_key": "ed25519:27KegJd17HeXHk9h5MqkT35QAuvYvo5GFgPTpSVU4kPN", - "stake": "2317812513124276059654951147146", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "masternode24.poolv1.near", - "public_key": "ed25519:5ZyaXsGCya4Sch5bqUfohvo7iRFYB9ancRouggWRsiDU", - "stake": "2052846839551030146248389593256", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "moonlet.poolv1.near", - "public_key": "ed25519:GkDwzPckMfhkdYgyFG69Uph8RJ12BcV9xNeZW2q93ZJD", - "stake": "1978476848592001236624586102736", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "fresh.poolv1.near", - "public_key": "ed25519:6YHLXhohY8kMnkp5Jw4HrJ52xtdyt1rcP6AaWkKzh3ED", - "stake": "1917165763318001382081893415160", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "inotel.poolv1.near", - "public_key": "ed25519:DmEDRntb9NwfbfdvDf6wzjsw1vxzQcJAAhFL2J75iLwr", - "stake": "1856397148540791051449473156906", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "qbit.poolv1.near", - "public_key": "ed25519:5DqZLnDu6PMEyhJzc5NhiMsoWeYMWG1bC4AULyafoXMv", - "stake": "1700615868159552973663180241509", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "appload.poolv1.near", - "public_key": "ed25519:6LbMVL6otkvZbpuC9sN3z7EXSMo3PT9noPeBdBZTFneM", - "stake": "1679369360823581918381266127970", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "01node.poolv1.near", - "public_key": "ed25519:5xz7EbcnPqabwoFezdJBxieK8S7XLsdHHuLwM4vLLhFt", - "stake": "1629894135363600159601310333174", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "jazza.poolv1.near", - "public_key": "ed25519:EW66Fkv7XcE9FiybuYtVURjHhYeEgwWWpzF685Vi7foY", - "stake": "1537168327780832615393801033336", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "satori.poolv1.near", - "public_key": "ed25519:9r8HYmw8mbys2Ng9BaKeQqZnaQTGCcBUbMatV5NeeWJj", - "stake": "1508539905819206355591706472233", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "avado.poolv1.near", - "public_key": "ed25519:FdLWsf42e3Sc7bdKMtxJMgWRP21ysZDSXFnS2vTwTaaA", - "stake": "1250046107006263013630127112007", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "allnodes.poolv1.near", - "public_key": "ed25519:AGEeyukQdMtg8EttsU39YLgryhao8yQeVwQTut5bbWdL", - "stake": "1195252719117628887416075486458", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nonli-near.poolv1.near", - "public_key": "ed25519:91jusDFxjY32h51tfq2HoKhoPbGs66s88t1v2oZPBSxC", - "stake": "1161921029776048883809173739540", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_sp2.poolv1.near", - "public_key": "ed25519:CS4uHAipvtxGz9irnoCX7SxT6d8zKpDj8Y3Fyf2zVgBp", - "stake": "1160031845209316428926443177543", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galactic.poolv1.near", - "public_key": "ed25519:GFK83N32DbERtFg8rkpfNBsKtkFpmNQzyKFM9kJvPCMG", - "stake": "1128623778138700709651174315696", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pandateam.poolv1.near", - "public_key": "ed25519:Cu83NRziNLiT6HLu9kJ8svFoftZQ9wVmjScxjqCybppt", - "stake": "1059398813443499669202877273654", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking_opp_disc.poolv1.near", - "public_key": "ed25519:8XbCfLQVSwtwaBajvByG87CxPPbaFdryz5qEkde1fSGv", - "stake": "1014432185120119218278325137662", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bridgetower_v1.poolv1.near", - "public_key": "ed25519:AHgnnt8yhNBpoZChBiHXfjaH6X2zMZaDDXmmSWHvDcWL", - "stake": "1010811160367673711487578809377", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dexagon.poolv1.near", - "public_key": "ed25519:AQHwptR3Ho348BpFXJDjkxpWMW5ZwN7xWM3XWAWSEEgs", - "stake": "952227730331938899019826610125", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "bitcoinsuisse.poolv1.near", - "public_key": "ed25519:Cy2sboVqjDk6d3d2A2AJZBdFvokjk7sjZpYATLjcQSCj", - "stake": "879341390852767515921191944942", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "pathrocknetwork.poolv1.near", - "public_key": "ed25519:2iJQLVXubWafG7K1NzGVvjP54UJCgVg3cuPMktw8r7uQ", - "stake": "813368220586072595703716008923", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptogarik.poolv1.near", - "public_key": "ed25519:45zFAC8pLgwn1d5pSBpBHesWbzngfRgd92zaom7K8m8j", - "stake": "716979026724796939601661063097", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "prophet.poolv1.near", - "public_key": "ed25519:BV5b4DpgCUy1TEitE4TVPhpTY7uDNpHc8DBPyH6cYCBq", - "stake": "699150523094162833711000746684", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "cryptoblossom.poolv1.near", - "public_key": "ed25519:5opTNJEkCBYuyMgAghY2Sxp4bBtXYQtbEvZ3Wc5Awohb", - "stake": "673490039400722325693307613489", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "staking-power.poolv1.near", - "public_key": "ed25519:42ikqyV1BYmSnhHJ9EsLLy9kgeAg1mC3qqU1AJGaTEaW", - "stake": "673202452274613102148649791513", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "optimusvalidatornetwork.poolv1.near", - "public_key": "ed25519:C3CJMKaWdEzkqyNCKwnKud6wDNnzs7Ura63k16zm4LUU", - "stake": "645017282672780704614220577083", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "legends.poolv1.near", - "public_key": "ed25519:DNK46DeHKeJPF9YetmNxZnqtpkeLjdUb9ezSRCue3TpB", - "stake": "644372308786002574815706921212", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "infiniteloop.poolv1.near", - "public_key": "ed25519:9BUwtDegzwKcmJBjLgUDLHc3pePgPKcWJXYGcZb33Nyr", - "stake": "639304221753964795604833067554", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "steak.poolv1.near", - "public_key": "ed25519:3tZG4QgzWpTKt2dChqZVUTBvF35pvG7BHyyJULF8VXQc", - "stake": "633709856724204464036186645552", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "usn-unofficial.pool.near", - "public_key": "ed25519:9vdrbg4MDfZyknYeRzUbL1juK5aMm7xWs6nukUZQpY3b", - "stake": "590112938520903690162578518444", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "stakely_io.poolv1.near", - "public_key": "ed25519:HWp9E3gP91s25ddMS9xUWuzbJUpVGiPoitu5bT6hqMHs", - "stake": "565517107787076279832610201763", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "dragonfly.poolv1.near", - "public_key": "ed25519:6Gj8MRp9KqfdiXa35LJcZnqeBNNEZoYk6ysvpzHaruvq", - "stake": "563493893384681661633478059059", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "lionstake.poolv1.near", - "public_key": "ed25519:8kciZQy815tZooy7HPJkBq2cyEw9L7fbsWcmWLgwG4m3", - "stake": "524685020813553664946771963968", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "atomic-nodes.poolv1.near", - "public_key": "ed25519:CpVAHE3JpfDoEPqjBDgYEjgG8JhM5BFKbjUD2N1EuvAL", - "stake": "475832428050148759619838124910", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "galaxydigital.poolv1.near", - "public_key": "ed25519:8ZD8CcSzSfVsYo7XyABHJsYcrpBE3EL5MwukoEfrNYMR", - "stake": "447037817754920181983891910796", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "nearua.poolv1.near", - "public_key": "ed25519:6YRLTm4coawMYrchYs1ex5BLY7xtnPrnvGWgk6NJAQvy", - "stake": "441727595810885712382997831378", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "synclub.poolv1.near", - "public_key": "ed25519:4888ehXrQvgtVRTc9rTNnk21wGKHwgi7jrhdUdyqSAtG", - "stake": "436260404387586854195944876107", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "kosmos_and_p2p.poolv1.near", - "public_key": "ed25519:41GWxdQHe4Y2fuisvz5k5G2NwDFEavRkisoZkB5tfJuC", - "stake": "425814456126218912777947234370", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "vortex_live.poolv1.near", - "public_key": "ed25519:GrPW17VhMVLi15JohsM2ag2GpcqpQuJNm3Hf6vPYXRYZ", - "stake": "413968265376325486884381737102", - "validator_stake_struct_version": "V1" - }, - { - "account_id": "grassets.poolv1.near", - "public_key": "ed25519:GS8uhr7mhsBWB5c1JgvsJzpwZDGrcnB9Xnw7YRyMSQP5", - "stake": "406935265446995387460289980945", - "validator_stake_struct_version": "V1" - } - ], - "prev_block_hash": "CBmAjb7uhoUidUkyoYn1BzdqMXAP7QHiqbuzYTYUcPjw" - } - } - } -] \ No newline at end of file From 3e3dfb6b762a9406ba529d3e774993c666203055 Mon Sep 17 00:00:00 2001 From: Austin Abell Date: Wed, 24 Apr 2024 10:36:43 -0400 Subject: [PATCH 4/5] functionality works, intermittent error with rpc outcome proofs --- near-zk-light-client/host/Cargo.toml | 2 + near-zk-light-client/host/src/main.rs | 62 +++++++++++++++++-- .../outcome_methods/guest/src/main.rs | 11 +++- 3 files changed, 66 insertions(+), 9 deletions(-) diff --git a/near-zk-light-client/host/Cargo.toml b/near-zk-light-client/host/Cargo.toml index 820f2d4..d2f34b2 100644 --- a/near-zk-light-client/host/Cargo.toml +++ b/near-zk-light-client/host/Cargo.toml @@ -5,6 +5,7 @@ edition = "2021" [dependencies] methods = { path = "../methods" } +outcome_methods = { path = "../outcome_methods" } risc0-zkvm = { version = "0.21.0" } tracing-subscriber = { version = "0.3", features = ["env-filter"] } serde = "1.0" @@ -14,4 +15,5 @@ borsh = "1.3.0" anyhow = "1.0" near-jsonrpc-client = "0.8.0" near-primitives = "0.20.1" +near-jsonrpc-primitives = "0.20.1" tokio = { version = "1.37.0", features = ["full"] } diff --git a/near-zk-light-client/host/src/main.rs b/near-zk-light-client/host/src/main.rs index 9b0a174..bdaf878 100644 --- a/near-zk-light-client/host/src/main.rs +++ b/near-zk-light-client/host/src/main.rs @@ -1,11 +1,13 @@ use borsh::{BorshDeserialize, BorshSerialize}; use methods::{LIGHT_CLIENT_ELF, LIGHT_CLIENT_ID}; use near_jsonrpc_client::{methods as rpc_methods, JsonRpcClient}; +use near_jsonrpc_primitives::types::chunks::ChunkReference; use near_primitives::types::{BlockId, BlockReference, Finality}; use near_zk_types::{ BlockCommitData, LightClientBlockLiteView, LightClientBlockView, PrevBlockContext, ValidatorStakeView, }; +use outcome_methods::{OUTCOME_ELF, OUTCOME_ID}; use risc0_zkvm::{default_prover, ExecutorEnv, Receipt}; use serde::{Deserialize, Serialize}; @@ -52,8 +54,8 @@ async fn main() -> anyhow::Result<()> { ) .await?; - // Pick a start height from 2 epochs back. - let start_height = cur_block.header.height - (protocol_config.epoch_length * 3); + // Pick a start height from 2 epochs back, with some buffer for the latency of requests. + let start_height = cur_block.header.height - (protocol_config.epoch_length * 3) - 7; // Get a block from a previous epoch (really just need the hash, but this is what the rpc has). let start_block = client @@ -86,6 +88,10 @@ async fn main() -> anyhow::Result<()> { current_bps, }; + // Obtain the default prover. + let prover = default_prover(); + + // Verify a few recent light client blocks. let mut prev_proof: Option = None; let mut last_block_hash = light_client_block.prev_block_hash; for _ in 0..2 { @@ -110,9 +116,6 @@ async fn main() -> anyhow::Result<()> { let borsh_buffer = borsh::to_vec(&(&LIGHT_CLIENT_ID, &prev_context, &block))?; let env = builder.write_slice(&borsh_buffer).build()?; - // Obtain the default prover. - let prover = default_prover(); - // Produce a receipt by proving the specified ELF binary. let receipt = prover.prove(env, LIGHT_CLIENT_ELF)?; @@ -129,11 +132,58 @@ async fn main() -> anyhow::Result<()> { near_primitives::hash::CryptoHash(block_commit_data.new_block_lite.hash().0); } + // Retrieve some transactions in the latest block to prove. + let chunk_id = cur_block.chunks.first().unwrap().chunk_hash; + let chunk = client + .call(rpc_methods::chunk::RpcChunkRequest { + chunk_reference: ChunkReference::ChunkHash { chunk_id }, + }) + .await?; + + let prev_proof = prev_proof.unwrap(); + + for transaction in chunk.transactions.into_iter().take(3) { + println!("proving {:?}", transaction); + // Get execution proof outcome. + let rpc_outcome = client + .call( + rpc_methods::light_client_proof::RpcLightClientExecutionProofRequest { + id: near_primitives::types::TransactionOrReceiptId::Transaction { + transaction_hash: transaction.hash, + sender_id: transaction.signer_id, + }, + light_client_head: last_block_hash, + }, + ) + .await?; + + let outcome_proof = near_zk_types::RpcLightClientExecutionProofResponse { + outcome_proof: round_trip_borsh(rpc_outcome.outcome_proof)?, + outcome_root_proof: round_trip_borsh(rpc_outcome.outcome_root_proof)?, + block_header_lite: round_trip_borsh(rpc_outcome.block_header_lite)?, + block_proof: round_trip_borsh(rpc_outcome.block_proof)?, + }; + + // Verify proof, composing with light client proof + let mut builder = ExecutorEnv::builder(); + + // Add light client proof as assumption. + builder.add_assumption(prev_proof.clone()); + + let borsh_buffer = borsh::to_vec(&(&prev_proof.journal.bytes, &outcome_proof))?; + let env = builder.write_slice(&borsh_buffer).build()?; + + // Produce a receipt by proving the specified ELF binary. + let receipt = prover.prove(env, OUTCOME_ELF)?; + + receipt.verify(OUTCOME_ID)?; + } + Ok(()) } // Conversions simply because near primitives types had bloat that could not be compiled in the -// zkvm. Just round trip serializing for expedience, not necessary. +// zkvm. Just round trip serializing for dev expedience, not necessary. // TODO get rid of this fn round_trip_borsh(origin: impl BorshSerialize) -> anyhow::Result where diff --git a/near-zk-light-client/outcome_methods/guest/src/main.rs b/near-zk-light-client/outcome_methods/guest/src/main.rs index caf8895..f47a6ac 100644 --- a/near-zk-light-client/outcome_methods/guest/src/main.rs +++ b/near-zk-light-client/outcome_methods/guest/src/main.rs @@ -25,6 +25,7 @@ fn inclusion_proof_verify( block_hash_matches && outcome_verified && block_verified } + pub fn verify_outcome<'a>( outcome_hash: &CryptoHash, outcome_proof: impl Iterator, @@ -71,7 +72,7 @@ fn verify_hash<'a>( path: impl Iterator, item_hash: MerkleHash, ) -> bool { - compute_root_from_path(path, item_hash) == root + dbg!(compute_root_from_path(path, item_hash)) == dbg!(root) } fn main() { @@ -90,12 +91,16 @@ fn main() { "Block guest ID from recursive proof does not match expected" ); - let block_hash = new_block_lite.hash(); + // TODO sporatically, the calculated merkle root will match the block hash for some reason? + // let block_hash = new_block_lite.hash(); + let block_merkle_root = new_block_lite.inner_lite.block_merkle_root; assert!( - inclusion_proof_verify(block_hash, &proof), + inclusion_proof_verify(block_merkle_root, &proof), "Invalid inclusion proof" ); + let block_hash = new_block_lite.hash(); + // Commit the tx hash and transaction outcome let commit_data = ( block_hash, From e5f54b418ec86911f590e9e32404dc217a075b25 Mon Sep 17 00:00:00 2001 From: Austin Abell Date: Wed, 24 Apr 2024 11:07:35 -0400 Subject: [PATCH 5/5] switch to archival RPC --- near-zk-light-client/host/src/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/near-zk-light-client/host/src/main.rs b/near-zk-light-client/host/src/main.rs index bdaf878..c0e8d6e 100644 --- a/near-zk-light-client/host/src/main.rs +++ b/near-zk-light-client/host/src/main.rs @@ -36,7 +36,8 @@ async fn main() -> anyhow::Result<()> { tracing_subscriber::fmt() .with_env_filter(tracing_subscriber::filter::EnvFilter::from_default_env()) .init(); - let client = JsonRpcClient::connect("https://rpc.mainnet.near.org"); + // let client = JsonRpcClient::connect("https://rpc.mainnet.near.org"); + let client = JsonRpcClient::connect("https://archival-rpc.mainnet.near.org"); // Get the current block (just to get current height, maybe a better way to do this?) let cur_block = client