7 unstable releases (3 breaking)
0.4.3 | Nov 30, 2022 |
---|---|
0.4.2 | Nov 30, 2022 |
0.3.1 | Nov 24, 2022 |
0.2.0 | Oct 1, 2022 |
0.1.1 | Sep 19, 2022 |
#4 in #mev
88KB
2K
SLoC
pair_sync
A simple library to get all pairs from any supported Dex and sync reserves.
Filename: examples/sync-pairs.rs
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
//Add rpc endpoint here:
let rpc_endpoint = "";
let provider = Arc::new(Provider::<Http>::try_from(rpc_endpoint).unwrap());
let mut dexes = vec![];
//Add UniswapV2
dexes.push(Dex::new(
//Specify the factory address
H160::from_str("0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f").unwrap(),
//Specify the dex variant
DexVariant::UniswapV2,
//Specify the factory contract's creation block number
2638438,
));
//Add Sushiswap
dexes.push(Dex::new(
H160::from_str("0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac").unwrap(),
DexVariant::UniswapV2,
10794229,
));
//Add UniswapV3
dexes.push(Dex::new(
H160::from_str("0x1F98431c8aD98523631AE4a59f267346ea31F984").unwrap(),
DexVariant::UniswapV3,
12369621,
));
//Sync pairs
sync::sync_pairs(dexes, provider).await?;
Ok(())
}
Supported Dexes
Dex | Status |
---|---|
UniswapV2 variants | ✅ |
UniswapV3 | ✅ |
Running Examples
To run any of the examples, supply your node endpoint to the endpoint variable in each example file. For example in sync-pairs.rs
:
//Add rpc endpoint here:
let rpc_endpoint = "";
Once you have supplied a node endpoint, you can simply run cargo run --example <example_name>
.
Filters
filter_blacklisted_tokens
- Removes any pair from a
Vec<Pair>
where eithertoken_a
ortoken_b
matches a blacklisted address.
filter_blacklisted_pools
- Removes any pair from a
Vec<Pair>
where thepair_address
matches a blacklisted address.
filter_blacklisted_addresses
- Removes any pair from a
Vec<Pair>
where eithertoken_a
,token_b
or thepair_address
matches a blacklisted address.
filter_pools_below_usd_threshold
- Removes any pair where the USD value of the pool is below the specified USD threshold.
filter_pools_below_weth_threshold
- Removes any pair where the USD value of the pool is below the specified WETH threshold.
Upcoming Filters
filter_fee_tokens
- Removes any pair where where either
token_a
ortoken_b
is a token with fee on transfer.
Dependencies
~25–39MB
~711K SLoC