@river-build/generated
Version:
## How to generate contract types
387 lines • 11 kB
JSON
{
"compiler": {
"version": "0.8.24+commit.e11b9ed9"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"type": "error",
"name": "ApprovalCallerNotOwnerNorApproved"
},
{
"inputs": [],
"type": "error",
"name": "ApprovalQueryForNonexistentToken"
},
{
"inputs": [],
"type": "error",
"name": "BalanceQueryForZeroAddress"
},
{
"inputs": [],
"type": "error",
"name": "InvalidQueryRange"
},
{
"inputs": [],
"type": "error",
"name": "MintERC2309QuantityExceedsLimit"
},
{
"inputs": [],
"type": "error",
"name": "MintToZeroAddress"
},
{
"inputs": [],
"type": "error",
"name": "MintZeroQuantity"
},
{
"inputs": [],
"type": "error",
"name": "OwnerQueryForNonexistentToken"
},
{
"inputs": [],
"type": "error",
"name": "OwnershipNotInitializedForExtraData"
},
{
"inputs": [],
"type": "error",
"name": "TransferCallerNotOwnerNorApproved"
},
{
"inputs": [],
"type": "error",
"name": "TransferFromIncorrectOwner"
},
{
"inputs": [],
"type": "error",
"name": "TransferToNonERC721ReceiverImplementer"
},
{
"inputs": [],
"type": "error",
"name": "TransferToZeroAddress"
},
{
"inputs": [],
"type": "error",
"name": "URIQueryForNonexistentToken"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "approved",
"type": "address",
"indexed": true
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256",
"indexed": true
}
],
"type": "event",
"name": "Approval",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "operator",
"type": "address",
"indexed": true
},
{
"internalType": "bool",
"name": "approved",
"type": "bool",
"indexed": false
}
],
"type": "event",
"name": "ApprovalForAll",
"anonymous": false
},
{
"inputs": [
{
"internalType": "uint256",
"name": "fromTokenId",
"type": "uint256",
"indexed": true
},
{
"internalType": "uint256",
"name": "toTokenId",
"type": "uint256",
"indexed": false
},
{
"internalType": "address",
"name": "from",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "to",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "ConsecutiveTransfer",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "to",
"type": "address",
"indexed": true
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256",
"indexed": true
}
],
"type": "event",
"name": "Transfer",
"anonymous": false
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "explicitOwnershipOf",
"outputs": [
{
"internalType": "struct IERC721ABase.TokenOwnership",
"name": "",
"type": "tuple",
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint64",
"name": "startTimestamp",
"type": "uint64"
},
{
"internalType": "bool",
"name": "burned",
"type": "bool"
},
{
"internalType": "uint24",
"name": "extraData",
"type": "uint24"
}
]
}
]
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "tokenIds",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function",
"name": "explicitOwnershipsOf",
"outputs": [
{
"internalType": "struct IERC721ABase.TokenOwnership[]",
"name": "",
"type": "tuple[]",
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint64",
"name": "startTimestamp",
"type": "uint64"
},
{
"internalType": "bool",
"name": "burned",
"type": "bool"
},
{
"internalType": "uint24",
"name": "extraData",
"type": "uint24"
}
]
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "tokensOfOwner",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "start",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stop",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "tokensOfOwnerIn",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
]
}
],
"devdoc": {
"kind": "dev",
"methods": {
"explicitOwnershipOf(uint256)": {
"details": "Returns the `TokenOwnership` struct at `tokenId` without reverting. If the `tokenId` is out of bounds: - `addr = address(0)` - `startTimestamp = 0` - `burned = false` - `extraData = 0` If the `tokenId` is burned: - `addr = <Address of owner before token was burned>` - `startTimestamp = <Timestamp when token was burned>` - `burned = true` - `extraData = <Extra data when token was burned>` Otherwise: - `addr = <Address of owner>` - `startTimestamp = <Timestamp of start of ownership>` - `burned = false` - `extraData = <Extra data at start of ownership>`"
},
"explicitOwnershipsOf(uint256[])": {
"details": "Returns an array of `TokenOwnership` structs at `tokenIds` in order. See {ERC721AQueryable-explicitOwnershipOf}"
},
"tokensOfOwner(address)": {
"details": "Returns an array of token IDs owned by `owner`. This function scans the ownership mapping and is O(`totalSupply`) in complexity. It is meant to be called off-chain. See {ERC721AQueryable-tokensOfOwnerIn} for splitting the scan into multiple smaller scans if the collection is large enough to cause an out-of-gas error (10K collections should be fine)."
},
"tokensOfOwnerIn(address,uint256,uint256)": {
"details": "Returns an array of token IDs owned by `owner`, in the range [`start`, `stop`) (i.e. `start <= tokenId < stop`). This function allows for tokens to be queried if the collection grows too big for a single call of {ERC721AQueryable-tokensOfOwner}. Requirements: - `start < stop`"
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"remappings": [
"@openzeppelin/=node_modules/@openzeppelin/",
"@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/",
"@prb/math/=node_modules/@prb/math/src/",
"@prb/test/=node_modules/@prb/test/src/",
"@river-build/diamond/=node_modules/@river-build/diamond/",
"@solidity/=node_modules/crypto-lib/src/",
"account-abstraction/=node_modules/account-abstraction/contracts/",
"crypto-lib/=node_modules/crypto-lib/src/",
"ds-test/=node_modules/ds-test/src/",
"forge-std/=node_modules/forge-std/src/",
"hardhat-deploy/=node_modules/hardhat-deploy/",
"solady/=node_modules/solady/src/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"bytecodeHash": "none",
"appendCBOR": false
},
"compilationTarget": {
"contracts/src/diamond/facets/token/ERC721A/extensions/IERC721AQueryable.sol": "IERC721AQueryable"
},
"evmVersion": "paris",
"libraries": {}
},
"sources": {
"contracts/src/diamond/facets/token/ERC721A/IERC721A.sol": {
"keccak256": "0xb57dee608d37c98c32ac38fa3c84e77f5962cf39a0697815ad209edf55593782",
"urls": [
"bzz-raw://092750f101ae80c5bace9fd53ae87547a0aac6109cd58290609acd2ef489ce9d",
"dweb:/ipfs/QmREM18vUEQmcmnTSyR4XxHB9Ykqomc9RuCFZcWNiovgbz"
],
"license": "MIT"
},
"contracts/src/diamond/facets/token/ERC721A/extensions/IERC721AQueryable.sol": {
"keccak256": "0x1dd54f0fedecdaf54c91dd4fffbe1a97a8df67a46018e6f8155c43cdc38195e4",
"urls": [
"bzz-raw://b8256f5e7342e2e568e243dc8f693f3214d4044deaaf7bc07ee64805049ddf73",
"dweb:/ipfs/QmcgGigs9pb5xCSqXHZhU1vcaZFRAu4z2jk2wbL98jKSaQ"
],
"license": "MIT"
}
},
"version": 1
}