跳到正文
← 使用教程

对齐Rango单步与多步路由的输入和前置条件

链小知 · 进阶 · 核验 · 依官方文档整理

只读当前规范或已有脱敏quote/route记录,整理API选择、资产单位、错误分支、费用位置与目标链前置条件。完成的是接入核对单,不创建、确认或执行路由。

开始前准备

  • 一组目标链/资产需求及其合约、decimals;或已取得并脱敏的路由记录
  • 标明材料对应的API版本与取得时间;当前余额、可用路线或前置状态缺证时保留待核

1. 按交互要求选择Basic或Main

从Choosing the Right API记录需求:Basic针对单步用户动作,EVM可把源DEX、bridge、目标DEX组合进一笔主交易;Main支持多个候选路线及多步,每步可能至少一笔交易且中间链需网络费。Basic的Multi-Routing仍标未实现,不把Main的多路选择直接套给Basic。

把允许的签署次数、需支持的链和是否接受中间链gas写入接入表。官网Our Vision中的no approvals/no gas不能代替当前流程;选择单步也要继续检查授权和目的链准备。

检查结果:表内明确Basic或Main、允许的中间链及gas责任,并单列尚未核实的路线可用性。

2. 把资产身份与金额编码分开

Basic Get Quote规范用from/to描述链及资产,SDK RequestedAsset含blockchain、address及可选symbol;原生币示例address=null。HTTP示例BSC.BNB与AVAX_CCHAIN--合约不能只按USDT名称替换;对照Token的chainId、address、decimals核具体资产。

Basic amount是机器整数的字符串:18位BNB的0.1对应100000000000000000;slippage=1.5表示1.5%。Main flow样例则使用from/to资产对象及amount='1',不要把Basic编码直接复制进Main样例。Basic flow文字写1 BNB、代码却为0.1 BNB,USDT合约也有差异;保留冲突,用当前所选资产元数据核对,不能据示例认定当前支持。

检查结果:为每个输入记录链、合约或native null、decimals与显示金额;Basic整数换算可回到原显示值,未混用Main样例单位。

3. 检查报价结果与路线过滤的含义

在脱敏Basic记录中读resultType和route:NO_ROUTE没有路线;HIGH_IMPACT不宜继续,INPUT_LIMIT_ISSUE核route.amountRestriction的min/max与type,EXCLUSIVE是严格开区间,INCLUSIVE包含边界。HTTP成功或存在requestId都不等可执行。若没有记录,只标注这些分支,不编造当前结果。

合约发起的需求要核contractCall=true所过滤的swapper;规范警告底层白名单不满足可卡住资金。enableCentralizedSwappers默认false,开启需要传用户IP作合规检查且可能因KYC暂扣;本文不收集或提交IP。不以覆盖增加推定任意钱包可走所有路线。

检查结果:已区分无路、高影响、金额限制和OK;边界类型与合约/中心化路径限制均有字段依据,未知保持未知。

4. 标记费用扣除位置,避免重复扣输出

按route.fee逐项记name、token、amount及expenseType;DECREASE_FROM_OUTPUT已含在预计输出中,展示时不再扣一次。FROM_SOURCE_WALLET需要源钱包相应费用资产,类型定义还包括FROM_DESTINATION_WALLET;feeUsd可为空,不据此填零。outputAmount/outputAmountMin是报价字段,不是最终到账。

区分自有dApp零界面费、底层swapper费和API/affiliate商业安排。avoidNativeFee只排除以原生币收桥服务费的swapper,不能免网络费,也可能减少路线。Basic flow的15秒、Main的30秒是重新报价示例,不是统一有效期或成交保证。

检查结果:每笔费用都关联币种与扣除位置;已计入输出的费用未重复扣,空USD估值及过期记录没有当当前成本。

5. 记录目的链准备和停止条件

读tx.prerequisites而非只看源链:Stellar非原生SAC资产需目标钱包的Change Trust,示例给code、issuer、value、wallet;XRPL已发行代币相应核currency、issuer、value、wallet及TrustSet。不能因主交易在Arbitrum就忽略接收链的信任线。这里只形成待核项目,不发起任何信任线操作。

Basic flow说明tx为空或resultType非OK应停止;Main需逐步处理isApproval,并在前一步成功后才进入下一步。缺少前置状态、动态spender或当前余额/费用证明时,结论写尚不能确认可执行;文档选择或交易数据生成均不等签署、广播或到账。

检查结果:目的链前置资产/issuer/钱包、每步gas责任与未核状态已单列;最终成果只为核对单,没有把文档计划写成完成交易。

怎样确认完成

  • 形成API选择与资产单位表
  • 形成金额/费用/前置条件及错误分支核对单,未核状态保留

常见错误与边界

  • 把官网愿景的gasless/no approvals当所有Basic路线保证。
  • 把Basic整数金额复制到Main例子,或把BNB/USDT示例冲突当当前资产数据。
  • 将DECREASE_FROM_OUTPUT重复扣除,或把avoidNativeFee解释为免gas。
  • 只检查源链;Stellar/XRPL接收资产的信任线准备可能早于主交易。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据