跳到正文
← 使用教程

Across 过期但退款未到:核对退款模式、接收方与结算阶段

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

把普通intent的过期结算与PDA自动退款分开,用已有原配置、状态和退款交易定位未完成阶段。

开始前准备

  • 已有转移身份、原退款配置、状态时间及去敏退款回执;缺项标待核,不重复跨链。
  • 只整理原记录,不调用退款、创建地址、签名或重试业务请求。

1. 先确定退款来自哪种流程

普通intent按originChainId和depositId或原交易标识定位;PDA另保留depositAddress/funding。不要把PDA的auto-refund-pending套成fillDeadline已到期。

原状态保留接口与时间;/deposits的unfilled枚举和/status的pending措辞不能未经记录映射成同一个状态码。

检查结果:流程类型、接口与身份明确,未知状态原样保留。

2. 检查过期是否只是退款资格

普通intent退款说明要求期限已过且未被填单、没有部分填单。expired是进入退款阶段,refunded才是服务标记已退款;只看期限不能判断款已返还。

服务状态有索引延迟;即使已经取得退款交易标识,也继续核对实际链上成功和收款方。

检查结果:资格、服务状态、退款交易及到账证据四层分开。

3. 核对原接收方和退款网络

普通Swap文档refundAddress默认depositor;refundOnOrigin默认true,也描述false时目标链退款。保存当时传入值,不凭当前钱包地址替换接收方。

PDA使用refundAddresses数组,不能沿用单一字段默认值;缺配置时官方方法说明可能需要更慢的人工恢复并联系Across支持,不承诺自动回到发送地址。

检查结果:能说明原配置对应哪条链和哪个地址,默认规则只用于其适用模式。

4. 把结算等待与失败区别开

普通intent过期退款经Dataworker结算bundle、挑战期和规范桥传根后执行;文档约1.5小时提议间隔是机制说明,不是本次完成时间。

PDA的refund-failed或manual-refund-required需要保留原失败证据;未知原因不能仅凭等待较久归成流动性故障。

检查结果:等待阶段和已有错误有各自依据,没有给出保证到账日期。

5. 检查真实退款交易与数量

从原depositRefundTxnRef或对应旧depositRefundTxHash定位退款交易,核对退款链、接收方、资产地址与原整数数量;null只是未取得线索。

金额差异先保留原转移和退款字段、单位及费用记录;本篇没有当前报价或完整扣费依据,不承诺全额退款,也不猜余额差就是协议收费。

检查结果:已退款结论绑定成功交易、正确地址与金额;缺证据时仍标未确认。

6. 输出有限范围结论和待补证项

按“尚未过期、已过期待结算、已标退款但链上未核、已核成功退款、原错误待处理”写阶段;filled时另核对目标交付,不同时宣布未填单退款。

文档退款轮询示例采用60秒和有限尝试,它不是完成SLA。此次只整理已有记录,缺权限、链上证据或原配置时向原集成方补证。

检查结果:结论有身份、时间、退款模式和缺口,示例等待时长没有成为到账承诺。

怎样确认完成

  • 原退款配置、状态和实际退款回执逐项对应。
  • 明确尚未证明的金额、接收方、权限或阶段;没有执行任何恢复请求。

常见错误与边界

  • expired写成已到账退款。
  • 将单refundAddress默认套到PDA数组,或不看refundOnOrigin。
  • 将结算间隔、示例重试时间当完成保证,或凭null猜资产归零。

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