#pool #blockchain #sync #synchronizing #chain #different #across

bin+lib pool-sync

用于跨不同区块链同步和管理各种类型流动性池的库

27 个版本 (14 个稳定版本)

2.0.1 2024 年 8 月 19 日
2.0.0 2024 年 8 月 17 日
1.0.11 2024 年 8 月 6 日
1.0.3 2024 年 7 月 31 日
0.1.0 2024 年 6 月 30 日

#34 in 神奇豆子

Download history 450/week @ 2024-06-30 5/week @ 2024-07-07 289/week @ 2024-07-14 936/week @ 2024-07-21 569/week @ 2024-07-28 838/week @ 2024-08-04 189/week @ 2024-08-11

每月下载量 2,664
gweiyser 中使用

MIT/ApacheGPL-3.0-only

1MB
23K SLoC

Solidity 20K SLoC // 0.1% comments Rust 2.5K SLoC // 0.0% comments Python 494 SLoC // 0.0% comments

PoolSync

PoolSync 是一个用于在 EVM 兼容的区块链上从各种协议高效同步 DeFi 池的工具库。这个库简化了池同步的过程,消除了 DeFi 项目中重复的样板代码的需求。

安装

将此添加到您的 Cargo.toml

[dependencies]
pool-sync = "2.0.1"

使用完整节点和归档节点配置您的 .env。归档必须是归档节点。完整节点可以是任意的。

FULL = "full node endpoint"
ARCHIVE = "archive node endpoint"

支持的协议

ETH

  • UniswapV2/V3
  • SushiswapV2/V2
  • PancakeswapV2/V3
  • MaverickV1/V2

Base

  • UniswapV2/V3
  • SushiswapV2/V3
  • PancakeswapV2/V3
  • BaseswapV2/V3
  • MaverickV1/V2
  • Aerodrome/Slipstream
  • AlienBase

示例用法

use pool_sync::{PoolSync, PoolType, Chain, PoolInfo};

#[tokio::main]
async fn main() -> Result<()> {
    // Configure and build the PoolSync instance
    let pool_sync = PoolSync::builder()
        .add_pool(PoolType::UniswapV2)
        .chain(Chain::Ethereum)
        .build()?;

    // Synchronize pools
    let (pools, last_synced_block) = pool_sync.sync_pools().await?;

    // Common Info
    for pool in &pools {
        println!("Pool Address {:?}, Token 0: {:?}, Token 1: {:?}", pool.address(), pool.token0(), pool.token1());
    }

    println!("Synced {} pools!", pools.len());
    Ok(())
}

依赖项

~61MB
~1.5M SLoC