跳到正文
← 使用教程

拆读Layerswap入金动作:手动地址、整数金额与链格式

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

用当前官方规范或已有脱敏deposit_actions,区分资金来源方法、完整动作列表的待执行项、显示金额和真实整数金额。只做文档拆读,不创建swap、申请地址或发送资产。

开始前准备

  • 目标源链/资产和预期入金方式,或已有脱敏swap动作记录;没有记录可仅整理字段表
  • 准备与该源链和入金方式相符的当前规范,并先核适用资格;缺少动作记录时仅整理字段表

1. 先确定入金方式与源链范围

从Funding methods选需要解释的路径:wallet transfer是源链交易,deposit address供不能连接的wallet或CEX发送,Depository是可编程合约入金。use_depository与use_deposit_address不能同时为true;Starknet与TON当前仅支持wallet-transfer,Depository覆盖EVM和Tron,不能把所有链一律当地址转账。

当前条款列China等禁止地区,并覆盖公民、居民含税务居民、当前所在地及相关实体;手动地址方式也不是免资格。没有合法权限或没有既有脱敏材料时停在字段表,不去创建地址或请求swap。

检查结果:已记录源链、资产、资金来源方式;未同时选择两个互斥flag,未将不支持的方法假定可用。

2. 区分完整动作列表与当前待执行项

当前Get Deposit Actions V2规范说完整有序工作流中每项仍可见,字段有step/status;只有action_required项带交易或typed-data载荷。经典partner transfer用step=deposit;approve_permit2、sign、publish是不同工作流目的,不把所有列表项当成待发送交易。

逐项记step、status、order及type;order存在时按其升序理解,不按页面显示位置重排。有signing_standard或typed_data时它属于授权材料,不能当普通转账。该schema多数字段可空,step/status并未给封闭enum;缺值或陌生值只标未知,不靠文档标题补造载荷,也不重建一个新swap替代原记录。

检查结果:完整列表和action_required项已分开;无载荷/未知状态项没有被改造成交易,授权与转账目的未混同。

3. 核金额整数与合约目标

Execute deposit actions规范将amount用于显示、amount_in_base_units字符串用于精确交易构造;不要经JavaScript Number把显示小数转回整数。把network.chain_id/type、token.contract/decimals、fee_token与原需求逐项对照,源资产与付网络费的资产可以不同。

to_address可能是收款地址、代币合约或Depository合约,不能直接拿它与最终destination address做相等判断。manual_transfer应显示生成地址和精确金额,其call_data为null;若同一记录声称手动模式却带冲突载荷,保留异常,不自行清空后继续。

检查结果:每个待核入金项有精确整数金额、源链和资产身份;目标地址角色已说明,显示小数没有代替交易金额。

4. 按源链解释call_data,保留原编码

官方入金方法表明确:EVM为hex交易数据,Bitcoin为带分号终止符的数字memo并用于OP_RETURN,Solana为base64序列化交易,Starknet为JSON calls数组,TON为金额/资产/comment的JSON对象,Tron为TRC-20 memo,Fuel为JSON script与coin quantities。这里只识别格式及需要转交哪份链规范,不运行SDK解码/签署,也不把此表当完整交易构造指南。

保留动作原memo、指令与swap标识;把Solana内容当EVM calldata、丢掉Bitcoin终止符或把Depository调用改成普通转账,都会改变入金含义。格式或完整性无法核实时停止;链上input成功也不直接等于最终收款。

检查结果:每个call_data关联正确源链编码说明;未改写memo/序列化指令,无法核实的格式没有标成可执行。

5. 把入金金额、Refuel和恢复边界分开

用已有报价时,data.quote.total_fee以源币计且不含refuel_in_source;service_fee、blockchain_fee和市场影响分别记录。detailed_quote按金额区间返回path、费用及预计耗时,跨区间provider可能变,0.05%和约20分钟是说明例而不是当前路径保证。发送方网络费及交易所提现费仍需另核。

入金匹配失败可一直等到过期;当前流程无入金6小时为expired,低于最小额为failed。有refund_address也须重试耗尽才转退款,无地址可能继续ls_transfer_pending;退款在源链源币扣gas,金额小于gas不退。旧条款强调错误地址不可逆,与执行失败退款是不同情况;不承诺任何错转或低额都自动全额追回。

检查结果:总费与Refuel未混算;费用/路径按原金额区间,最低额失败、等待与有条件退款没有混成到账或无损恢复。

怎样确认完成

  • 形成按step/status、源链格式和整数金额标记的动作表
  • 列明权限、互斥方法及未核执行/恢复条件,没有创建或发送交易

常见错误与边界

  • 把完整动作列表中的每一项都当当前需要发送的交易。
  • 使用显示amount的浮点数重算amount_in_base_units,或把to_address一律当最终收款人。
  • 手动transfer、Depository、授权typed data混用;忽略TON/Starknet方法限制。
  • 从供应商一次比较的历史价格推断当前统一费率;省略Refuel或交易所提现费。

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