I have decided to test using this address 0x00000000006c3852cbEf3e08E8dF289169EdE581 (address used in goerli testnet sales) on the goerli testnet but operator still won't approve for the buyer to buy the NFT. Is that the particular address used for the goerli testnet?
https://goerli.etherscan.io/tx/0x570c7d7b3686b51b683d331c4c6f2070486617de2266f30680f11cda9b840ad6 (Example of sale)
I have discovered that setApprovalForAll(operator,true) only allows isApprovalForAll(owner,operator) to be true but isApprovalForAll(buyer,operator) set to false.
I partially updated this code:
modifier onlyOwnerOrMarketplace(address owner, address operator) {
require(
owner == operator || _marketplaces[operator] || super.isApprovedForAll(owner, operator),
"Operator not approved"
);
_;
}
function isApprovedForAll(address owner, address operator)
public
view
override(ERC721)
onlyOwnerOrMarketplace(owner, operator)
returns (bool)
{
return true;
}
Now when I made the sale the royalties are now optional (should be mandatory)
Output Now:
Intended Output:
Is there anything that you can do to help me set operator approval for all buyers on the goerli testnet but keeping the royalties mandatory and not optional?