@ 深层流动性/ sdk
类型脚本客户端 深处 索拉纳问题: 深曲线 发射板(捆接曲线)和 深扫描 (深-阿姆常量产品 AMM,毕业的符号移动到). PDA 指令 构建器、账户和事件解码器,整数引号与程序完全一致 (原始内容存档于2018-10-25). Programs' Anchor IDL.
状态. 程序运行在 主网 财务报告和审定财务报表 脱网,在同一程序编号. 本套件中没有任何内容会自行发送交易.
完整整合指南(账户布局包含抵消,事件,收费数学,出错代码, 计算预算,与pump.fun和Raydium CPMM的差异是: 融合指南 财务报告和审定财务报表 “整合”部分 深处文件。 。 。 .
安装
npm install @deepliquidity/sdk @deepliquidity/curve-math @solana/web3.js
仅限无害环境管理,有类型脚本声明. 在节点 \\ 22 和浏览器捆绑中工作: 软件包
进口 Buffer 从 buffer 软件包,从不依赖全局 Buffer。 。 。 .
程序编号
import { DEEP_CURVE_PROGRAM_ID, DEEP_AMM_PROGRAM_ID } from "@deepliquidity/sdk";
// deep-curve 7czURwVLkQpcF1HVhhZU5GGzvPA8YniogZY1BhZHCDtA (mainnet and devnet)
// deep-amm HCrCy6bzHhZ1b6bXwQAucEFkKXyzYMh3hgAR8UPrYSEP (mainnet and devnet)
快速启动: 引用并构建曲线购买
import { quoteBuyV1 } from "@deepliquidity/curve-math";
import { applySlippage, buyIx, curveFees, curvePda, decodeBondingCurve } from "@deepliquidity/sdk";
import { ComputeBudgetProgram, Connection, PublicKey, Transaction } from "@solana/web3.js";
const conn = new Connection("https://api.devnet.solana.com", "confirmed");
const mint = new PublicKey("<mint>");
const user = new PublicKey("<wallet>");
const curve = decodeBondingCurve((await conn.getAccountInfo(curvePda(mint)))!.data);
// the token's own terms: DEEP's buy and sell rate, its reward rate and reward model
const fees = curveFees(curve);
const q = quoteBuyV1(curve.state, 100_000_000n, fees); // 0.1 SOL in, fees included
const tx = new Transaction().add(
ComputeBudgetProgram.setComputeUnitLimit({ units: 80_000 }),
buyIx({
user,
mint,
amount: 100_000_000n,
minOut: applySlippage(q.tokensOut, 100), // 1% slippage floor
deadline: BigInt(Math.floor(Date.now() / 1000) + 60),
}),
);
// sign with the user's wallet and send
自己收费
DEEP没有链上推荐份额. 要收取应用费, 请在您的钱包中添加 SOL 传输
在与交易相同的交易中: quoteBuyWithIntegratorFee 编号 : quoteSellWithIntegratorFee
说明数额和细目, integratorFeeIx 构建传输( 0- 10%, 四舍五入) .
向用户显示收费; DEEP 自己的收费仍然适用. 见"融合指南":
自费".
快速启动: 在 DepSwap 池上互换
import {
cpmmDirection,
cpmmReserves,
cpmmSwapBaseInputIx,
decodeCpmmAmmConfig,
decodeCpmmPoolState,
DEEP_AMM_PROGRAM_ID,
graduationPoolPda,
NATIVE_MINT,
quoteCpmmSwapBaseInput,
} from "@deepliquidity/sdk";
const poolId = graduationPoolPda(mint); // the pool a token graduated into
const pool = decodeCpmmPoolState((await conn.getAccountInfo(poolId))!.data);
const amm = decodeCpmmAmmConfig((await conn.getAccountInfo(pool.ammConfig))!.data);
const bal = async (k: PublicKey) => BigInt((await conn.getTokenAccountBalance(k)).value.amount);
const [r0, r1] = cpmmReserves(pool, await bal(pool.token0Vault), await bal(pool.token1Vault));
const { zeroForOne, creatorFeeOnInput } = cpmmDirection(pool, NATIVE_MINT);
const q = quoteCpmmSwapBaseInput({
amountIn: 10_000_000n,
inputReserve: zeroForOne ? r0 : r1,
outputReserve: zeroForOne ? r1 : r0,
config: amm,
creatorFeeEnabled: pool.enableCreatorFee,
creatorFeeOnInput,
});
const ix = cpmmSwapBaseInputIx({
programId: DEEP_AMM_PROGRAM_ID,
payer: user,
poolId,
pool,
inputMint: NATIVE_MINT,
amountIn: 10_000_000n,
minimumAmountOut: (q.amountOut * 99n) / 100n,
}); // wrap SOL into the user's WSOL account first; see examples/deepswap-swap.ts
活动
import { parseEventsFromLogs, parseFeeEventsFromLogs, parseAmmSwapEvents } from "@deepliquidity/sdk";
conn.onLogs(DEEP_CURVE_PROGRAM_ID, (l) => {
for (const { event } of parseEventsFromLogs(l.logs)) console.log(event.name, event);
});
conn.onLogs(DEEP_AMM_PROGRAM_ID, (l) => console.log(parseAmmSwapEvents(l.logs)));
parseEventsFromLogs 只接受 Program data: 程序本身发出的行( 它 轨迹)
引用堆栈),所以另一个程序不能 spoof DEEP 事件.
身份证
import curveIdl from "@deepliquidity/sdk/idl/deep_curve.json" with { type: "json" };
import ammIdl from "@deepliquidity/sdk/idl/deep_amm.json" with { type: "json" };
Anchor IDL spect 0.0.0. (英语). SDK的解码器是用字段对这些文件进行测试的,以及 与实时devnet账户相关的文件.
实例
examples/ 建立实际交易和 模拟 他们将永居其中sigVerify: false:
没有签名或寄出 没有读过密钥页 过 --payer <public key> 选择
他们的帐户是模拟的.
| 文件 | 它会做什么 |
|---|---|
read-curve.ts | 配置、曲线状态、价格、进度、完成、毕业池 |
watch-launches.ts | onLogs - 启动、交易、毕业、互换 |
quote-and-buy.ts | 引用 + buy,检查贸易事件与引用 |
sell.ts | 引用 + sell |
deepswap-swap.ts | 深扫描 swap_base_input (购买或往返) |
deepswap-liquidity.ts | deposit 财务报告和审定财务报表 withdraw 精确的 LP 数学 |
claim-creator-fees.ts | 曲线 claim_creator_fees 和 DepSwap 创建器- 收费收藏 |
npx tsx examples/read-curve.ts --rpc https://api.devnet.solana.com
许可证
MIT AND Apache-2.0: cp- swap 端口 NOTICE 为 Apache-2.0 (LICENSE-APACHE, (中文(简体) ),
其他一切都是麻省理工学院的LICENSE) (中文(简体) ).
链接
网站和应用程序 • 妇女 文档 • 妇女 融合指南 • 妇女 GitHub 图像 • 妇女 博客 • 妇女 状态 • 妇女 页:1 • 妇女 电报
