becrypto/build/contracts/IERC1155.json

1800 lines
75 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 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\":\"0xcab667ddad478ff0d39c2053ca77fac778af8483c18ab07d810277b4216fd582\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://919c7ea27c77275c3c341da0c4a26a66a20ed27605fbe8becf11f58ec3bc65bf\",\"dweb:/ipfs/QmRLKyVE2n7e2Jo4bLNn8eLgqqhNGYnVQyjJPWdr8poskf\"]},\"@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 (last updated v4.9.0) (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(\n address[] calldata accounts,\n uint256[] calldata ids\n ) external view 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 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(address from, address to, uint256 id, uint256 amount, bytes calldata data) 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": [
3284
],
"IERC165": [
7175
]
},
"id": 3285,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3164,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "110:23:10"
},
{
"absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
"file": "../../utils/introspection/IERC165.sol",
"id": 3165,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 3285,
"sourceUnit": 7176,
"src": "135:47:10",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 3167,
"name": "IERC165",
"nodeType": "IdentifierPath",
"referencedDeclaration": 7175,
"src": "372:7:10"
},
"id": 3168,
"nodeType": "InheritanceSpecifier",
"src": "372:7:10"
}
],
"canonicalName": "IERC1155",
"contractDependencies": [],
"contractKind": "interface",
"documentation": {
"id": 3166,
"nodeType": "StructuredDocumentation",
"src": "184:165:10",
"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": 3284,
"linearizedBaseContracts": [
3284,
7175
],
"name": "IERC1155",
"nameLocation": "360:8:10",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": {
"id": 3169,
"nodeType": "StructuredDocumentation",
"src": "386:121:10",
"text": " @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`."
},
"id": 3181,
"name": "TransferSingle",
"nameLocation": "518:14:10",
"nodeType": "EventDefinition",
"parameters": {
"id": 3180,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3171,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "549:8:10",
"nodeType": "VariableDeclaration",
"scope": 3181,
"src": "533:24:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3170,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "533:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3173,
"indexed": true,
"mutability": "mutable",
"name": "from",
"nameLocation": "575:4:10",
"nodeType": "VariableDeclaration",
"scope": 3181,
"src": "559:20:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3172,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "559:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3175,
"indexed": true,
"mutability": "mutable",
"name": "to",
"nameLocation": "597:2:10",
"nodeType": "VariableDeclaration",
"scope": 3181,
"src": "581:18:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3174,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "581:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3177,
"indexed": false,
"mutability": "mutable",
"name": "id",
"nameLocation": "609:2:10",
"nodeType": "VariableDeclaration",
"scope": 3181,
"src": "601:10:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3176,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "601:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3179,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "621:5:10",
"nodeType": "VariableDeclaration",
"scope": 3181,
"src": "613:13:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3178,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "613:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "532:95:10"
},
"src": "512:116:10"
},
{
"anonymous": false,
"documentation": {
"id": 3182,
"nodeType": "StructuredDocumentation",
"src": "634:144:10",
"text": " @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all\n transfers."
},
"id": 3196,
"name": "TransferBatch",
"nameLocation": "789:13:10",
"nodeType": "EventDefinition",
"parameters": {
"id": 3195,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3184,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "828:8:10",
"nodeType": "VariableDeclaration",
"scope": 3196,
"src": "812:24:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3183,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "812:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3186,
"indexed": true,
"mutability": "mutable",
"name": "from",
"nameLocation": "862:4:10",
"nodeType": "VariableDeclaration",
"scope": 3196,
"src": "846:20:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3185,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "846:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3188,
"indexed": true,
"mutability": "mutable",
"name": "to",
"nameLocation": "892:2:10",
"nodeType": "VariableDeclaration",
"scope": 3196,
"src": "876:18:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3187,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "876:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3191,
"indexed": false,
"mutability": "mutable",
"name": "ids",
"nameLocation": "914:3:10",
"nodeType": "VariableDeclaration",
"scope": 3196,
"src": "904:13:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 3189,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "904:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 3190,
"nodeType": "ArrayTypeName",
"src": "904:9:10",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3194,
"indexed": false,
"mutability": "mutable",
"name": "values",
"nameLocation": "937:6:10",
"nodeType": "VariableDeclaration",
"scope": 3196,
"src": "927:16:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 3192,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "927:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 3193,
"nodeType": "ArrayTypeName",
"src": "927:9:10",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "802:147:10"
},
"src": "783:167:10"
},
{
"anonymous": false,
"documentation": {
"id": 3197,
"nodeType": "StructuredDocumentation",
"src": "956:147:10",
"text": " @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to\n `approved`."
},
"id": 3205,
"name": "ApprovalForAll",
"nameLocation": "1114:14:10",
"nodeType": "EventDefinition",
"parameters": {
"id": 3204,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3199,
"indexed": true,
"mutability": "mutable",
"name": "account",
"nameLocation": "1145:7:10",
"nodeType": "VariableDeclaration",
"scope": 3205,
"src": "1129:23:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3198,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1129:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3201,
"indexed": true,
"mutability": "mutable",
"name": "operator",
"nameLocation": "1170:8:10",
"nodeType": "VariableDeclaration",
"scope": 3205,
"src": "1154:24:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3200,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1154:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3203,
"indexed": false,
"mutability": "mutable",
"name": "approved",
"nameLocation": "1185:8:10",
"nodeType": "VariableDeclaration",
"scope": 3205,
"src": "1180:13:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 3202,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1180:4:10",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "1128:66:10"
},
"src": "1108:87:10"
},
{
"anonymous": false,
"documentation": {
"id": 3206,
"nodeType": "StructuredDocumentation",
"src": "1201:343:10",
"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": 3212,
"name": "URI",
"nameLocation": "1555:3:10",
"nodeType": "EventDefinition",
"parameters": {
"id": 3211,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3208,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "1566:5:10",
"nodeType": "VariableDeclaration",
"scope": 3212,
"src": "1559:12:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 3207,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1559:6:10",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3210,
"indexed": true,
"mutability": "mutable",
"name": "id",
"nameLocation": "1589:2:10",
"nodeType": "VariableDeclaration",
"scope": 3212,
"src": "1573:18:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3209,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1573:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1558:34:10"
},
"src": "1549:44:10"
},
{
"documentation": {
"id": 3213,
"nodeType": "StructuredDocumentation",
"src": "1599:173:10",
"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": 3222,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nameLocation": "1786:9:10",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3218,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3215,
"mutability": "mutable",
"name": "account",
"nameLocation": "1804:7:10",
"nodeType": "VariableDeclaration",
"scope": 3222,
"src": "1796:15:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3214,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1796:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3217,
"mutability": "mutable",
"name": "id",
"nameLocation": "1821:2:10",
"nodeType": "VariableDeclaration",
"scope": 3222,
"src": "1813:10:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3216,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1813:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1795:29:10"
},
"returnParameters": {
"id": 3221,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3220,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 3222,
"src": "1848:7:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3219,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1848:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1847:9:10"
},
"scope": 3284,
"src": "1777:80:10",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 3223,
"nodeType": "StructuredDocumentation",
"src": "1863:188:10",
"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": 3235,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOfBatch",
"nameLocation": "2065:14:10",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3230,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3226,
"mutability": "mutable",
"name": "accounts",
"nameLocation": "2108:8:10",
"nodeType": "VariableDeclaration",
"scope": 3235,
"src": "2089:27:10",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 3224,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2089:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 3225,
"nodeType": "ArrayTypeName",
"src": "2089:9:10",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3229,
"mutability": "mutable",
"name": "ids",
"nameLocation": "2145:3:10",
"nodeType": "VariableDeclaration",
"scope": 3235,
"src": "2126:22:10",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 3227,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2126:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 3228,
"nodeType": "ArrayTypeName",
"src": "2126:9:10",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "2079:75:10"
},
"returnParameters": {
"id": 3234,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3233,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 3235,
"src": "2178:16:10",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 3231,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2178:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 3232,
"nodeType": "ArrayTypeName",
"src": "2178:9:10",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
}
],
"src": "2177:18:10"
},
"scope": 3284,
"src": "2056:140:10",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 3236,
"nodeType": "StructuredDocumentation",
"src": "2202:248:10",
"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": 3243,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setApprovalForAll",
"nameLocation": "2464:17:10",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3241,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3238,
"mutability": "mutable",
"name": "operator",
"nameLocation": "2490:8:10",
"nodeType": "VariableDeclaration",
"scope": 3243,
"src": "2482:16:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3237,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2482:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3240,
"mutability": "mutable",
"name": "approved",
"nameLocation": "2505:8:10",
"nodeType": "VariableDeclaration",
"scope": 3243,
"src": "2500:13:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 3239,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2500:4:10",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "2481:33:10"
},
"returnParameters": {
"id": 3242,
"nodeType": "ParameterList",
"parameters": [],
"src": "2523:0:10"
},
"scope": 3284,
"src": "2455:69:10",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 3244,
"nodeType": "StructuredDocumentation",
"src": "2530:135:10",
"text": " @dev Returns true if `operator` is approved to transfer ``account``'s tokens.\n See {setApprovalForAll}."
},
"functionSelector": "e985e9c5",
"id": 3253,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isApprovedForAll",
"nameLocation": "2679:16:10",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3249,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3246,
"mutability": "mutable",
"name": "account",
"nameLocation": "2704:7:10",
"nodeType": "VariableDeclaration",
"scope": 3253,
"src": "2696:15:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3245,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2696:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3248,
"mutability": "mutable",
"name": "operator",
"nameLocation": "2721:8:10",
"nodeType": "VariableDeclaration",
"scope": 3253,
"src": "2713:16:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3247,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2713:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "2695:35:10"
},
"returnParameters": {
"id": 3252,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3251,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 3253,
"src": "2754:4:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 3250,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2754:4:10",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "2753:6:10"
},
"scope": 3284,
"src": "2670:90:10",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 3254,
"nodeType": "StructuredDocumentation",
"src": "2766:556:10",
"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 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": 3267,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safeTransferFrom",
"nameLocation": "3336:16:10",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3265,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3256,
"mutability": "mutable",
"name": "from",
"nameLocation": "3361:4:10",
"nodeType": "VariableDeclaration",
"scope": 3267,
"src": "3353:12:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3255,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3353:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3258,
"mutability": "mutable",
"name": "to",
"nameLocation": "3375:2:10",
"nodeType": "VariableDeclaration",
"scope": 3267,
"src": "3367:10:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3257,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3367:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3260,
"mutability": "mutable",
"name": "id",
"nameLocation": "3387:2:10",
"nodeType": "VariableDeclaration",
"scope": 3267,
"src": "3379:10:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3259,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3379:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3262,
"mutability": "mutable",
"name": "amount",
"nameLocation": "3399:6:10",
"nodeType": "VariableDeclaration",
"scope": 3267,
"src": "3391:14:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3261,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3391:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3264,
"mutability": "mutable",
"name": "data",
"nameLocation": "3422:4:10",
"nodeType": "VariableDeclaration",
"scope": 3267,
"src": "3407:19:10",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 3263,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3407:5:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "3352:75:10"
},
"returnParameters": {
"id": 3266,
"nodeType": "ParameterList",
"parameters": [],
"src": "3436:0:10"
},
"scope": 3284,
"src": "3327:110:10",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 3268,
"nodeType": "StructuredDocumentation",
"src": "3443:390:10",
"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": 3283,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "safeBatchTransferFrom",
"nameLocation": "3847:21:10",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3281,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3270,
"mutability": "mutable",
"name": "from",
"nameLocation": "3886:4:10",
"nodeType": "VariableDeclaration",
"scope": 3283,
"src": "3878:12:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3269,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3878:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3272,
"mutability": "mutable",
"name": "to",
"nameLocation": "3908:2:10",
"nodeType": "VariableDeclaration",
"scope": 3283,
"src": "3900:10:10",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 3271,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3900:7:10",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3275,
"mutability": "mutable",
"name": "ids",
"nameLocation": "3939:3:10",
"nodeType": "VariableDeclaration",
"scope": 3283,
"src": "3920:22:10",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 3273,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3920:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 3274,
"nodeType": "ArrayTypeName",
"src": "3920:9:10",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3278,
"mutability": "mutable",
"name": "amounts",
"nameLocation": "3971:7:10",
"nodeType": "VariableDeclaration",
"scope": 3283,
"src": "3952:26:10",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 3276,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3952:7:10",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 3277,
"nodeType": "ArrayTypeName",
"src": "3952:9:10",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3280,
"mutability": "mutable",
"name": "data",
"nameLocation": "4003:4:10",
"nodeType": "VariableDeclaration",
"scope": 3283,
"src": "3988:19:10",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 3279,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3988:5:10",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "3868:145:10"
},
"returnParameters": {
"id": 3282,
"nodeType": "ParameterList",
"parameters": [],
"src": "4022:0:10"
},
"scope": 3284,
"src": "3838:185:10",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 3285,
"src": "350:3675:10",
"usedErrors": []
}
],
"src": "110:3916:10"
},
"compiler": {
"name": "solc",
"version": "0.8.10+commit.fc410830.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.4.14",
"updatedAt": "2023-07-12T06:52:15.251Z",
"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 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
}
}