When I conduct truffle compile, I came up with a TypeError.
TypeError: Member "checkRegisterPayment" not found or not visible after argument-dependent lookup in contract PaymentModule.
--> project:/contracts/RoyaltyBearingToken.sol:467:17:
Code to reproduce
Here is the checkRegisterPayment code in Paymentmodule:
function checkRegisterPayment(uint256 tokenId, address buyer) public view virtual returns (uint256) {
if (registeredPayment[tokenId].buyer == buyer) return registeredPayment[tokenId].payment;
else return 0;
}
function checkRegisterPayment(
uint256 tokenId,
address buyer,
string memory tokenType
) public view virtual returns (uint256) {
if (registeredPayment[tokenId].buyer == buyer) {
require(_isSameString(tokenType, registeredPayment[tokenId].tokenType), 'TokenType mismatch');
return registeredPayment[tokenId].payment;
} else return 0;
}
function checkRegisterPayment(
address buyer,
uint256 tokenId,
uint256 _payment,
string memory tokenType
) public view virtual returns (uint256) {
if((registeredPayment[tokenId].buyer == buyer) && (_isSameString(tokenType, registeredPayment[tokenId].tokenType))) {
require(registeredPayment[tokenId].payment == _payment);
return registeredPayment[tokenId].payment;
} else return 0;
}
Call checkRegisterPayment in RoyaltyBearingToken:
require(paymentModule.checkRegisterPayment(_buyer, _tokenIds, _payment, _tokenType));
Environment
Truffle