@anywalletkit/protocol-swap2-chainflip (英语)
链脚 保险库互换为互换2 提供者: 本地
BTC / ETH / SOL / TRX 和 USDC / USDT 在伊特鲁姆,阿比特鲁姆,索拉纳,特龙之间
比特币,由Chainflip的JIT AMM定价. 引用和编码来自
Chineflip的公用后端 (chainflip-swap.chainflip.io) (中文(简体) ). 你不需要经纪人
账户,没有 API 密钥,佣金为 0 bps.
安装
npm install @anywalletkit/protocol-swap2-chainflip @anywalletkit/core
# or: pnpm add @anywalletkit/protocol-swap2-chainflip @anywalletkit/core · yarn add @anywalletkit/protocol-swap2-chainflip @anywalletkit/core
时间: @anywalletkit/protocol-swap2-chainflip (英语)发表于 发布工作流程 与出处.
import {chainflipProvider} from "@anywalletkit/protocol-swap2-chainflip/provider";
import {RouterSwap2Protocol} from "@anywalletkit/protocol-swap2-router/swap2/router";
const swap2 = new RouterSwap2Protocol(tronAccount, {fromChain: "tron:728126428", providers: [chainflipProvider()]});
const res = await swap2.swap2({fromToken: "USDT", toToken: "USDC", toChain: 42161, fromTokenAmount: 20_000_000n});
const status = await swap2.getSwap2Status(res.id); // pending → depositReceived → completed (+ egress tx) | refunded
| 从 (出自) | 互换是如何发送的 |
|---|---|
| 伊特鲁姆,阿比特鲁姆 | xSwapNative 编号 : xSwapToken 在链条倒塌地块上; 令牌首先获得对地块的确切批准 |
| 龙 | TRC-20 USDT(或TRX) 切换到,将交换作为二进制音符 raw_data.data (单位:千美元)memoEncoding: "hex"(中文(简体) ) |
目的地:Ethereum(ETH、USDC、USDT、WBTC)、Arbitrum(ETH、USDC、USDT)、, 索拉纳(索拉纳、美国得克、美国得克)、特龙(TRX、美国得克)和比特币(BTC)。 索拉纳和 比特币作为 来源 还没有接线.
为什么金库互换而不是存款渠道
一个存款频道是Chainflip经纪人为你打开的地址. 这个 客户端无法证明该地址在哪些地方转发资金:后端没有 用存款地址查查 有了金库交换,交换参数就在 交易本身——在EVM上的调用数据,在Tron上的注释——所以钱包可以 在签名前解码并检查它们. Tron 保险库交换也跳过 频道的入侵成本(2026-10-20年:20美元 — 19.48美元) -19.5%通过频道).
签名前检查什么
提供者从不盲目地转发编码器的输出. getQuote 解码
(会议) VersionedCfParameters V1,Tron笔记,或EVM Vault ABI)和
拒绝引用, 除非所有下列保留 :
- 目标为已知源链的断层(
CF_VAULTS) (中文(简体) ). 打开它 一定是TRC -20型机车transfer(Vault, amountIn)引证; - 目的链 id、 输出资产 id 和目的地址字节 与请求相匹配(EVM hex、Tron 20 B、Solana 32 B、BTC为ASCII);
- 退款地址是发件人,互换是填充或杀死:
minPriceX128 ≥ ceil(minOut · 2^128 / amountIn),重试 600个区块 我们要求的是神谕的护卫; - 没有DCA、没有提振、没有经纪人佣金和附属公司.
最小输出是呼叫者的 minAmountOut 或预期
金额减去滑动( e)slippageBps,或后端的建议何时
没有。 如果在重试窗口内无法满足价格, Chainflip
向发送者退还输入.
最低限度
这些是链脚的每个资产入侵的最低值。 少一点就不用引用了. Ethereum USDC/USDT:20. 阿比特伦,索拉纳和特隆马厩:10. BTC:40000座. 特克斯:30号.
状态
trackIntent 读取 GET /v2/swaps/{sourceTxHash}数字 :
- 404表示尚未看到交换(待定);
- 收款、汇兑和汇兑是指收到押金;
- 完整返回目标 tx (
swapEgress.txRef(三); - 错误返回
refunded如果有退款退款,否则failed。 。 。 .
端点收分限(429);提供方重试一次.
后面,我们走 remoteProvider
当供应商运行在您的服务器上时, 将它的接头分散到应用程序的分贝中:
remoteProvider({name: "chainflip", baseUrl, ...chainflipPins})。然后引擎让 EVM 路由呼叫和
只批准 chainflip 断层 CF_VAULTS后端名称;没有后端名称,则根部不会
EVM 调用数据路由( 未关闭) 。 钉子上放着 verifyQuote: chainflipVerifyQuote,提供商自己的解码运行
在设备上: EVM 金库呼叫,或Tron Note, 必须指定应用程序的目的地,退款地址和最小值
价格保证报价最低。 Tron金库交换是Tron地铁的寄件,所以针头也打开了
存款路线的支点(depositAddressRoutes),核查者会把它付的"瓦特"(Vault)钉上.
配置
chainflipProvider({
enabled: true, // default
apiUrl: "https://chainflip-swap.chainflip.io",
maxOraclePriceSlippageBps: 100, // oracle guard in the fill-or-kill params; default = the quote's recommendation, null = off
})