use alloy::{primitives::address, providers::ProviderBuilder};
use alloy_flashblocks::FlashblocksProviderExt;
use eyre::Result;
const RPC_URL: &str = "https://mainnet-preconf.base.org";
#[tokio::main]
async fn main() -> Result<()> {
let provider = ProviderBuilder::new().connect_http(RPC_URL.parse()?);
println!("Fetching flashblock state...\n");
if let Some(block) = provider.flashblock().await? {
println!(
"Flashblock {} | {} txs | {} gas used",
block.header.number,
block.transactions.len(),
block.header.gas_used
);
}
let addr = address!("833589fCD6eDb6E08f4c7C32D4f71b54bdA02913");
let balance = provider.flashblock_balance(addr).await?;
println!("\nBalance of {}: {} wei", addr, balance);
let nonce = provider.flashblock_nonce(addr).await?;
println!("Nonce of {}: {}", addr, nonce);
Ok(())
}