kabu_defi_pools/protocols/sushiswap.rs
1use crate::protocols::helper::get_uniswap2pool_address;
2use crate::protocols::protocol::Protocol;
3use alloy::primitives::{Address, B256};
4use kabu_defi_address_book::FactoryAddress;
5
6pub struct SushiswapProtocol {}
7
8impl SushiswapProtocol {
9 pub fn get_pool_address_for_tokens(token0: Address, token1: Address) -> Address {
10 let init_code: B256 = "e18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303".parse().unwrap();
11 get_uniswap2pool_address(token0, token1, FactoryAddress::SUSHISWAP_V2, init_code)
12 }
13}
14
15impl Protocol for SushiswapProtocol {
16 fn get_pool_address_vec_for_tokens(token0: Address, token1: Address) -> Vec<Address> {
17 vec![SushiswapProtocol::get_pool_address_for_tokens(token0, token1)]
18 }
19}