Sepolia-Mumbai测试网CCIP Transfer功能异常求助
CCIP跨链交易失败排查方案
核心排查方向
1. 参数正确性验证
- 目标链Selector错误:CCIP使用
chain selector而非原生链ID,Sepolia的正确selector是16015286601757825753,Mumbai是12532609583862916517。确认调用sendMessagePayNative时传入的destinationChainSelector是否为该值,而非原生链ID11155111。 - 代币授权不足:调用Mumbai链CCIP-BnM的
allowance方法,检查你的地址0xc2B8Abc5249397DB5d159b4E3c311c2fAf4091f2给合约0x0738a659dce9b7a48e36a1f9d10a54deaf9f359c的授权额度是否≥你要转移的代币数量。若不足,先调用approve授权足够额度。 - Native Gas费用不足:
sendMessagePayNative是用Mumbai原生MATIC支付跨链gas,而非CCIP-BnM。确认发起交易时附带的MATIC金额是否覆盖CCIP预估的gas成本。
2. 合约权限配置检查
- 目标链授权状态:调用Mumbai合约的
isDestinationChainAllowed方法,传入Sepolia的chain selector,确认返回值为true。 - 接收合约可信性:调用Mumbai合约的
isReceiverAllowed方法,传入Sepolia的chain selector和接收合约地址0x7f748eacdba684a4277af89894e1d6280196e2ec,确认返回值为true。
3. 错误场景匹配
结合错误截图,常见触发失败的原因包括:
- 传入无效/未授权的目标链selector
- 原生MATIC余额不足以支付跨链gas
- CCIP-BnM授权额度不足
- 接收合约未被添加为可信地址
快速修复步骤
- 重新授权CCIP-BnM:调用Mumbai链CCIP-BnM合约的
approve方法,授权目标合约0x0738a659dce9b7a48e36a1f9d10a54deaf9f359c足够额度。 - 修正目标链Selector:将
destinationChainSelector改为Sepolia的正确值16015286601757825753。 - 补充原生MATIC:确保发起交易时附带足够的MATIC用于支付跨链gas。
内容的提问来源于stack exchange,提问作者Andrés Contreras
相关产品推荐
相关产品推荐

