@anton-seriesfi/doppler-v3-sdk

中文文档
1.0.44-b发布于 2025/07/12MITTypeScriptCommonJS近 30 天下载 1893

与 Doppler v3 协议交互的 SDK

中文使用文档
文档目录13 节
  1. 特征
  2. 安装
  3. 核心概念
  4. 工厂相互作用
  5. 调试操作
  6. 集合分析
  7. 报价
  8. 关键部件
  9. 实例
  10. 基本交换模拟
  11. Uniswap V3 集合数据查询
  12. 创建 V4 迁移和费用流的 V3 池
  13. 许可证

多普勒 V3 SDK 软件

npm version License: MIT

用于与多普勒 V3 协议交互的 TypeScript SDK - 一个基于 Uniswap V3 的流动性启动协议.

特征

  • 多普勒合同创建和管理的工厂互动
  • 包括DERC20和本土ETH处理在内的托肯操作
  • QQ 历史事件查询池和令牌

安装

# Using npm
npm install doppler-v3-sdk

# Using bun
bun add doppler-v3-sdk

核心概念

工厂相互作用

import { ReadFactory } from "doppler-v3-sdk";

const factory = new ReadFactory("0x...factoryAddress");
const assetData = await factory.getAssetData(tokenAddress);
const createEvents = await factory.getCreateEvents();

调试操作

// ERC20 Token
const derc20 = new ReadDerc20(tokenAddress);
const balance = await derc20.getBalanceOf(userAddress);

// Native ETH
const eth = new ReadEth();
const ethBalance = await eth.getBalanceOf(userAddress);

集合分析

const pool = new ReadUniswapV3Pool(poolAddress);
const [slot0, swapEvents] = await Promise.all([
  pool.getSlot0(),
  pool.getSwapEvents(),
]);

报价

const quoter = new ReadQuoter(quoterAddress);
const quote = await quoter.quoteExactInput({
  params: {
    tokenIn: "0x...",
    tokenOut: "0x...",
    amountIn: parseUnits("1", 18),
    fee: 3000,
  },
  options: {
    tokenDecimals: 18,
    formatDecimals: 4,
  },
});

关键部件

构成部分说明
ReadFactory从多普勒气闸合同读取的接口
ReadWriteFactory写入多普勒气闸合同的接口
ReadDerc20DERC20 附带支持的象征性操作
ReadEth本地ETH 操作
ReadUniswapV3PoolUniswap V3 集合合同业务接口
ReadInitializerUniswapV3 启动器合同接口
ReadQuoter精确引用定点引擎的价格
ReadMigratorV4印花机合同与费用流的接口

实例

基本交换模拟

import { ReadQuoter, fixed } from "doppler-v3-sdk";

const quoter = new ReadQuoter("0x...quoterAddress");
const amountIn = fixed(1.5, 18); // 1.5 tokens with 18 decimals

const quote = await quoter.quoteExactInput(
  {
    tokenIn: "0x...",
    tokenOut: "0x...",
    amountIn: amountIn.toBigInt(),
    fee: 3000,
  },
  { tokenDecimals: 18, formatDecimals: 4 }
);

console.log(`Expected output: ${quote.formattedAmountOut}`);

注:关于执行互换,见多普勒-路由器 这里

Uniswap V3 集合数据查询

import { ReadUniswapV3Pool } from "doppler-v3-sdk";

const pool = new ReadUniswapV3Pool("0x...poolAddress");
const [slot0, liquidityEvents] = await Promise.all([
  pool.getSlot0(),
  pool.getMintEvents(),
]);

console.log(`Current price: ${slot0.sqrtPriceX96}`);
console.log(`${liquidityEvents.length} liquidity positions found`);

创建 V4 迁移和费用流的 V3 池

V3 SDK现在支持创建多普勒V3集合,这些集合可以以先进的收费流能力迁移到Uniswap V4. 这使得您可以在一段时间内向多个受益人发放交易费.

import { 
  ReadWriteFactory, 
  BeneficiaryData,
  V4MigratorData,
  WAD,
  addresses 
} from "doppler-v3-sdk";

// Step 1: Set up beneficiaries for fee streaming
// Shares must sum to exactly WAD (1e18)
const beneficiaries: BeneficiaryData[] = [
  { 
    beneficiary: "0x...", // Treasury address
    shares: WAD * 70n / 100n  // 70% of fees
  },
  { 
    beneficiary: "0x...", // Development fund
    shares: WAD * 20n / 100n  // 20% of fees
  },
  { 
    beneficiary: "0x...", // Community rewards
    shares: WAD * 10n / 100n  // 10% of fees
  }
];

// Step 2: Sort beneficiaries (required by the contract)
const factory = new ReadWriteFactory(
  addresses.unichain.airlock,
  addresses.unichain.bundler
);
const sortedBeneficiaries = factory.sortBeneficiaries(beneficiaries);

// Step 3: Configure the V4 migrator
const migratorConfig: V4MigratorData = {
  fee: 3000,                    // 0.3% fee tier
  tickSpacing: 60,              // Tick spacing for the V4 pool
  lockDuration: 365 * 24 * 60 * 60, // 1 year lock
  beneficiaries: sortedBeneficiaries
};

// Step 4: Encode the migrator data (automatically includes 5% for airlock owner)
const encodedMigratorData = await factory.encodeV4MigratorData(migratorConfig);

// Or exclude the default beneficiary:
// const encodedMigratorData = await factory.encodeV4MigratorData(migratorConfig, false);

// Step 5: Create the pool with V4 migration configuration
const createParams = await factory.buildConfig({
  integrator: "0x...",
  userAddress: userAddress,
  numeraire: addresses.unichain.weth,
  contracts: {
    tokenFactory: addresses.unichain.tokenFactory,
    governanceFactory: addresses.unichain.governanceFactory,
    poolInitializer: addresses.unichain.v3Initializer,
    liquidityMigrator: addresses.unichain.liquidityMigrator, // V4 migrator
  },
  tokenConfig: {
    name: "My Token",
    symbol: "MTK",
    tokenURI: "https://example.com/token-metadata.json"
  },
  // Pass the encoded migrator data
  liquidityMigratorData: encodedMigratorData,
  // ... other parameters
});

await factory.create(createParams);

查询 V4 移民国

部署后,您可以查询映射器配置 :

import { ReadMigrator } from "doppler-v3-sdk";

const migrator = new ReadMigrator(addresses.unichain.liquidityMigrator);

// Get the V4 pool configuration that will be created
const poolKey = await migrator.getAssetData(token0, token1);
console.log(`Fee tier: ${poolKey.fee}`);
console.log(`Tick spacing: ${poolKey.tickSpacing}`);

// Get important contract addresses
const locker = await migrator.locker(); // StreamableFeesLocker address
const poolManager = await migrator.poolManager(); // V4 PoolManager address

手续费

带有可流性FeesLocker的V4相机提供了几个优点:

  1. 多个受益人: 根据股份分配多个地址的费用
  2. 流动性: 在指定期限内锁定流动性
  3. 电流收费:受益人可以长期要求累积费用
  4. 无操作治理: 通过将接收者设置为 DEAD ADDES 来永久锁定流动性的选项
  5. 受助人:受益人可以更新其接收地址

许可证

这个项目根据麻省理工学院许可证颁发——见 自由主义 详细文件.

版本与发布记录

@anton-seriesfi/doppler-v3-sdk 共发布 9 个版本,首次发布于 2025/02/22;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.44-blatest2025/07/121.3 年前
1.0.44-a2025/07/121.3 年前
1.0.442025/07/121.3 年前
1.0.29-maybe2025/07/011.4 年前
1.0.292025/06/271.4 年前
1.0.282025/06/271.4 年前

关于 @anton-seriesfi/doppler-v3-sdk 的常见问题

@anton-seriesfi/doppler-v3-sdk 是什么?

与 Doppler v3 协议交互的 SDK

如何安装 @anton-seriesfi/doppler-v3-sdk?

在项目目录运行 npm install @anton-seriesfi/doppler-v3-sdk,或使用 pnpm add / yarn add / bun add。

@anton-seriesfi/doppler-v3-sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@anton-seriesfi/doppler-v3-sdk 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@anton-seriesfi/doppler-v3-sdk 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@anton-seriesfi/doppler-v3-sdk 可以商用吗?

@anton-seriesfi/doppler-v3-sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@anton-seriesfi/doppler-v3-sdk 的下载量有多少?

根据 npm 官方下载统计,@anton-seriesfi/doppler-v3-sdk 在 2026/10/06 – 2026/11/04 这 30 天内被下载 1,893 次,日均约 63 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@anton-seriesfi/doppler-v3-sdk 还在维护吗?

最新版本 1.0.44-b 发布于 2025/07/12(1.3 年前);至今共发布 9 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/02/22。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。