use anyhow::Result;
use pool_sync::{Chain, PoolSync, PoolType, PoolInfo};
use env_logger;
#[tokio::main]
async fn main() -> Result<()> {
env_logger::init();
let start_block = 80000400; let end_block = 80803400;
println!("Syncing Agni pools on Mantle from block {} to {}...", start_block, end_block);
let pool_sync = PoolSync::builder()
.add_pool(PoolType::Agni)
.chain(Chain::Mantle)
.rate_limit(1000)
.block_range(start_block, end_block) .build()?;
let (pools, last_synced_block) = pool_sync.sync_pools().await?;
println!(
"Sync completed! Synced {} pools, last synced block: {}",
pools.len(),
last_synced_block
);
println!("\nFirst 5 pools information:");
for (i, pool) in pools.iter().take(5).enumerate() {
println!(
" {}. Address: {:?}, Token0: {}, Token1: {}",
i + 1,
pool.address(),
pool.token0_name(),
pool.token1_name()
);
}
Ok(())
}