我已经构建了一个契约(尚未部署),它允许检查msg.sender是否持有某个NFT:
pragma solidity ^0.8.17;
import "@openzeppelin/contracts/interfaces/IERC721.sol";
contract Example {
function walletHoldsToken() public view returns (bool) {
return IERC721(0x1615600fE62ed38342F82eb9785029A2b1290DAF).balanceOf(msg.sender) > 0
}
}我想用Hardhat和Chai创建一个测试,以检查msg.sender是否包含特定的NFT。
所以我基本上需要的是:
这有可能吗?
发布于 2023-01-09 16:07:26
您可以使用ethers连接合同
const erc721 = ethers.Contract(YOUR_NFT_ADDRESS, ERC721ABI, signer)您还可以测试用户持卡人nft是否:
expect(await erc721.balanceOf(userAddress)).to.not.equal(0)在hardhat中,您可以运行测试指定网络
npx hardhat test --network mainnethttps://ethereum.stackexchange.com/questions/142610
复制相似问题