You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法向白名单智能合约发送WXMEX:非Fungible ESDT不被支持问题咨询

问题解答

结论

是的,这个智能合约的supply端点不接受非同质化代币(NFT),仅支持同质化ESDT代币或EGLD。

原因分析

1. 错误信息直接说明

你收到的"Fungible ESDT token expected"错误明确指出,合约期望接收的是同质化ESDT代币,但你通过ESDTNFTTransfer传入的是NFT(参数中包含NFT编号8),直接触发了类型校验失败。

2. 合约代码的限制佐证

从你提供的合约代码片段能看到核心限制逻辑:

#[payable(“*”)]
#[only_owner]
#[endpoint(supply)]
fn supply(&self) {
    let rewards_token = self.rewards_token().get();
    let (supply_token, supply_amount) = self.call_value().egld_or_single_fungible_esdt();
    require!(supply_token == rewards_token, “Invalid rewards token supply”);
    self.rewards_supply().update(|rewards_supplied| *rewards_supplied += &supply_amount);
}

其中call_value().egld_or_single_fungible_esdt()方法的作用是:

  • 仅提取交易中的EGLD,或者单一的同质化ESDT代币
  • 若传入的是NFT(非同质化ESDT),该方法会直接抛出"Fungible ESDT token expected"错误,和你遇到的问题完全匹配。

此外,代码后续还会校验传入的代币地址与合约预设的rewards_token一致,进一步确认只能用指定的同质化代币执行supply操作。

解决建议

调用supply端点时,需使用同质化ESDT代币的转账操作,将ESDTNFTTransfer替换为ESDTTransfer,同时确保代币地址与合约的rewards_token一致。

内容的提问来源于stack exchange,提问作者Tiberiu Dodita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 23:35:08