[
{
"name": "ArrayLengthMismatch",
"type": "error",
"inputs": [
{
"name": "length1",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "length2",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "AssetStandardMismatch",
"type": "error",
"inputs": [
{
"name": "tokenContract",
"type": "address",
"internalType": "address"
},
{
"name": "expectedStandard",
"type": "uint8",
"internalType": "uint8"
}
]
},
{
"name": "ContractPaused",
"type": "error",
"inputs": []
},
{
"name": "EmptyArray",
"type": "error",
"inputs": []
},
{
"name": "FeePaymentFailed",
"type": "error",
"inputs": [
{
"name": "recipient",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "FeePercentageTooHigh",
"type": "error",
"inputs": [
{
"name": "feePercent",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "maxFeePercent",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "InsufficientFee",
"type": "error",
"inputs": [
{
"name": "provided",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "required",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "InvalidInitialization",
"type": "error",
"inputs": []
},
{
"name": "NotInitializing",
"type": "error",
"inputs": []
},
{
"name": "ReentrancyGuardReentrantCall",
"type": "error",
"inputs": []
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "UnauthorizedAccess",
"type": "error",
"inputs": [
{
"name": "caller",
"type": "address",
"internalType": "address"
},
{
"name": "requiredRole",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "ZeroAddressNotAllowed",
"type": "error",
"inputs": []
},
{
"name": "ContractWhitelisted",
"type": "event",
"inputs": [
{
"name": "tokenContract",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "whitelisted",
"type": "bool",
"indexed": false,
"internalType": "bool"
},
{
"name": "whitelistedBy",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Initialized",
"type": "event",
"inputs": [
{
"name": "version",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"name": "RoyaltyConfigUpdated",
"type": "event",
"inputs": [
{
"name": "tokenContract",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "config",
"type": "tuple",
"indexed": false,
"components": [
{
"name": "enforceRoyalties",
"type": "bool",
"internalType": "bool"
},
{
"name": "maxRoyaltyPercent",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "defaultRecipient",
"type": "address",
"internalType": "address"
},
{
"name": "requireWhitelist",
"type": "bool",
"internalType": "bool"
}
],
"internalType": "struct ERC721CIntegration.RoyaltyConfig"
},
{
"name": "updatedBy",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "RoyaltyPaid",
"type": "event",
"inputs": [
{
"name": "offerId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "tokenContract",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "recipient",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "paymentToken",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "TradingPolicyChecked",
"type": "event",
"inputs": [
{
"name": "tokenContract",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "allowed",
"type": "bool",
"indexed": false,
"internalType": "bool"
},
{
"name": "policy",
"type": "uint8",
"indexed": false,
"internalType": "uint8"
}
],
"anonymous": false
},
{
"name": "accessControl",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract AccessControl"
}
],
"stateMutability": "view"
},
{
"name": "batchWhitelistContracts",
"type": "function",
"inputs": [
{
"name": "nftContracts",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "whitelisted",
"type": "bool[]",
"internalType": "bool[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "checkTransferPolicy",
"type": "function",
"inputs": [
{
"name": "nftContract",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "policy",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "getCollectedRoyalties",
"type": "function",
"inputs": [
{
"name": "nftContract",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "getIntegrationStats",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "totalContracts",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "totalRoyalties",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "totalPayments",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "getRoyaltyConfig",
"type": "function",
"inputs": [
{
"name": "nftContract",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "config",
"type": "tuple",
"components": [
{
"name": "enforceRoyalties",
"type": "bool",
"internalType": "bool"
},
{
"name": "maxRoyaltyPercent",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "defaultRecipient",
"type": "address",
"internalType": "address"
},
{
"name": "requireWhitelist",
"type": "bool",
"internalType": "bool"
}
],
"internalType": "struct ERC721CIntegration.RoyaltyConfig"
}
],
"stateMutability": "view"
},
{
"name": "getRoyaltyInfo",
"type": "function",
"inputs": [
{
"name": "nftContract",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "salePrice",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "recipient",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "getTradeRoyalties",
"type": "function",
"inputs": [
{
"name": "offerId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "payments",
"type": "tuple[]",
"components": [
{
"name": "tokenContract",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "recipient",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "paymentToken",
"type": "address",
"internalType": "address"
},
{
"name": "timestamp",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct ERC721CIntegration.RoyaltyPayment[]"
}
],
"stateMutability": "view"
},
{
"name": "initialize",
"type": "function",
"inputs": [
{
"name": "_accessControl",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "isContractWhitelisted",
"type": "function",
"inputs": [
{
"name": "nftContract",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "whitelisted",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "isWhitelisted",
"type": "function",
"inputs": [
{
"name": "nftContract",
"type": "address",
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "whitelisted",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "processRoyaltyPayment",
"type": "function",
"inputs": [
{
"name": "offerId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "nftContract",
"type": "address",
"internalType": "address"
},
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "salePrice",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "paymentToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "royaltyAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "payable"
},
{
"name": "setRoyaltyConfig",
"type": "function",
"inputs": [
{
"name": "nftContract",
"type": "address",
"internalType": "address"
},
{
"name": "config",
"type": "tuple",
"components": [
{
"name": "enforceRoyalties",
"type": "bool",
"internalType": "bool"
},
{
"name": "maxRoyaltyPercent",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "defaultRecipient",
"type": "address",
"internalType": "address"
},
{
"name": "requireWhitelist",
"type": "bool",
"internalType": "bool"
}
],
"internalType": "struct ERC721CIntegration.RoyaltyConfig"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "totalRoyaltiesCollected",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "totalRoyaltyPayments",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "validateTrading",
"type": "function",
"inputs": [
{
"name": "nftContract",
"type": "address",
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "allowed",
"type": "bool",
"internalType": "bool"
},
{
"name": "reason",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "version",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "pure"
},
{
"name": "whitelistTradingContract",
"type": "function",
"inputs": [
{
"name": "nftContract",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
}
]