tokenboost-solidity
Version:
Solidity contracts for TokenBoost
539 lines • 20.2 kB
JSON
{
"contractName": "ERC721Receiver",
"abi": [
{
"constant": false,
"inputs": [
{
"name": "_operator",
"type": "address"
},
{
"name": "_from",
"type": "address"
},
{
"name": "_tokenId",
"type": "uint256"
},
{
"name": "_data",
"type": "bytes"
}
],
"name": "onERC721Received",
"outputs": [
{
"name": "",
"type": "bytes4"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.4.24;\n\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ncontract ERC721Receiver {\n /**\n * @dev Magic value to be returned upon successful reception of an NFT\n * Equals to `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`,\n * which can be also obtained as `ERC721Receiver(0).onERC721Received.selector`\n */\n bytes4 internal constant ERC721_RECEIVED = 0x150b7a02;\n\n /**\n * @notice Handle the receipt of an NFT\n * @dev The ERC721 smart contract calls this function on the recipient\n * after a `safetransfer`. This function MAY throw to revert and reject the\n * transfer. Return of other than the magic value MUST result in the\n * transaction being reverted.\n * Note: the contract address is always the message sender.\n * @param _operator The address which called `safeTransferFrom` function\n * @param _from The address which previously owned the token\n * @param _tokenId The NFT identifier which is being transferred\n * @param _data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n */\n function onERC721Received(\n address _operator,\n address _from,\n uint256 _tokenId,\n bytes _data\n )\n public\n returns(bytes4);\n}\n",
"sourcePath": "zeppelin-solidity/contracts/token/ERC721/ERC721Receiver.sol",
"ast": {
"absolutePath": "zeppelin-solidity/contracts/token/ERC721/ERC721Receiver.sol",
"exportedSymbols": {
"ERC721Receiver": [
6185
]
},
"id": 6186,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6168,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:32"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.",
"fullyImplemented": false,
"id": 6185,
"linearizedBaseContracts": [
6185
],
"name": "ERC721Receiver",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 6171,
"name": "ERC721_RECEIVED",
"nodeType": "VariableDeclaration",
"scope": 6185,
"src": "463:53:32",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 6169,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "463:6:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": {
"argumentTypes": null,
"hexValue": "30783135306237613032",
"id": 6170,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "506:10:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_353073666_by_1",
"typeString": "int_const 353073666"
},
"value": "0x150b7a02"
},
"visibility": "internal"
},
{
"body": null,
"documentation": "@notice Handle the receipt of an NFT\n@dev The ERC721 smart contract calls this function on the recipient\nafter a `safetransfer`. This function MAY throw to revert and reject the\ntransfer. Return of other than the magic value MUST result in the\ntransaction being reverted.\nNote: the contract address is always the message sender.\n@param _operator The address which called `safeTransferFrom` function\n@param _from The address which previously owned the token\n@param _tokenId The NFT identifier which is being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`",
"id": 6184,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "onERC721Received",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6180,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6173,
"name": "_operator",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1271:17:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6172,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1271:7:32",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6175,
"name": "_from",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1294:13:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6174,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1294:7:32",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6177,
"name": "_tokenId",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1313:16:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6176,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1313:7:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6179,
"name": "_data",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1335:11:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 6178,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1335:5:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1265:85:32"
},
"payable": false,
"returnParameters": {
"id": 6183,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6182,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1374:6:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 6181,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "1374:6:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1373:8:32"
},
"scope": 6185,
"src": "1240:142:32",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 6186,
"src": "180:1204:32"
}
],
"src": "0:1385:32"
},
"legacyAST": {
"absolutePath": "zeppelin-solidity/contracts/token/ERC721/ERC721Receiver.sol",
"exportedSymbols": {
"ERC721Receiver": [
6185
]
},
"id": 6186,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 6168,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:32"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.",
"fullyImplemented": false,
"id": 6185,
"linearizedBaseContracts": [
6185
],
"name": "ERC721Receiver",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 6171,
"name": "ERC721_RECEIVED",
"nodeType": "VariableDeclaration",
"scope": 6185,
"src": "463:53:32",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 6169,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "463:6:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": {
"argumentTypes": null,
"hexValue": "30783135306237613032",
"id": 6170,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "506:10:32",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_353073666_by_1",
"typeString": "int_const 353073666"
},
"value": "0x150b7a02"
},
"visibility": "internal"
},
{
"body": null,
"documentation": "@notice Handle the receipt of an NFT\n@dev The ERC721 smart contract calls this function on the recipient\nafter a `safetransfer`. This function MAY throw to revert and reject the\ntransfer. Return of other than the magic value MUST result in the\ntransaction being reverted.\nNote: the contract address is always the message sender.\n@param _operator The address which called `safeTransferFrom` function\n@param _from The address which previously owned the token\n@param _tokenId The NFT identifier which is being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`",
"id": 6184,
"implemented": false,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "onERC721Received",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6180,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6173,
"name": "_operator",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1271:17:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6172,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1271:7:32",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6175,
"name": "_from",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1294:13:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6174,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1294:7:32",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6177,
"name": "_tokenId",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1313:16:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6176,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1313:7:32",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 6179,
"name": "_data",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1335:11:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 6178,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1335:5:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1265:85:32"
},
"payable": false,
"returnParameters": {
"id": 6183,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6182,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 6184,
"src": "1374:6:32",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 6181,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "1374:6:32",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1373:8:32"
},
"scope": 6185,
"src": "1240:142:32",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 6186,
"src": "180:1204:32"
}
],
"src": "0:1385:32"
},
"compiler": {
"name": "solc",
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
},
"networks": {},
"schemaVersion": "2.0.1",
"updatedAt": "2018-10-31T09:02:05.453Z"
}