use alloy::primitives::{address, U256};
use alloy::providers::ProviderBuilder;
use alloy_erc20::{BasicTokenStore, Erc20ProviderExt, TokenId, TokenStore};
use dotenvy::dotenv;
use std::env;
#[tokio::main(flavor = "current_thread")]
async fn main() {
dotenv().ok();
let eth_rpc = env::var("ETH_RPC").unwrap();
let provider = ProviderBuilder::new().connect_http(eth_rpc.parse().unwrap());
let mut store = BasicTokenStore::new();
let _dai = provider
.get_token(
address!("6B175474E89094C44Da98b954EedeAC495271d0F"),
&mut store,
)
.await
.unwrap();
let dai = store.get(1, TokenId::Symbol("DAI".to_string())).unwrap();
let balance = dai.get_balance(U256::from(1000000000000_u64));
println!("Balance: {balance}")
}