use near_api_types::{BlockHeight, CryptoHash, Reference};
use crate::{
advanced::block_rpc::SimpleBlockRpc,
common::query::{PostprocessHandler, RequestBuilder, RpcBlockHandler},
};
#[derive(Debug, Clone, Copy)]
pub struct Chain;
impl Chain {
pub fn block_number() -> RequestBuilder<PostprocessHandler<BlockHeight, RpcBlockHandler>> {
RequestBuilder::new(SimpleBlockRpc, Reference::Optimistic, RpcBlockHandler)
.map(|data| data.header.height)
}
pub fn block_hash() -> RequestBuilder<PostprocessHandler<CryptoHash, RpcBlockHandler>> {
RequestBuilder::new(SimpleBlockRpc, Reference::Optimistic, RpcBlockHandler)
.map(|data| CryptoHash::from(data.header.hash))
}
pub fn block() -> RequestBuilder<RpcBlockHandler> {
RequestBuilder::new(SimpleBlockRpc, Reference::Optimistic, RpcBlockHandler)
}
}