becrypto/build/contracts/IERC1155.json
2022-08-17 17:21:15 +08:00

3238 lines
127 KiB
JSON

{
"contractName": "IERC1155",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "ApprovalForAll",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"name": "TransferBatch",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "TransferSingle",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "value",
"type": "string"
},
{
"indexed": true,
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "URI",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "accounts",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
}
],
"name": "balanceOfBatch",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "setApprovalForAll",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeBatchTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC1155 compliant contract, as defined in the https://eips.ethereum.org/EIPS/eip-1155[EIP]. _Available since v3.1._\",\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the amount of tokens of token type `id` owned by `account`. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. Emits a {TransferBatch} event. Requirements: - `ids` and `amounts` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers `amount` tokens of token type `id` from `from` to `to`. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `amount`. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the caller.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":\"IERC1155\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x8e93de94c9062ebc94fb7e2e3929b0781ac6a2b7772e2f7a59045861c93e5be9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f920a631bf986c610fe573d3c70a2bb6f224f86f4a8550016470c7ee476c9ab5\",\"dweb:/ipfs/QmYzsyVMfnaREKHcHv5RPS8Xg5r1Q38E2SDsGBTnXeFWzb\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [],
"sourceMap": "",
"deployedSourceMap": "",
"source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC1155/IERC1155.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC1155 compliant contract, as defined in the\n * https://eips.ethereum.org/EIPS/eip-1155[EIP].\n *\n * _Available since v3.1._\n */\ninterface IERC1155 is IERC165 {\n /**\n * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\n */\n event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);\n\n /**\n * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n * transfers.\n */\n event TransferBatch(\n address indexed operator,\n address indexed from,\n address indexed to,\n uint256[] ids,\n uint256[] values\n );\n\n /**\n * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n * `approved`.\n */\n event ApprovalForAll(address indexed account, address indexed operator, bool approved);\n\n /**\n * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n *\n * If an {URI} event was emitted for `id`, the standard\n * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n * returned by {IERC1155MetadataURI-uri}.\n */\n event URI(string value, uint256 indexed id);\n\n /**\n * @dev Returns the amount of tokens of token type `id` owned by `account`.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function balanceOf(address account, uint256 id) external view returns (uint256);\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n *\n * Requirements:\n *\n * - `accounts` and `ids` must have the same length.\n */\n function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids)\n external\n view\n returns (uint256[] memory);\n\n /**\n * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n *\n * Emits an {ApprovalForAll} event.\n *\n * Requirements:\n *\n * - `operator` cannot be the caller.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n *\n * See {setApprovalForAll}.\n */\n function isApprovedForAll(address account, address operator) external view returns (bool);\n\n /**\n * @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n *\n * Emits a {TransferSingle} event.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n * - `from` must have a balance of tokens of type `id` of at least `amount`.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n * acceptance magic value.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 id,\n uint256 amount,\n bytes calldata data\n ) external;\n\n /**\n * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n *\n * Emits a {TransferBatch} event.\n *\n * Requirements:\n *\n * - `ids` and `amounts` must have the same length.\n * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n * acceptance magic value.\n */\n function safeBatchTransferFrom(\n address from,\n address to,\n uint256[] calldata ids,\n uint256[] calldata amounts,\n bytes calldata data\n ) external;\n}\n",
"sourcePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol",
"ast": {
"absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol",
"exportedSymbols": {
"IERC1155": [
2649
],
"IERC165": [
6023
]
},
"id": 2650,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2529,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "95:23:7"
},
{
"absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
"file": "../../utils/introspection/IERC165.sol",
"id": 2530,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2650,
"sourceUnit": 6024,
"src": "120:47:7",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 2532,
"name": "IERC165",
"nodeType": "IdentifierPath",
"referencedDeclaration": 6023,
"src": "357:7:7"
},
"id": 2533,
"nodeType": "InheritanceSpecifier",
"src": "357:7:7"
}
],
"canonicalName": "IERC1155",
"contractDependencies": [],
"contractKind": "interface",
"documentation": {
"id": 2531,
"nodeType": "StructuredDocumentation",
"src": "169:165:7",
"text": " @dev Required interface of an ERC1155 compliant contract, as defined in the\n https://eips.ethereum.org/EIPS/eip-1155[EIP].\n _Available since v3.1._"
},
"fullyImplemented": false,
"id": 2649,
"linearizedBaseContracts": [
2649,
6023
],
"name": "IERC1155",
"nameLocation": "345:8:7",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": {
"id": 2534,
"nodeType": "StructuredDocumentation",
"src": "371:121:7",
"text": " @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`."
},
"id": 2546,
"name": "TransferSingle",
"nameLocation": "503:14:7",
"nodeType": "EventDefinition",
"parameters": {
"id": 2545,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2536,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "534:8:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "518:24:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2535,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "518:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2538,
"indexed": true,
"mutability": "mutable",
"name": "from",
"nameLocation": "560:4:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "544:20:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2537,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "544:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2540,
"indexed": true,
"mutability": "mutable",
"name": "to",
"nameLocation": "582:2:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "566:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2539,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "566:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2542,
"indexed": false,
"mutability": "mutable",
"name": "id",
"nameLocation": "594:2:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "586:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2541,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "586:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2544,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "606:5:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "598:13:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2543,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "598:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "517:95:7"
},
"src": "497:116:7"
},
{
"anonymous": false,
"documentation": {
"id": 2547,
"nodeType": "StructuredDocumentation",
"src": "619:144:7",
"text": " @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n transfers."
},
"id": 2561,
"name": "TransferBatch",
"nameLocation": "774:13:7",
"nodeType": "EventDefinition",
"parameters": {
"id": 2560,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2549,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "813:8:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "797:24:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2548,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "797:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2551,
"indexed": true,
"mutability": "mutable",
"name": "from",
"nameLocation": "847:4:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "831:20:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2550,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "831:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2553,
"indexed": true,
"mutability": "mutable",
"name": "to",
"nameLocation": "877:2:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "861:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2552,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "861:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2556,
"indexed": false,
"mutability": "mutable",
"name": "ids",
"nameLocation": "899:3:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "889:13:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2554,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "889:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2555,
"nodeType": "ArrayTypeName",
"src": "889:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2559,
"indexed": false,
"mutability": "mutable",
"name": "values",
"nameLocation": "922:6:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "912:16:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2557,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "912:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2558,
"nodeType": "ArrayTypeName",
"src": "912:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "787:147:7"
},
"src": "768:167:7"
},
{
"anonymous": false,
"documentation": {
"id": 2562,
"nodeType": "StructuredDocumentation",
"src": "941:147:7",
"text": " @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n `approved`."
},
"id": 2570,
"name": "ApprovalForAll",
"nameLocation": "1099:14:7",
"nodeType": "EventDefinition",
"parameters": {
"id": 2569,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2564,
"indexed": true,
"mutability": "mutable",
"name": "account",
"nameLocation": "1130:7:7",
"nodeType": "VariableDeclaration",
"scope": 2570,
"src": "1114:23:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2563,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1114:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2566,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "1155:8:7",
"nodeType": "VariableDeclaration",
"scope": 2570,
"src": "1139:24:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2565,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1139:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2568,
"indexed": false,
"mutability": "mutable",
"name": "approved",
"nameLocation": "1170:8:7",
"nodeType": "VariableDeclaration",
"scope": 2570,
"src": "1165:13:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2567,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1165:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "1113:66:7"
},
"src": "1093:87:7"
},
{
"anonymous": false,
"documentation": {
"id": 2571,
"nodeType": "StructuredDocumentation",
"src": "1186:343:7",
"text": " @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n If an {URI} event was emitted for `id`, the standard\n https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n returned by {IERC1155MetadataURI-uri}."
},
"id": 2577,
"name": "URI",
"nameLocation": "1540:3:7",
"nodeType": "EventDefinition",
"parameters": {
"id": 2576,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2573,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "1551:5:7",
"nodeType": "VariableDeclaration",
"scope": 2577,
"src": "1544:12:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2572,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1544:6:7",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2575,
"indexed": true,
"mutability": "mutable",
"name": "id",
"nameLocation": "1574:2:7",
"nodeType": "VariableDeclaration",
"scope": 2577,
"src": "1558:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2574,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1558:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1543:34:7"
},
"src": "1534:44:7"
},
{
"documentation": {
"id": 2578,
"nodeType": "StructuredDocumentation",
"src": "1584:173:7",
"text": " @dev Returns the amount of tokens of token type `id` owned by `account`.\n Requirements:\n - `account` cannot be the zero address."
},
"functionSelector": "00fdd58e",
"id": 2587,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nameLocation": "1771:9:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2583,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2580,
"mutability": "mutable",
"name": "account",
"nameLocation": "1789:7:7",
"nodeType": "VariableDeclaration",
"scope": 2587,
"src": "1781:15:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2579,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1781:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2582,
"mutability": "mutable",
"name": "id",
"nameLocation": "1806:2:7",
"nodeType": "VariableDeclaration",
"scope": 2587,
"src": "1798:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2581,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1798:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1780:29:7"
},
"returnParameters": {
"id": 2586,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2585,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2587,
"src": "1833:7:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2584,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1833:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1832:9:7"
},
"scope": 2649,
"src": "1762:80:7",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2588,
"nodeType": "StructuredDocumentation",
"src": "1848:188:7",
"text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n Requirements:\n - `accounts` and `ids` must have the same length."
},
"functionSelector": "4e1273f4",
"id": 2600,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOfBatch",
"nameLocation": "2050:14:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2595,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2591,
"mutability": "mutable",
"name": "accounts",
"nameLocation": "2084:8:7",
"nodeType": "VariableDeclaration",
"scope": 2600,
"src": "2065:27:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 2589,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2065:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 2590,
"nodeType": "ArrayTypeName",
"src": "2065:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2594,
"mutability": "mutable",
"name": "ids",
"nameLocation": "2113:3:7",
"nodeType": "VariableDeclaration",
"scope": 2600,
"src": "2094:22:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2592,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2094:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2593,
"nodeType": "ArrayTypeName",
"src": "2094:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "2064:53:7"
},
"returnParameters": {
"id": 2599,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2598,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2600,
"src": "2165:16:7",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2596,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2165:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2597,
"nodeType": "ArrayTypeName",
"src": "2165:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "2164:18:7"
},
"scope": 2649,
"src": "2041:142:7",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2601,
"nodeType": "StructuredDocumentation",
"src": "2189:248:7",
"text": " @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n Emits an {ApprovalForAll} event.\n Requirements:\n - `operator` cannot be the caller."
},
"functionSelector": "a22cb465",
"id": 2608,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setApprovalForAll",
"nameLocation": "2451:17:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2606,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2603,
"mutability": "mutable",
"name": "operator",
"nameLocation": "2477:8:7",
"nodeType": "VariableDeclaration",
"scope": 2608,
"src": "2469:16:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2602,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2469:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2605,
"mutability": "mutable",
"name": "approved",
"nameLocation": "2492:8:7",
"nodeType": "VariableDeclaration",
"scope": 2608,
"src": "2487:13:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2604,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2487:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "2468:33:7"
},
"returnParameters": {
"id": 2607,
"nodeType": "ParameterList",
"parameters": [],
"src": "2510:0:7"
},
"scope": 2649,
"src": "2442:69:7",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2609,
"nodeType": "StructuredDocumentation",
"src": "2517:135:7",
"text": " @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n See {setApprovalForAll}."
},
"functionSelector": "e985e9c5",
"id": 2618,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isApprovedForAll",
"nameLocation": "2666:16:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2614,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2611,
"mutability": "mutable",
"name": "account",
"nameLocation": "2691:7:7",
"nodeType": "VariableDeclaration",
"scope": 2618,
"src": "2683:15:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2610,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2683:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2613,
"mutability": "mutable",
"name": "operator",
"nameLocation": "2708:8:7",
"nodeType": "VariableDeclaration",
"scope": 2618,
"src": "2700:16:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2612,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2700:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "2682:35:7"
},
"returnParameters": {
"id": 2617,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2616,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2618,
"src": "2741:4:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2615,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2741:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "2740:6:7"
},
"scope": 2649,
"src": "2657:90:7",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2619,
"nodeType": "StructuredDocumentation",
"src": "2753:559:7",
"text": " @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n - `from` must have a balance of tokens of type `id` of at least `amount`.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value."
},
"functionSelector": "f242432a",
"id": 2632,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safeTransferFrom",
"nameLocation": "3326:16:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2630,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2621,
"mutability": "mutable",
"name": "from",
"nameLocation": "3360:4:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3352:12:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2620,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3352:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2623,
"mutability": "mutable",
"name": "to",
"nameLocation": "3382:2:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3374:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2622,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3374:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2625,
"mutability": "mutable",
"name": "id",
"nameLocation": "3402:2:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3394:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2624,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3394:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2627,
"mutability": "mutable",
"name": "amount",
"nameLocation": "3422:6:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3414:14:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2626,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3414:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2629,
"mutability": "mutable",
"name": "data",
"nameLocation": "3453:4:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3438:19:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2628,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3438:5:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "3342:121:7"
},
"returnParameters": {
"id": 2631,
"nodeType": "ParameterList",
"parameters": [],
"src": "3472:0:7"
},
"scope": 2649,
"src": "3317:156:7",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2633,
"nodeType": "StructuredDocumentation",
"src": "3479:390:7",
"text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n Emits a {TransferBatch} event.\n Requirements:\n - `ids` and `amounts` must have the same length.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value."
},
"functionSelector": "2eb2c2d6",
"id": 2648,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safeBatchTransferFrom",
"nameLocation": "3883:21:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2646,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2635,
"mutability": "mutable",
"name": "from",
"nameLocation": "3922:4:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "3914:12:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2634,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3914:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2637,
"mutability": "mutable",
"name": "to",
"nameLocation": "3944:2:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "3936:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2636,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3936:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2640,
"mutability": "mutable",
"name": "ids",
"nameLocation": "3975:3:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "3956:22:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2638,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3956:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2639,
"nodeType": "ArrayTypeName",
"src": "3956:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2643,
"mutability": "mutable",
"name": "amounts",
"nameLocation": "4007:7:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "3988:26:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2641,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3988:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2642,
"nodeType": "ArrayTypeName",
"src": "3988:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2645,
"mutability": "mutable",
"name": "data",
"nameLocation": "4039:4:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "4024:19:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2644,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4024:5:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "3904:145:7"
},
"returnParameters": {
"id": 2647,
"nodeType": "ParameterList",
"parameters": [],
"src": "4058:0:7"
},
"scope": 2649,
"src": "3874:185:7",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 2650,
"src": "335:3726:7",
"usedErrors": []
}
],
"src": "95:3967:7"
},
"legacyAST": {
"absolutePath": "@openzeppelin/contracts/token/ERC1155/IERC1155.sol",
"exportedSymbols": {
"IERC1155": [
2649
],
"IERC165": [
6023
]
},
"id": 2650,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2529,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "95:23:7"
},
{
"absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
"file": "../../utils/introspection/IERC165.sol",
"id": 2530,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 2650,
"sourceUnit": 6024,
"src": "120:47:7",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 2532,
"name": "IERC165",
"nodeType": "IdentifierPath",
"referencedDeclaration": 6023,
"src": "357:7:7"
},
"id": 2533,
"nodeType": "InheritanceSpecifier",
"src": "357:7:7"
}
],
"canonicalName": "IERC1155",
"contractDependencies": [],
"contractKind": "interface",
"documentation": {
"id": 2531,
"nodeType": "StructuredDocumentation",
"src": "169:165:7",
"text": " @dev Required interface of an ERC1155 compliant contract, as defined in the\n https://eips.ethereum.org/EIPS/eip-1155[EIP].\n _Available since v3.1._"
},
"fullyImplemented": false,
"id": 2649,
"linearizedBaseContracts": [
2649,
6023
],
"name": "IERC1155",
"nameLocation": "345:8:7",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": {
"id": 2534,
"nodeType": "StructuredDocumentation",
"src": "371:121:7",
"text": " @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`."
},
"id": 2546,
"name": "TransferSingle",
"nameLocation": "503:14:7",
"nodeType": "EventDefinition",
"parameters": {
"id": 2545,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2536,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "534:8:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "518:24:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2535,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "518:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2538,
"indexed": true,
"mutability": "mutable",
"name": "from",
"nameLocation": "560:4:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "544:20:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2537,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "544:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2540,
"indexed": true,
"mutability": "mutable",
"name": "to",
"nameLocation": "582:2:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "566:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2539,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "566:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2542,
"indexed": false,
"mutability": "mutable",
"name": "id",
"nameLocation": "594:2:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "586:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2541,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "586:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2544,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "606:5:7",
"nodeType": "VariableDeclaration",
"scope": 2546,
"src": "598:13:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2543,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "598:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "517:95:7"
},
"src": "497:116:7"
},
{
"anonymous": false,
"documentation": {
"id": 2547,
"nodeType": "StructuredDocumentation",
"src": "619:144:7",
"text": " @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n transfers."
},
"id": 2561,
"name": "TransferBatch",
"nameLocation": "774:13:7",
"nodeType": "EventDefinition",
"parameters": {
"id": 2560,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2549,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "813:8:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "797:24:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2548,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "797:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2551,
"indexed": true,
"mutability": "mutable",
"name": "from",
"nameLocation": "847:4:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "831:20:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2550,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "831:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2553,
"indexed": true,
"mutability": "mutable",
"name": "to",
"nameLocation": "877:2:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "861:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2552,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "861:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2556,
"indexed": false,
"mutability": "mutable",
"name": "ids",
"nameLocation": "899:3:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "889:13:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2554,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "889:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2555,
"nodeType": "ArrayTypeName",
"src": "889:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2559,
"indexed": false,
"mutability": "mutable",
"name": "values",
"nameLocation": "922:6:7",
"nodeType": "VariableDeclaration",
"scope": 2561,
"src": "912:16:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2557,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "912:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2558,
"nodeType": "ArrayTypeName",
"src": "912:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "787:147:7"
},
"src": "768:167:7"
},
{
"anonymous": false,
"documentation": {
"id": 2562,
"nodeType": "StructuredDocumentation",
"src": "941:147:7",
"text": " @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n `approved`."
},
"id": 2570,
"name": "ApprovalForAll",
"nameLocation": "1099:14:7",
"nodeType": "EventDefinition",
"parameters": {
"id": 2569,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2564,
"indexed": true,
"mutability": "mutable",
"name": "account",
"nameLocation": "1130:7:7",
"nodeType": "VariableDeclaration",
"scope": 2570,
"src": "1114:23:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2563,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1114:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2566,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "1155:8:7",
"nodeType": "VariableDeclaration",
"scope": 2570,
"src": "1139:24:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2565,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1139:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2568,
"indexed": false,
"mutability": "mutable",
"name": "approved",
"nameLocation": "1170:8:7",
"nodeType": "VariableDeclaration",
"scope": 2570,
"src": "1165:13:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2567,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1165:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "1113:66:7"
},
"src": "1093:87:7"
},
{
"anonymous": false,
"documentation": {
"id": 2571,
"nodeType": "StructuredDocumentation",
"src": "1186:343:7",
"text": " @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.\n If an {URI} event was emitted for `id`, the standard\n https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value\n returned by {IERC1155MetadataURI-uri}."
},
"id": 2577,
"name": "URI",
"nameLocation": "1540:3:7",
"nodeType": "EventDefinition",
"parameters": {
"id": 2576,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2573,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "1551:5:7",
"nodeType": "VariableDeclaration",
"scope": 2577,
"src": "1544:12:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 2572,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1544:6:7",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2575,
"indexed": true,
"mutability": "mutable",
"name": "id",
"nameLocation": "1574:2:7",
"nodeType": "VariableDeclaration",
"scope": 2577,
"src": "1558:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2574,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1558:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1543:34:7"
},
"src": "1534:44:7"
},
{
"documentation": {
"id": 2578,
"nodeType": "StructuredDocumentation",
"src": "1584:173:7",
"text": " @dev Returns the amount of tokens of token type `id` owned by `account`.\n Requirements:\n - `account` cannot be the zero address."
},
"functionSelector": "00fdd58e",
"id": 2587,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nameLocation": "1771:9:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2583,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2580,
"mutability": "mutable",
"name": "account",
"nameLocation": "1789:7:7",
"nodeType": "VariableDeclaration",
"scope": 2587,
"src": "1781:15:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2579,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1781:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2582,
"mutability": "mutable",
"name": "id",
"nameLocation": "1806:2:7",
"nodeType": "VariableDeclaration",
"scope": 2587,
"src": "1798:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2581,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1798:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1780:29:7"
},
"returnParameters": {
"id": 2586,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2585,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2587,
"src": "1833:7:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2584,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1833:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1832:9:7"
},
"scope": 2649,
"src": "1762:80:7",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2588,
"nodeType": "StructuredDocumentation",
"src": "1848:188:7",
"text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.\n Requirements:\n - `accounts` and `ids` must have the same length."
},
"functionSelector": "4e1273f4",
"id": 2600,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOfBatch",
"nameLocation": "2050:14:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2595,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2591,
"mutability": "mutable",
"name": "accounts",
"nameLocation": "2084:8:7",
"nodeType": "VariableDeclaration",
"scope": 2600,
"src": "2065:27:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 2589,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2065:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 2590,
"nodeType": "ArrayTypeName",
"src": "2065:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2594,
"mutability": "mutable",
"name": "ids",
"nameLocation": "2113:3:7",
"nodeType": "VariableDeclaration",
"scope": 2600,
"src": "2094:22:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2592,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2094:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2593,
"nodeType": "ArrayTypeName",
"src": "2094:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "2064:53:7"
},
"returnParameters": {
"id": 2599,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2598,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2600,
"src": "2165:16:7",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2596,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2165:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2597,
"nodeType": "ArrayTypeName",
"src": "2165:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "2164:18:7"
},
"scope": 2649,
"src": "2041:142:7",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2601,
"nodeType": "StructuredDocumentation",
"src": "2189:248:7",
"text": " @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,\n Emits an {ApprovalForAll} event.\n Requirements:\n - `operator` cannot be the caller."
},
"functionSelector": "a22cb465",
"id": 2608,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setApprovalForAll",
"nameLocation": "2451:17:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2606,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2603,
"mutability": "mutable",
"name": "operator",
"nameLocation": "2477:8:7",
"nodeType": "VariableDeclaration",
"scope": 2608,
"src": "2469:16:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2602,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2469:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2605,
"mutability": "mutable",
"name": "approved",
"nameLocation": "2492:8:7",
"nodeType": "VariableDeclaration",
"scope": 2608,
"src": "2487:13:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2604,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2487:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "2468:33:7"
},
"returnParameters": {
"id": 2607,
"nodeType": "ParameterList",
"parameters": [],
"src": "2510:0:7"
},
"scope": 2649,
"src": "2442:69:7",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2609,
"nodeType": "StructuredDocumentation",
"src": "2517:135:7",
"text": " @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n See {setApprovalForAll}."
},
"functionSelector": "e985e9c5",
"id": 2618,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isApprovedForAll",
"nameLocation": "2666:16:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2614,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2611,
"mutability": "mutable",
"name": "account",
"nameLocation": "2691:7:7",
"nodeType": "VariableDeclaration",
"scope": 2618,
"src": "2683:15:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2610,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2683:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2613,
"mutability": "mutable",
"name": "operator",
"nameLocation": "2708:8:7",
"nodeType": "VariableDeclaration",
"scope": 2618,
"src": "2700:16:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2612,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2700:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "2682:35:7"
},
"returnParameters": {
"id": 2617,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2616,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2618,
"src": "2741:4:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2615,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2741:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "2740:6:7"
},
"scope": 2649,
"src": "2657:90:7",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2619,
"nodeType": "StructuredDocumentation",
"src": "2753:559:7",
"text": " @dev Transfers `amount` tokens of token type `id` from `from` to `to`.\n Emits a {TransferSingle} event.\n Requirements:\n - `to` cannot be the zero address.\n - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}.\n - `from` must have a balance of tokens of type `id` of at least `amount`.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the\n acceptance magic value."
},
"functionSelector": "f242432a",
"id": 2632,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safeTransferFrom",
"nameLocation": "3326:16:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2630,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2621,
"mutability": "mutable",
"name": "from",
"nameLocation": "3360:4:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3352:12:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2620,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3352:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2623,
"mutability": "mutable",
"name": "to",
"nameLocation": "3382:2:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3374:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2622,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3374:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2625,
"mutability": "mutable",
"name": "id",
"nameLocation": "3402:2:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3394:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2624,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3394:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2627,
"mutability": "mutable",
"name": "amount",
"nameLocation": "3422:6:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3414:14:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2626,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3414:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2629,
"mutability": "mutable",
"name": "data",
"nameLocation": "3453:4:7",
"nodeType": "VariableDeclaration",
"scope": 2632,
"src": "3438:19:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2628,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3438:5:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "3342:121:7"
},
"returnParameters": {
"id": 2631,
"nodeType": "ParameterList",
"parameters": [],
"src": "3472:0:7"
},
"scope": 2649,
"src": "3317:156:7",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 2633,
"nodeType": "StructuredDocumentation",
"src": "3479:390:7",
"text": " @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.\n Emits a {TransferBatch} event.\n Requirements:\n - `ids` and `amounts` must have the same length.\n - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the\n acceptance magic value."
},
"functionSelector": "2eb2c2d6",
"id": 2648,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safeBatchTransferFrom",
"nameLocation": "3883:21:7",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2646,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2635,
"mutability": "mutable",
"name": "from",
"nameLocation": "3922:4:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "3914:12:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2634,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3914:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2637,
"mutability": "mutable",
"name": "to",
"nameLocation": "3944:2:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "3936:10:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2636,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3936:7:7",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2640,
"mutability": "mutable",
"name": "ids",
"nameLocation": "3975:3:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "3956:22:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2638,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3956:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2639,
"nodeType": "ArrayTypeName",
"src": "3956:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2643,
"mutability": "mutable",
"name": "amounts",
"nameLocation": "4007:7:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "3988:26:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2641,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3988:7:7",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2642,
"nodeType": "ArrayTypeName",
"src": "3988:9:7",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 2645,
"mutability": "mutable",
"name": "data",
"nameLocation": "4039:4:7",
"nodeType": "VariableDeclaration",
"scope": 2648,
"src": "4024:19:7",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2644,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4024:5:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "3904:145:7"
},
"returnParameters": {
"id": 2647,
"nodeType": "ParameterList",
"parameters": [],
"src": "4058:0:7"
},
"scope": 2649,
"src": "3874:185:7",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 2650,
"src": "335:3726:7",
"usedErrors": []
}
],
"src": "95:3967:7"
},
"compiler": {
"name": "solc",
"version": "0.8.10+commit.fc410830.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.4",
"updatedAt": "2022-08-17T06:09:48.110Z",
"devdoc": {
"details": "Required interface of an ERC1155 compliant contract, as defined in the https://eips.ethereum.org/EIPS/eip-1155[EIP]. _Available since v3.1._",
"events": {
"ApprovalForAll(address,address,bool)": {
"details": "Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`."
},
"TransferBatch(address,address,address,uint256[],uint256[])": {
"details": "Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers."
},
"TransferSingle(address,address,address,uint256,uint256)": {
"details": "Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`."
},
"URI(string,uint256)": {
"details": "Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}."
}
},
"kind": "dev",
"methods": {
"balanceOf(address,uint256)": {
"details": "Returns the amount of tokens of token type `id` owned by `account`. Requirements: - `account` cannot be the zero address."
},
"balanceOfBatch(address[],uint256[])": {
"details": "xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - `accounts` and `ids` must have the same length."
},
"isApprovedForAll(address,address)": {
"details": "Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}."
},
"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": {
"details": "xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. Emits a {TransferBatch} event. Requirements: - `ids` and `amounts` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value."
},
"safeTransferFrom(address,address,uint256,uint256,bytes)": {
"details": "Transfers `amount` tokens of token type `id` from `from` to `to`. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `amount`. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value."
},
"setApprovalForAll(address,bool)": {
"details": "Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the caller."
},
"supportsInterface(bytes4)": {
"details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}