Advertisement
FrankDFarrell

niswap-v2-core

Apr 8th, 2024
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 1.38 KB | Cryptocurrency | 0 0
  1. use ethers::types::Address;
  2. use uniswap_v2_core::{uniswap_factory, uniswap_pair, uniswap_router};
  3.  
  4. const RPC_URL: &str = "https://eth.llamarpc.com";
  5.  
  6. #[tokio::main]
  7. async fn main() -> Result<(), Box<dyn std::error::Error>> {
  8.     // Initialize a new instance of the Weth/Dai Uniswap V2 pair contract
  9.     let uniswap_v2_pair = uniswap_pair::new("0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11", RPC_URL)?;
  10.  
  11.     // Use the get_reserves() function to fetch the pool reserves
  12.     let (reserve_0, reserve_1, _) = uniswap_v2_pair.get_reserves().call().await?;
  13.     println!("ETH / DAI Price: {}", reserve_0 / reserve_1);
  14.  
  15.     // DAI: 0x6B175474E89094C44Da98b954EedeAC495271d0F
  16.     let token_0: Address = uniswap_v2_pair.token_0().call().await?;
  17.     // WETH: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
  18.     let token_1: Address = uniswap_v2_pair.token_1().call().await?;
  19.     println!("Token: {:?}, {:?}", token_0, token_1);
  20.  
  21.     let uniswap_v2_factory =
  22.         uniswap_factory::new("0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f", RPC_URL)?;
  23.     let pair: Address = uniswap_v2_factory.get_pair(token_0, token_1).call().await?;
  24.     println!("Pair: {:?}", pair);
  25.  
  26.     let uniswap_v2_router =
  27.         uniswap_router::new("0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D", RPC_URL)?;
  28.     let factory: Address = uniswap_v2_router.factory().call().await?;
  29.     println!("Factory: {:?}", factory);
  30.  
  31.     Ok(())
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement