#balance #io #eth-call

ethers-erc20balances

Get many balances in one eth_call

3 releases

0.1.2 Feb 19, 2024
0.1.1 Jul 24, 2023
0.1.0 Jul 23, 2023

#2536 in Magic Beans

Download history 148/week @ 2024-02-18 21/week @ 2024-02-25 1/week @ 2024-03-03 5/week @ 2024-03-10 55/week @ 2024-03-31 1/week @ 2024-04-07

56 downloads per month

MIT license

13KB
243 lines

Call one token balance

let provider = Arc::new(Provider::<Http>::connect(rpc).await);
let balances = provider.get_erc20_balances(vec![Address::zero()], vec![Address::from_str("0xdAC17F958D2ee523a2206206994597C13D831ec7").unwrap()).await.unwrap();

result:

0x0000000000000000000000000000000000000000: {
    0xdac17f958d2ee523a2206206994597c13d831ec7: 17962155817,
}

Call many tokens balance

let tokens = vec![
    Address::from_str("0xdAC17F958D2ee523a2206206994597C13D831ec7").unwrap(), // USDT
    Address::from_str("0x6B175474E89094C44Da98b954EedeAC495271d0F").unwrap(), // DAI
]
let provider = Arc::new(Provider::<Http>::connect(rpc).await);
let balances = provider.get_erc20_balances(vec![Address::zero()], tokens).await.unwrap();

result:

0x0000000000000000000000000000000000000000: {
    0xdac17f958d2ee523a2206206994597c13d831ec7: 17962155817,
    0x6b175474e89094c44da98b954eedeac495271d0f: 9234114788971643034663,
},

Call many tokens balance with many addresses

let tokens = vec![
    Address::from_str("0xdAC17F958D2ee523a2206206994597C13D831ec7").unwrap(), // USDT
    Address::from_str("0x6B175474E89094C44Da98b954EedeAC495271d0F").unwrap(), // DAI
];
let wallets = vec![
    Address::zero(),
    Address::from_str("0xF977814e90dA44bFA03b6295A0616a897441aceC").unwrap(),
];
let provider = Arc::new(Provider::<Http>::connect(rpc).await);
let balances = provider.get_erc20_balances(wallets, tokens).await.unwrap();

result:

0x0000000000000000000000000000000000000000: {
    0x6b175474e89094c44da98b954eedeac495271d0f: 9234114788971643034663,
    0xdac17f958d2ee523a2206206994597c13d831ec7: 17962155817,
},
0xf977814e90da44bfa03b6295a0616a897441acec: {
    0x6b175474e89094c44da98b954eedeac495271d0f: 7000000000000000000000000,
    0xdac17f958d2ee523a2206206994597c13d831ec7: 1429615184000000,
},

Dependencies

~28–45MB
~835K SLoC