跳到正文
← 使用教程

deBridge 取消后未见原币:核对退款状态、受益人和reserve资产

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

沿目标取消、消息发送、源链领取三阶段核对已有记录,并检查取消权限及预交换后的退款token,避免把自动取消时间或原输入币种当普遍保证。

开始前准备

  • 已有orderId/原Order或脱敏create-tx响应,以及取消/源领取事件记录;没有时按官方定义整理待核清单。
  • 保留源/目标链、原输入token、预交换输出和实际退款受益人,不需要提供key、签名或发取消请求。
  • DLN手动EVM取消结构与获准auto-cancellation集成不同;这是一篇已有记录排错教程。

1. 识别取消分支而非成交分支

查看具体方法的原state,取消路径为OrderCancelled→SentOrderCancel→ClaimedOrderCancel,前两个不能当源退款已到账。Fulfilled/SentUnlock/ClaimedUnlock属于solver履约结算路线,不能把unlockBeneficiary误作退款人。

当前状态图写SentOrderCancelled,正文表与API enum写SentOrderCancel;保存实际字段拼写和方法,不按图自行改枚举或假设两个值服务端可互换。

检查结果:结论先标取消发起、消息发送或源领取哪一阶段;拼写冲突不被隐藏。

2. 核对authority与退款受益人

原OrderCreation的orderAuthorityAddressDst是目标取消authority,allowedCancelBeneficiarySrc是源退款限制。完整订单记录同时有orderAuthorityAddressDst、allowedCancelBeneficiarySrc及cancelBeneficiarySrc;这三个地址不能默认是maker或receiverDst。

EVM手动流程要求指定目标authority发起;allowedCancelBeneficiarySrc显式设置后退款人必须匹配。未设置时原合约流程允许该authority指定受益人,并不意味着任何人都能退款。只对照已有原参数和事件,不为修正地址执行新取消。

检查结果:记录显示谁有权取消、允许退给谁、实际退给谁及所属链;地址缺失时保留未知。

3. 把发送证明与源领取事件配对

对照orderCancelledDstEventMetadata、sentOrderCancelDstEventInfo与claimedOrderCancelSrcEventInfo。消息submissionId、目标取消交易和源领取交易不是同一个ID;先按orderId和链配对,再读transactionMetadata。

SentOrderCancel表示消息已发,ClaimedOrderCancel才按正文表示源资产已由受益人领取。claimed事件或transactionMetadata为null/缺失时,不能填原创建hash证明退款;有现成源交易记录时另外检查成功/最终性,平台状态与独立链证据分列。

检查结果:原记录能沿orderId串起两链事件;只发消息和已领取没有合并。

4. 判断退款应是哪一种token

对于有pre-order-swap的订单,用户原发资产可能先换成reserve资产,再锁入DLN。因此取消退款通常不是最初发送的token;在已有create-tx响应读srcChainTokenOut的token/amount。

Auto Cancellation正文说srcChainTokenOut缺失时参考srcChainTokenIn,因为未执行pre-order-swap。结合订单giveOfferWithMetadata的tokenAddress/decimals和源受益人记录核对;不能只搜原币symbol,不能把常用USDC写成所有路线固定退款币。

检查结果:退款查找对象明确到源链+token地址+精确amount+受益人,预交换是否发生有原字段证据。

5. 分清可退款的创建费用与其他成本

费用正文说明创建flat native fee及输入token variable protocol fee取消可退,手动订单段还说明锁定输入含affiliate/protocol退回。将原记录的协议费、affiliate、预交换资产数量分别核对,不用文档算例填当前金额。

solver成本、pre-order/pre-fill swap、approval gas、取消DMP native费用与执行费用属于不同层。不要把“创建费用退回”扩写为全部已消耗链gas/滑点零成本。费用表明确可更改;核对既有订单实值而非0.001ETH或4bps示例。

检查结果:退款数量与原费用分类能对应;没有金额/费率证据的部分标待核,不承诺原币净额完全无损。

6. 只对获准配置解释自动取消时间

自动取消不是默认所有订单功能:需deBridge批准、关联referral code且只market order,文档的不盈利5分钟/其他15分钟与取消费补贴限定该配置。普通Created或limit order等待超过这些时间,不证明服务必会自动退款。

获准auto模式会把dstChainOrderAuthorityAddress覆盖成deBridge控制地址,srcAllowedCancelBeneficiary应明确用户控制地址;缺失时srcChainOrderAuthorityAddress可能作为fallback。只核对原集成已批准与原参数,不从状态自动猜开通。最终保留当前阶段、应查币种、受益人与尚缺的claim证据。

检查结果:自动/手动、market/limit、开通资格和退款对象分别清楚,时间不是到账SLA。

怎样确认完成

  • 形成按orderId对应的取消阶段、受益人、退款资产/数量与费用分类记录。
  • 缺claim、未知权限或缺原响应有明确补证点;没有执行取消、领取或真实资金操作。

常见错误与边界

  • 把OrderCancelled或SentOrderCancel当已退款,或将源solver解锁当用户取消退款。
  • 只按原发token名称搜退款,忽略srcChainTokenOut/reserve转换与退款地址限制。
  • 把5/15分钟和补贴应用于未批准referral集成或limit订单。
  • “全额创建费用退款”不等于全部链gas、已发生swap成本或原币价格损失均退。

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