マーケット トランザクションが発生すると、ERC20 トークン インターフェイスで承認と transferFrom が true を返します。したがって、これら 2 つのリターンの後、NFT 転送の実行などの操作を実行できることがわかります。しかし、ERC777 send メソッドでは何も返されません。私の操作で転送するために誰かが支払ったかどうかをどのように知ることができますか?
元。:
//ERC20
if (token.approve(address(this), amount)) {
if (token.transferFrom(msg.sender, idToMarketItem[itemId].seller, amount)) {
IERC721(nftContract).transferFrom(address(this), msg.sender, tokenId);
}
}
//ERC777
token.send(idToMarketItem[itemId].seller, amount, "");
//????
IERC721(nftContract).transferFrom(address(this), msg.sender, tokenId);