Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@gnosis.pm/conditional-tokens-contracts

Package Overview
Dependencies
Maintainers
13
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gnosis.pm/conditional-tokens-contracts - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

522

build/contracts/Address.json

@@ -1,521 +0,1 @@

{
"contractName": "Address",
"abi": [],
"metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type,\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf3358e5819ca73357abd6c90bdfffd0474af54364897f6b3e3234c4b71fbe9a1\",\"urls\":[\"bzzr://f7f6da60a184233fd666ac44e6fb2bd51ca6ebdc4867a310d368049aa4e62786\",\"dweb:/ipfs/Qmb3kNCoBUZdah1AgBBD4zMk898j5Qw8ahT1w5cCMYp5Y3\"]}},\"version\":1}",
"bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7230582056e3206f490a3e4d7d25c7b745627969be3c7430ec0ed6689eb7ff8ca38866ec64736f6c634300050a0032",
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7230582056e3206f490a3e4d7d25c7b745627969be3c7430ec0ed6689eb7ff8ca38866ec64736f6c634300050a0032",
"sourceMap": "94:863:11:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",
"deployedSourceMap": "94:863:11:-;;;;;;;;",
"source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Collection of functions related to the address type,\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * This test is non-exhaustive, and there may be false-negatives: during the\n * execution of a contract's constructor, its address will be reported as\n * not containing a contract.\n *\n * > It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies in extcodesize, which returns 0 for contracts in\n // construction, since the code is only stored at the end of the\n // constructor execution.\n\n uint256 size;\n // solhint-disable-next-line no-inline-assembly\n assembly { size := extcodesize(account) }\n return size > 0;\n }\n}\n",
"sourcePath": "openzeppelin-solidity/contracts/utils/Address.sol",
"ast": {
"absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol",
"exportedSymbols": {
"Address": [
2540
]
},
"id": 2541,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2523,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:11"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": "@dev Collection of functions related to the address type,",
"fullyImplemented": true,
"id": 2540,
"linearizedBaseContracts": [
2540
],
"name": "Address",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 2538,
"nodeType": "Block",
"src": "608:347:11",
"statements": [
{
"assignments": [
2531
],
"declarations": [
{
"constant": false,
"id": 2531,
"name": "size",
"nodeType": "VariableDeclaration",
"scope": 2538,
"src": "805:12:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2530,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "805:7:11",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 2532,
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
"src": "805:12:11"
},
{
"externalReferences": [
{
"size": {
"declaration": 2531,
"isOffset": false,
"isSlot": false,
"src": "894:4:11",
"valueSize": 1
}
},
{
"account": {
"declaration": 2525,
"isOffset": false,
"isSlot": false,
"src": "914:7:11",
"valueSize": 1
}
}
],
"id": 2533,
"nodeType": "InlineAssembly",
"operations": "{ size := extcodesize(account) }",
"src": "883:41:11"
},
{
"expression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2536,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 2534,
"name": "size",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2531,
"src": "940:4:11",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 2535,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "947:1:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "940:8:11",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 2529,
"id": 2537,
"nodeType": "Return",
"src": "933:15:11"
}
]
},
"documentation": "@dev Returns true if `account` is a contract.\n * This test is non-exhaustive, and there may be false-negatives: during the\nexecution of a contract's constructor, its address will be reported as\nnot containing a contract.\n * > It is unsafe to assume that an address for which this function returns\nfalse is an externally-owned account (EOA) and not a contract.",
"id": 2539,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "isContract",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2526,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2525,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 2539,
"src": "562:15:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2524,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "562:7:11",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "561:17:11"
},
"returnParameters": {
"id": 2529,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2528,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2539,
"src": "602:4:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2527,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "602:4:11",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "601:6:11"
},
"scope": 2540,
"src": "542:413:11",
"stateMutability": "view",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 2541,
"src": "94:863:11"
}
],
"src": "0:958:11"
},
"legacyAST": {
"absolutePath": "openzeppelin-solidity/contracts/utils/Address.sol",
"exportedSymbols": {
"Address": [
2540
]
},
"id": 2541,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2523,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:11"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": "@dev Collection of functions related to the address type,",
"fullyImplemented": true,
"id": 2540,
"linearizedBaseContracts": [
2540
],
"name": "Address",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 2538,
"nodeType": "Block",
"src": "608:347:11",
"statements": [
{
"assignments": [
2531
],
"declarations": [
{
"constant": false,
"id": 2531,
"name": "size",
"nodeType": "VariableDeclaration",
"scope": 2538,
"src": "805:12:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2530,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "805:7:11",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 2532,
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
"src": "805:12:11"
},
{
"externalReferences": [
{
"size": {
"declaration": 2531,
"isOffset": false,
"isSlot": false,
"src": "894:4:11",
"valueSize": 1
}
},
{
"account": {
"declaration": 2525,
"isOffset": false,
"isSlot": false,
"src": "914:7:11",
"valueSize": 1
}
}
],
"id": 2533,
"nodeType": "InlineAssembly",
"operations": "{ size := extcodesize(account) }",
"src": "883:41:11"
},
{
"expression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 2536,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 2534,
"name": "size",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2531,
"src": "940:4:11",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 2535,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "947:1:11",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "940:8:11",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 2529,
"id": 2537,
"nodeType": "Return",
"src": "933:15:11"
}
]
},
"documentation": "@dev Returns true if `account` is a contract.\n * This test is non-exhaustive, and there may be false-negatives: during the\nexecution of a contract's constructor, its address will be reported as\nnot containing a contract.\n * > It is unsafe to assume that an address for which this function returns\nfalse is an externally-owned account (EOA) and not a contract.",
"id": 2539,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "isContract",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2526,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2525,
"name": "account",
"nodeType": "VariableDeclaration",
"scope": 2539,
"src": "562:15:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2524,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "562:7:11",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "561:17:11"
},
"returnParameters": {
"id": 2529,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2528,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2539,
"src": "602:4:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2527,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "602:4:11",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "601:6:11"
},
"scope": 2540,
"src": "542:413:11",
"stateMutability": "view",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 2541,
"src": "94:863:11"
}
],
"src": "0:958:11"
},
"compiler": {
"name": "solc",
"version": "0.5.10+commit.5a6ea5b1.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.0.16",
"updatedAt": "2019-12-09T11:24:15.958Z",
"devdoc": {
"details": "Collection of functions related to the address type,",
"methods": {}
},
"userdoc": {
"methods": {}
}
}
{"contractName":"Address","abi":[],"metadata":"{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type,\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0xf3358e5819ca73357abd6c90bdfffd0474af54364897f6b3e3234c4b71fbe9a1\",\"urls\":[\"bzzr://f7f6da60a184233fd666ac44e6fb2bd51ca6ebdc4867a310d368049aa4e62786\",\"dweb:/ipfs/Qmb3kNCoBUZdah1AgBBD4zMk898j5Qw8ahT1w5cCMYp5Y3\"]}},\"version\":1}","bytecode":"0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7230582056e3206f490a3e4d7d25c7b745627969be3c7430ec0ed6689eb7ff8ca38866ec64736f6c634300050a0032","deployedBytecode":"0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7230582056e3206f490a3e4d7d25c7b745627969be3c7430ec0ed6689eb7ff8ca38866ec64736f6c634300050a0032","sourceMap":"94:863:11:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24","deployedSourceMap":"94:863:11:-;;;;;;;;","source":"pragma solidity ^0.5.0;\n\n/**\n * @dev Collection of functions related to the address type,\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * This test is non-exhaustive, and there may be false-negatives: during the\n * execution of a contract's constructor, its address will be reported as\n * not containing a contract.\n *\n * > It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies in extcodesize, which returns 0 for contracts in\n // construction, since the code is only stored at the end of the\n // constructor execution.\n\n uint256 size;\n // solhint-disable-next-line no-inline-assembly\n assembly { size := extcodesize(account) }\n return size > 0;\n }\n}\n","compiler":{"name":"solc","version":"0.5.10+commit.5a6ea5b1.Emscripten.clang"},"networks":{},"schemaVersion":"3.0.16","updatedAt":"2019-12-09T11:33:40.950Z","devdoc":{"details":"Collection of functions related to the address type,","methods":{}},"userdoc":{"methods":{}}}

@@ -1,890 +0,1 @@

{
"contractName": "ERC1155TokenReceiver",
"abi": [
{
"constant": true,
"inputs": [
{
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "operator",
"type": "address"
},
{
"name": "from",
"type": "address"
},
{
"name": "ids",
"type": "uint256[]"
},
{
"name": "values",
"type": "uint256[]"
},
{
"name": "data",
"type": "bytes"
}
],
"name": "onERC1155BatchReceived",
"outputs": [
{
"name": "",
"type": "bytes4"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "operator",
"type": "address"
},
{
"name": "from",
"type": "address"
},
{
"name": "id",
"type": "uint256"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
}
],
"name": "onERC1155Received",
"outputs": [
{
"name": "",
"type": "bytes4"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"ids\",\"type\":\"uint256[]\"},{\"name\":\"values\",\"type\":\"uint256[]\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"id\",\"type\":\"uint256\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` (i.e. 0xbc197c81, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"ids\":\"An array containing ids of each token being transferred (order and length must match values array)\",\"operator\":\"The address which initiated the batch transfer (i.e. msg.sender)\",\"values\":\"An array containing amounts of each token being transferred (order and length must match ids array)\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` if transfer is allowed\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. To accept the transfer, this must return `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` (i.e. 0xf23a6e61, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which initiated the transfer (i.e. msg.sender)\",\"value\":\"The amount of tokens being transferred\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` if transfer is allowed\"},\"supportsInterface(bytes4)\":{\"details\":\"See `IERC165.supportsInterface`. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/ERC1155TokenReceiver.sol\":\"ERC1155TokenReceiver\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/ERC1155TokenReceiver.sol\":{\"keccak256\":\"0x5d1e709c759b9bd72865c8608582d66fc338fde3a77f41abb04ae943915a5695\",\"urls\":[\"bzzr://55e5a597486430ad437bb8c8f0c93cf573b833fa84ccf64a25afaa01c761b839\",\"dweb:/ipfs/QmQ727N1676jG9F5iwakSG2RNeV82TVBGJHgHPmHxib8ah\"]},\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xca815b5ca57df8f1056b962c2728d6a1e56fc7d9a7869ccee8f5a1ac6075b75d\",\"urls\":[\"bzzr://61df3e61bf24c80714e326ffdc274aaefc342241de3e72374131f613cddbd042\",\"dweb:/ipfs/QmPnF3rGuY2H3Gifvha4dW7fJPptP7wJerHzjz4dpzfTJW\"]},\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0xac2eacd7e7762e275442f28f21d821544df5aae2ed7698af13be8c41b7005e2e\",\"urls\":[\"bzzr://43e901f6f210568ebc1d3591da3ce6a9d10796b854767a9c6e3da10305a8a332\",\"dweb:/ipfs/QmQhfx2Ufr8a2gFXm3KogL66xGgAuAWMwcamkWFKGG6Vya\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x661553e43d7c4fbb2de504e5999fd5c104d367488350ed5bf023031bd1ba5ac5\",\"urls\":[\"bzzr://fc2ba15143ce3a00268ecd15fc98eb2469b18bfe27a64bbab0ac6446f161c739\",\"dweb:/ipfs/QmV7wjtRf11ibUHh4g8JjuhMpy68pPhV95L2y46UBoRfsZ\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.5.0;\n\nimport \"./IERC1155TokenReceiver.sol\";\nimport \"openzeppelin-solidity/contracts/introspection/ERC165.sol\";\n\ncontract ERC1155TokenReceiver is ERC165, IERC1155TokenReceiver {\n constructor() public {\n _registerInterface(\n ERC1155TokenReceiver(0).onERC1155Received.selector ^\n ERC1155TokenReceiver(0).onERC1155BatchReceived.selector\n );\n }\n}\n",
"sourcePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/ERC1155TokenReceiver.sol",
"ast": {
"absolutePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/ERC1155TokenReceiver.sol",
"exportedSymbols": {
"ERC1155TokenReceiver": [
2051
]
},
"id": 2052,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2026,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:3"
},
{
"absolutePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol",
"file": "./IERC1155TokenReceiver.sol",
"id": 2027,
"nodeType": "ImportDirective",
"scope": 2052,
"sourceUnit": 2201,
"src": "25:37:3",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol",
"file": "openzeppelin-solidity/contracts/introspection/ERC165.sol",
"id": 2028,
"nodeType": "ImportDirective",
"scope": 2052,
"sourceUnit": 2310,
"src": "63:66:3",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2029,
"name": "ERC165",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2309,
"src": "164:6:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC165_$2309",
"typeString": "contract ERC165"
}
},
"id": 2030,
"nodeType": "InheritanceSpecifier",
"src": "164:6:3"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2031,
"name": "IERC1155TokenReceiver",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2200,
"src": "172:21:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2200",
"typeString": "contract IERC1155TokenReceiver"
}
},
"id": 2032,
"nodeType": "InheritanceSpecifier",
"src": "172:21:3"
}
],
"contractDependencies": [
2200,
2309,
2319
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": false,
"id": 2051,
"linearizedBaseContracts": [
2051,
2200,
2309,
2319
],
"name": "ERC1155TokenReceiver",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 2049,
"nodeType": "Block",
"src": "221:179:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"id": 2046,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2037,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "284:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 2036,
"name": "ERC1155TokenReceiver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2051,
"src": "263:20:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC1155TokenReceiver_$2051_$",
"typeString": "type(contract ERC1155TokenReceiver)"
}
},
"id": 2038,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "263:23:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC1155TokenReceiver_$2051",
"typeString": "contract ERC1155TokenReceiver"
}
},
"id": 2039,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "onERC1155Received",
"nodeType": "MemberAccess",
"referencedDeclaration": 2182,
"src": "263:41:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
"typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"
}
},
"id": 2040,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "263:50:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"nodeType": "BinaryOperation",
"operator": "^",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2042,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "349:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 2041,
"name": "ERC1155TokenReceiver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2051,
"src": "328:20:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC1155TokenReceiver_$2051_$",
"typeString": "type(contract ERC1155TokenReceiver)"
}
},
"id": 2043,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "328:23:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC1155TokenReceiver_$2051",
"typeString": "contract ERC1155TokenReceiver"
}
},
"id": 2044,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "onERC1155BatchReceived",
"nodeType": "MemberAccess",
"referencedDeclaration": 2199,
"src": "328:46:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
"typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"
}
},
"id": 2045,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "328:55:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"src": "263:120:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
],
"id": 2035,
"name": "_registerInterface",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2308,
"src": "231:18:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
"typeString": "function (bytes4)"
}
},
"id": 2047,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "231:162:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2048,
"nodeType": "ExpressionStatement",
"src": "231:162:3"
}
]
},
"documentation": null,
"id": 2050,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2033,
"nodeType": "ParameterList",
"parameters": [],
"src": "211:2:3"
},
"returnParameters": {
"id": 2034,
"nodeType": "ParameterList",
"parameters": [],
"src": "221:0:3"
},
"scope": 2051,
"src": "200:200:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 2052,
"src": "131:271:3"
}
],
"src": "0:403:3"
},
"legacyAST": {
"absolutePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/ERC1155TokenReceiver.sol",
"exportedSymbols": {
"ERC1155TokenReceiver": [
2051
]
},
"id": 2052,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2026,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:3"
},
{
"absolutePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol",
"file": "./IERC1155TokenReceiver.sol",
"id": 2027,
"nodeType": "ImportDirective",
"scope": 2052,
"sourceUnit": 2201,
"src": "25:37:3",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol",
"file": "openzeppelin-solidity/contracts/introspection/ERC165.sol",
"id": 2028,
"nodeType": "ImportDirective",
"scope": 2052,
"sourceUnit": 2310,
"src": "63:66:3",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2029,
"name": "ERC165",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2309,
"src": "164:6:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC165_$2309",
"typeString": "contract ERC165"
}
},
"id": 2030,
"nodeType": "InheritanceSpecifier",
"src": "164:6:3"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2031,
"name": "IERC1155TokenReceiver",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2200,
"src": "172:21:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2200",
"typeString": "contract IERC1155TokenReceiver"
}
},
"id": 2032,
"nodeType": "InheritanceSpecifier",
"src": "172:21:3"
}
],
"contractDependencies": [
2200,
2309,
2319
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": false,
"id": 2051,
"linearizedBaseContracts": [
2051,
2200,
2309,
2319
],
"name": "ERC1155TokenReceiver",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 2049,
"nodeType": "Block",
"src": "221:179:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"id": 2046,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2037,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "284:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 2036,
"name": "ERC1155TokenReceiver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2051,
"src": "263:20:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC1155TokenReceiver_$2051_$",
"typeString": "type(contract ERC1155TokenReceiver)"
}
},
"id": 2038,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "263:23:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC1155TokenReceiver_$2051",
"typeString": "contract ERC1155TokenReceiver"
}
},
"id": 2039,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "onERC1155Received",
"nodeType": "MemberAccess",
"referencedDeclaration": 2182,
"src": "263:41:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
"typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)"
}
},
"id": 2040,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "263:50:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"nodeType": "BinaryOperation",
"operator": "^",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2042,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "349:1:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 2041,
"name": "ERC1155TokenReceiver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2051,
"src": "328:20:3",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ERC1155TokenReceiver_$2051_$",
"typeString": "type(contract ERC1155TokenReceiver)"
}
},
"id": 2043,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "328:23:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ERC1155TokenReceiver_$2051",
"typeString": "contract ERC1155TokenReceiver"
}
},
"id": 2044,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "onERC1155BatchReceived",
"nodeType": "MemberAccess",
"referencedDeclaration": 2199,
"src": "328:46:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$",
"typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)"
}
},
"id": 2045,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "328:55:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"src": "263:120:3",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
],
"id": 2035,
"name": "_registerInterface",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2308,
"src": "231:18:3",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
"typeString": "function (bytes4)"
}
},
"id": 2047,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "231:162:3",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2048,
"nodeType": "ExpressionStatement",
"src": "231:162:3"
}
]
},
"documentation": null,
"id": 2050,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2033,
"nodeType": "ParameterList",
"parameters": [],
"src": "211:2:3"
},
"returnParameters": {
"id": 2034,
"nodeType": "ParameterList",
"parameters": [],
"src": "221:0:3"
},
"scope": 2051,
"src": "200:200:3",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 2052,
"src": "131:271:3"
}
],
"src": "0:403:3"
},
"compiler": {
"name": "solc",
"version": "0.5.10+commit.5a6ea5b1.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.0.16",
"updatedAt": "2019-12-09T11:24:15.953Z",
"devdoc": {
"methods": {
"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": {
"details": "Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` (i.e. 0xbc197c81, or its own function selector).",
"params": {
"data": "Additional data with no specified format",
"from": "The address which previously owned the token",
"ids": "An array containing ids of each token being transferred (order and length must match values array)",
"operator": "The address which initiated the batch transfer (i.e. msg.sender)",
"values": "An array containing amounts of each token being transferred (order and length must match ids array)"
},
"return": "`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed"
},
"onERC1155Received(address,address,uint256,uint256,bytes)": {
"details": "Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. To accept the transfer, this must return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` (i.e. 0xf23a6e61, or its own function selector).",
"params": {
"data": "Additional data with no specified format",
"from": "The address which previously owned the token",
"id": "The ID of the token being transferred",
"operator": "The address which initiated the transfer (i.e. msg.sender)",
"value": "The amount of tokens being transferred"
},
"return": "`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed"
},
"supportsInterface(bytes4)": {
"details": "See `IERC165.supportsInterface`. * Time complexity O(1), guaranteed to always use less than 30 000 gas."
}
}
},
"userdoc": {
"methods": {}
}
}
{"contractName":"ERC1155TokenReceiver","abi":[{"constant":true,"inputs":[{"name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"},{"name":"from","type":"address"},{"name":"ids","type":"uint256[]"},{"name":"values","type":"uint256[]"},{"name":"data","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"},{"name":"from","type":"address"},{"name":"id","type":"uint256"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"onERC1155Received","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}],"metadata":"{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"ids\",\"type\":\"uint256[]\"},{\"name\":\"values\",\"type\":\"uint256[]\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"id\",\"type\":\"uint256\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` (i.e. 0xbc197c81, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"ids\":\"An array containing ids of each token being transferred (order and length must match values array)\",\"operator\":\"The address which initiated the batch transfer (i.e. msg.sender)\",\"values\":\"An array containing amounts of each token being transferred (order and length must match ids array)\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` if transfer is allowed\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. To accept the transfer, this must return `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` (i.e. 0xf23a6e61, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which initiated the transfer (i.e. msg.sender)\",\"value\":\"The amount of tokens being transferred\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` if transfer is allowed\"},\"supportsInterface(bytes4)\":{\"details\":\"See `IERC165.supportsInterface`. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/ERC1155TokenReceiver.sol\":\"ERC1155TokenReceiver\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/ERC1155TokenReceiver.sol\":{\"keccak256\":\"0x5d1e709c759b9bd72865c8608582d66fc338fde3a77f41abb04ae943915a5695\",\"urls\":[\"bzzr://55e5a597486430ad437bb8c8f0c93cf573b833fa84ccf64a25afaa01c761b839\",\"dweb:/ipfs/QmQ727N1676jG9F5iwakSG2RNeV82TVBGJHgHPmHxib8ah\"]},\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xca815b5ca57df8f1056b962c2728d6a1e56fc7d9a7869ccee8f5a1ac6075b75d\",\"urls\":[\"bzzr://61df3e61bf24c80714e326ffdc274aaefc342241de3e72374131f613cddbd042\",\"dweb:/ipfs/QmPnF3rGuY2H3Gifvha4dW7fJPptP7wJerHzjz4dpzfTJW\"]},\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0xac2eacd7e7762e275442f28f21d821544df5aae2ed7698af13be8c41b7005e2e\",\"urls\":[\"bzzr://43e901f6f210568ebc1d3591da3ce6a9d10796b854767a9c6e3da10305a8a332\",\"dweb:/ipfs/QmQhfx2Ufr8a2gFXm3KogL66xGgAuAWMwcamkWFKGG6Vya\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x661553e43d7c4fbb2de504e5999fd5c104d367488350ed5bf023031bd1ba5ac5\",\"urls\":[\"bzzr://fc2ba15143ce3a00268ecd15fc98eb2469b18bfe27a64bbab0ac6446f161c739\",\"dweb:/ipfs/QmV7wjtRf11ibUHh4g8JjuhMpy68pPhV95L2y46UBoRfsZ\"]}},\"version\":1}","bytecode":"0x","deployedBytecode":"0x","sourceMap":"","deployedSourceMap":"","source":"pragma solidity ^0.5.0;\n\nimport \"./IERC1155TokenReceiver.sol\";\nimport \"openzeppelin-solidity/contracts/introspection/ERC165.sol\";\n\ncontract ERC1155TokenReceiver is ERC165, IERC1155TokenReceiver {\n constructor() public {\n _registerInterface(\n ERC1155TokenReceiver(0).onERC1155Received.selector ^\n ERC1155TokenReceiver(0).onERC1155BatchReceived.selector\n );\n }\n}\n","compiler":{"name":"solc","version":"0.5.10+commit.5a6ea5b1.Emscripten.clang"},"networks":{},"schemaVersion":"3.0.16","updatedAt":"2019-12-09T11:33:40.943Z","devdoc":{"methods":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":{"details":"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` (i.e. 0xbc197c81, or its own function selector).","params":{"data":"Additional data with no specified format","from":"The address which previously owned the token","ids":"An array containing ids of each token being transferred (order and length must match values array)","operator":"The address which initiated the batch transfer (i.e. msg.sender)","values":"An array containing amounts of each token being transferred (order and length must match ids array)"},"return":"`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed"},"onERC1155Received(address,address,uint256,uint256,bytes)":{"details":"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. To accept the transfer, this must return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` (i.e. 0xf23a6e61, or its own function selector).","params":{"data":"Additional data with no specified format","from":"The address which previously owned the token","id":"The ID of the token being transferred","operator":"The address which initiated the transfer (i.e. msg.sender)","value":"The amount of tokens being transferred"},"return":"`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed"},"supportsInterface(bytes4)":{"details":"See `IERC165.supportsInterface`. * Time complexity O(1), guaranteed to always use less than 30 000 gas."}}},"userdoc":{"methods":{}}}

@@ -1,1327 +0,1 @@

{
"contractName": "ERC165",
"abi": [
{
"inputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"constant": true,
"inputs": [
{
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"Implementation of the `IERC165` interface. * Contracts may inherit from this and call `_registerInterface` to declare their support of an interface.\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See `IERC165.supportsInterface`. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0xac2eacd7e7762e275442f28f21d821544df5aae2ed7698af13be8c41b7005e2e\",\"urls\":[\"bzzr://43e901f6f210568ebc1d3591da3ce6a9d10796b854767a9c6e3da10305a8a332\",\"dweb:/ipfs/QmQhfx2Ufr8a2gFXm3KogL66xGgAuAWMwcamkWFKGG6Vya\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x661553e43d7c4fbb2de504e5999fd5c104d367488350ed5bf023031bd1ba5ac5\",\"urls\":[\"bzzr://fc2ba15143ce3a00268ecd15fc98eb2469b18bfe27a64bbab0ac6446f161c739\",\"dweb:/ipfs/QmV7wjtRf11ibUHh4g8JjuhMpy68pPhV95L2y46UBoRfsZ\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.5.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the `IERC165` interface.\n *\n * Contracts may inherit from this and call `_registerInterface` to declare\n * their support of an interface.\n */\ncontract ERC165 is IERC165 {\n /*\n * bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7\n */\n bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;\n\n /**\n * @dev Mapping of interface ids to whether or not it's supported.\n */\n mapping(bytes4 => bool) private _supportedInterfaces;\n\n constructor () internal {\n // Derived contracts need only register support for their own interfaces,\n // we register support for ERC165 itself here\n _registerInterface(_INTERFACE_ID_ERC165);\n }\n\n /**\n * @dev See `IERC165.supportsInterface`.\n *\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool) {\n return _supportedInterfaces[interfaceId];\n }\n\n /**\n * @dev Registers the contract as an implementer of the interface defined by\n * `interfaceId`. Support of the actual ERC165 interface is automatic and\n * registering its interface id is not required.\n *\n * See `IERC165.supportsInterface`.\n *\n * Requirements:\n *\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).\n */\n function _registerInterface(bytes4 interfaceId) internal {\n require(interfaceId != 0xffffffff, \"ERC165: invalid interface id\");\n _supportedInterfaces[interfaceId] = true;\n }\n}\n",
"sourcePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol",
"ast": {
"absolutePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol",
"exportedSymbols": {
"ERC165": [
2309
]
},
"id": 2310,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2259,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:7"
},
{
"absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol",
"file": "./IERC165.sol",
"id": 2260,
"nodeType": "ImportDirective",
"scope": 2310,
"sourceUnit": 2320,
"src": "25:23:7",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2261,
"name": "IERC165",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2319,
"src": "241:7:7",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC165_$2319",
"typeString": "contract IERC165"
}
},
"id": 2262,
"nodeType": "InheritanceSpecifier",
"src": "241:7:7"
}
],
"contractDependencies": [
2319
],
"contractKind": "contract",
"documentation": "@dev Implementation of the `IERC165` interface.\n * Contracts may inherit from this and call `_registerInterface` to declare\ntheir support of an interface.",
"fullyImplemented": true,
"id": 2309,
"linearizedBaseContracts": [
2309,
2319
],
"name": "ERC165",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 2265,
"name": "_INTERFACE_ID_ERC165",
"nodeType": "VariableDeclaration",
"scope": 2309,
"src": "338:57:7",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2263,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "338:6:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": {
"argumentTypes": null,
"hexValue": "30783031666663396137",
"id": 2264,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "385:10:7",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_33540519_by_1",
"typeString": "int_const 33540519"
},
"value": "0x01ffc9a7"
},
"visibility": "private"
},
{
"constant": false,
"id": 2269,
"name": "_supportedInterfaces",
"nodeType": "VariableDeclaration",
"scope": 2309,
"src": "489:52:7",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$",
"typeString": "mapping(bytes4 => bool)"
},
"typeName": {
"id": 2268,
"keyType": {
"id": 2266,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "497:6:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"nodeType": "Mapping",
"src": "489:23:7",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$",
"typeString": "mapping(bytes4 => bool)"
},
"valueType": {
"id": 2267,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "507:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
},
"value": null,
"visibility": "private"
},
{
"body": {
"id": 2276,
"nodeType": "Block",
"src": "572:193:7",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2273,
"name": "_INTERFACE_ID_ERC165",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2265,
"src": "737:20:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
],
"id": 2272,
"name": "_registerInterface",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2308,
"src": "718:18:7",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
"typeString": "function (bytes4)"
}
},
"id": 2274,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "718:40:7",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2275,
"nodeType": "ExpressionStatement",
"src": "718:40:7"
}
]
},
"documentation": null,
"id": 2277,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2270,
"nodeType": "ParameterList",
"parameters": [],
"src": "560:2:7"
},
"returnParameters": {
"id": 2271,
"nodeType": "ParameterList",
"parameters": [],
"src": "572:0:7"
},
"scope": 2309,
"src": "548:217:7",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 2288,
"nodeType": "Block",
"src": "991:57:7",
"statements": [
{
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 2284,
"name": "_supportedInterfaces",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2269,
"src": "1008:20:7",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$",
"typeString": "mapping(bytes4 => bool)"
}
},
"id": 2286,
"indexExpression": {
"argumentTypes": null,
"id": 2285,
"name": "interfaceId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2279,
"src": "1029:11:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1008:33:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 2283,
"id": 2287,
"nodeType": "Return",
"src": "1001:40:7"
}
]
},
"documentation": "@dev See `IERC165.supportsInterface`.\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.",
"id": 2289,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "supportsInterface",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2280,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2279,
"name": "interfaceId",
"nodeType": "VariableDeclaration",
"scope": 2289,
"src": "942:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2278,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "942:6:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "941:20:7"
},
"returnParameters": {
"id": 2283,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2282,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2289,
"src": "985:4:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2281,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "985:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "984:6:7"
},
"scope": 2309,
"src": "915:133:7",
"stateMutability": "view",
"superFunction": 2318,
"visibility": "external"
},
{
"body": {
"id": 2307,
"nodeType": "Block",
"src": "1499:133:7",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"id": 2297,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 2295,
"name": "interfaceId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2291,
"src": "1517:11:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30786666666666666666",
"id": 2296,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1532:10:7",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_4294967295_by_1",
"typeString": "int_const 4294967295"
},
"value": "0xffffffff"
},
"src": "1517:25:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4552433136353a20696e76616c696420696e74657266616365206964",
"id": 2298,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1544:30:7",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee",
"typeString": "literal_string \"ERC165: invalid interface id\""
},
"value": "ERC165: invalid interface id"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee",
"typeString": "literal_string \"ERC165: invalid interface id\""
}
],
"id": 2294,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2558,
2559
],
"referencedDeclaration": 2559,
"src": "1509:7:7",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2299,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1509:66:7",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2300,
"nodeType": "ExpressionStatement",
"src": "1509:66:7"
},
{
"expression": {
"argumentTypes": null,
"id": 2305,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 2301,
"name": "_supportedInterfaces",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2269,
"src": "1585:20:7",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$",
"typeString": "mapping(bytes4 => bool)"
}
},
"id": 2303,
"indexExpression": {
"argumentTypes": null,
"id": 2302,
"name": "interfaceId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2291,
"src": "1606:11:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "1585:33:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 2304,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1621:4:7",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"src": "1585:40:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 2306,
"nodeType": "ExpressionStatement",
"src": "1585:40:7"
}
]
},
"documentation": "@dev Registers the contract as an implementer of the interface defined by\n`interfaceId`. Support of the actual ERC165 interface is automatic and\nregistering its interface id is not required.\n * See `IERC165.supportsInterface`.\n * Requirements:\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).",
"id": 2308,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "_registerInterface",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2292,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2291,
"name": "interfaceId",
"nodeType": "VariableDeclaration",
"scope": 2308,
"src": "1470:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2290,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "1470:6:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1469:20:7"
},
"returnParameters": {
"id": 2293,
"nodeType": "ParameterList",
"parameters": [],
"src": "1499:0:7"
},
"scope": 2309,
"src": "1442:190:7",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 2310,
"src": "222:1412:7"
}
],
"src": "0:1635:7"
},
"legacyAST": {
"absolutePath": "openzeppelin-solidity/contracts/introspection/ERC165.sol",
"exportedSymbols": {
"ERC165": [
2309
]
},
"id": 2310,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2259,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:7"
},
{
"absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol",
"file": "./IERC165.sol",
"id": 2260,
"nodeType": "ImportDirective",
"scope": 2310,
"sourceUnit": 2320,
"src": "25:23:7",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2261,
"name": "IERC165",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2319,
"src": "241:7:7",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC165_$2319",
"typeString": "contract IERC165"
}
},
"id": 2262,
"nodeType": "InheritanceSpecifier",
"src": "241:7:7"
}
],
"contractDependencies": [
2319
],
"contractKind": "contract",
"documentation": "@dev Implementation of the `IERC165` interface.\n * Contracts may inherit from this and call `_registerInterface` to declare\ntheir support of an interface.",
"fullyImplemented": true,
"id": 2309,
"linearizedBaseContracts": [
2309,
2319
],
"name": "ERC165",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 2265,
"name": "_INTERFACE_ID_ERC165",
"nodeType": "VariableDeclaration",
"scope": 2309,
"src": "338:57:7",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2263,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "338:6:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": {
"argumentTypes": null,
"hexValue": "30783031666663396137",
"id": 2264,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "385:10:7",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_33540519_by_1",
"typeString": "int_const 33540519"
},
"value": "0x01ffc9a7"
},
"visibility": "private"
},
{
"constant": false,
"id": 2269,
"name": "_supportedInterfaces",
"nodeType": "VariableDeclaration",
"scope": 2309,
"src": "489:52:7",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$",
"typeString": "mapping(bytes4 => bool)"
},
"typeName": {
"id": 2268,
"keyType": {
"id": 2266,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "497:6:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"nodeType": "Mapping",
"src": "489:23:7",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$",
"typeString": "mapping(bytes4 => bool)"
},
"valueType": {
"id": 2267,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "507:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
},
"value": null,
"visibility": "private"
},
{
"body": {
"id": 2276,
"nodeType": "Block",
"src": "572:193:7",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2273,
"name": "_INTERFACE_ID_ERC165",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2265,
"src": "737:20:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
],
"id": 2272,
"name": "_registerInterface",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2308,
"src": "718:18:7",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$",
"typeString": "function (bytes4)"
}
},
"id": 2274,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "718:40:7",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2275,
"nodeType": "ExpressionStatement",
"src": "718:40:7"
}
]
},
"documentation": null,
"id": 2277,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2270,
"nodeType": "ParameterList",
"parameters": [],
"src": "560:2:7"
},
"returnParameters": {
"id": 2271,
"nodeType": "ParameterList",
"parameters": [],
"src": "572:0:7"
},
"scope": 2309,
"src": "548:217:7",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 2288,
"nodeType": "Block",
"src": "991:57:7",
"statements": [
{
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 2284,
"name": "_supportedInterfaces",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2269,
"src": "1008:20:7",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$",
"typeString": "mapping(bytes4 => bool)"
}
},
"id": 2286,
"indexExpression": {
"argumentTypes": null,
"id": 2285,
"name": "interfaceId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2279,
"src": "1029:11:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1008:33:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"functionReturnParameters": 2283,
"id": 2287,
"nodeType": "Return",
"src": "1001:40:7"
}
]
},
"documentation": "@dev See `IERC165.supportsInterface`.\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.",
"id": 2289,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "supportsInterface",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2280,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2279,
"name": "interfaceId",
"nodeType": "VariableDeclaration",
"scope": 2289,
"src": "942:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2278,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "942:6:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "941:20:7"
},
"returnParameters": {
"id": 2283,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2282,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2289,
"src": "985:4:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2281,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "985:4:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "984:6:7"
},
"scope": 2309,
"src": "915:133:7",
"stateMutability": "view",
"superFunction": 2318,
"visibility": "external"
},
{
"body": {
"id": 2307,
"nodeType": "Block",
"src": "1499:133:7",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"id": 2297,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 2295,
"name": "interfaceId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2291,
"src": "1517:11:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30786666666666666666",
"id": 2296,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1532:10:7",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_4294967295_by_1",
"typeString": "int_const 4294967295"
},
"value": "0xffffffff"
},
"src": "1517:25:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4552433136353a20696e76616c696420696e74657266616365206964",
"id": 2298,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1544:30:7",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee",
"typeString": "literal_string \"ERC165: invalid interface id\""
},
"value": "ERC165: invalid interface id"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee",
"typeString": "literal_string \"ERC165: invalid interface id\""
}
],
"id": 2294,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2558,
2559
],
"referencedDeclaration": 2559,
"src": "1509:7:7",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2299,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1509:66:7",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2300,
"nodeType": "ExpressionStatement",
"src": "1509:66:7"
},
{
"expression": {
"argumentTypes": null,
"id": 2305,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 2301,
"name": "_supportedInterfaces",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2269,
"src": "1585:20:7",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$",
"typeString": "mapping(bytes4 => bool)"
}
},
"id": 2303,
"indexExpression": {
"argumentTypes": null,
"id": 2302,
"name": "interfaceId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2291,
"src": "1606:11:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "1585:33:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
"id": 2304,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1621:4:7",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"src": "1585:40:7",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 2306,
"nodeType": "ExpressionStatement",
"src": "1585:40:7"
}
]
},
"documentation": "@dev Registers the contract as an implementer of the interface defined by\n`interfaceId`. Support of the actual ERC165 interface is automatic and\nregistering its interface id is not required.\n * See `IERC165.supportsInterface`.\n * Requirements:\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).",
"id": 2308,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "_registerInterface",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2292,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2291,
"name": "interfaceId",
"nodeType": "VariableDeclaration",
"scope": 2308,
"src": "1470:18:7",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2290,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "1470:6:7",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1469:20:7"
},
"returnParameters": {
"id": 2293,
"nodeType": "ParameterList",
"parameters": [],
"src": "1499:0:7"
},
"scope": 2309,
"src": "1442:190:7",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 2310,
"src": "222:1412:7"
}
],
"src": "0:1635:7"
},
"compiler": {
"name": "solc",
"version": "0.5.10+commit.5a6ea5b1.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.0.16",
"updatedAt": "2019-12-09T11:24:15.956Z",
"devdoc": {
"details": "Implementation of the `IERC165` interface. * Contracts may inherit from this and call `_registerInterface` to declare their support of an interface.",
"methods": {
"supportsInterface(bytes4)": {
"details": "See `IERC165.supportsInterface`. * Time complexity O(1), guaranteed to always use less than 30 000 gas."
}
}
},
"userdoc": {
"methods": {}
}
}
{"contractName":"ERC165","abi":[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":true,"inputs":[{"name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"metadata":"{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"details\":\"Implementation of the `IERC165` interface. * Contracts may inherit from this and call `_registerInterface` to declare their support of an interface.\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See `IERC165.supportsInterface`. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0xac2eacd7e7762e275442f28f21d821544df5aae2ed7698af13be8c41b7005e2e\",\"urls\":[\"bzzr://43e901f6f210568ebc1d3591da3ce6a9d10796b854767a9c6e3da10305a8a332\",\"dweb:/ipfs/QmQhfx2Ufr8a2gFXm3KogL66xGgAuAWMwcamkWFKGG6Vya\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x661553e43d7c4fbb2de504e5999fd5c104d367488350ed5bf023031bd1ba5ac5\",\"urls\":[\"bzzr://fc2ba15143ce3a00268ecd15fc98eb2469b18bfe27a64bbab0ac6446f161c739\",\"dweb:/ipfs/QmV7wjtRf11ibUHh4g8JjuhMpy68pPhV95L2y46UBoRfsZ\"]}},\"version\":1}","bytecode":"0x","deployedBytecode":"0x","sourceMap":"","deployedSourceMap":"","source":"pragma solidity ^0.5.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the `IERC165` interface.\n *\n * Contracts may inherit from this and call `_registerInterface` to declare\n * their support of an interface.\n */\ncontract ERC165 is IERC165 {\n /*\n * bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7\n */\n bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;\n\n /**\n * @dev Mapping of interface ids to whether or not it's supported.\n */\n mapping(bytes4 => bool) private _supportedInterfaces;\n\n constructor () internal {\n // Derived contracts need only register support for their own interfaces,\n // we register support for ERC165 itself here\n _registerInterface(_INTERFACE_ID_ERC165);\n }\n\n /**\n * @dev See `IERC165.supportsInterface`.\n *\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool) {\n return _supportedInterfaces[interfaceId];\n }\n\n /**\n * @dev Registers the contract as an implementer of the interface defined by\n * `interfaceId`. Support of the actual ERC165 interface is automatic and\n * registering its interface id is not required.\n *\n * See `IERC165.supportsInterface`.\n *\n * Requirements:\n *\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).\n */\n function _registerInterface(bytes4 interfaceId) internal {\n require(interfaceId != 0xffffffff, \"ERC165: invalid interface id\");\n _supportedInterfaces[interfaceId] = true;\n }\n}\n","compiler":{"name":"solc","version":"0.5.10+commit.5a6ea5b1.Emscripten.clang"},"networks":{},"schemaVersion":"3.0.16","updatedAt":"2019-12-09T11:33:40.947Z","devdoc":{"details":"Implementation of the `IERC165` interface. * Contracts may inherit from this and call `_registerInterface` to declare their support of an interface.","methods":{"supportsInterface(bytes4)":{"details":"See `IERC165.supportsInterface`. * Time complexity O(1), guaranteed to always use less than 30 000 gas."}}},"userdoc":{"methods":{}}}

@@ -1,1078 +0,1 @@

{
"contractName": "IERC1155TokenReceiver",
"abi": [
{
"constant": true,
"inputs": [
{
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "operator",
"type": "address"
},
{
"name": "from",
"type": "address"
},
{
"name": "id",
"type": "uint256"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
}
],
"name": "onERC1155Received",
"outputs": [
{
"name": "",
"type": "bytes4"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "operator",
"type": "address"
},
{
"name": "from",
"type": "address"
},
{
"name": "ids",
"type": "uint256[]"
},
{
"name": "values",
"type": "uint256[]"
},
{
"name": "data",
"type": "bytes"
}
],
"name": "onERC1155BatchReceived",
"outputs": [
{
"name": "",
"type": "bytes4"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"ids\",\"type\":\"uint256[]\"},{\"name\":\"values\",\"type\":\"uint256[]\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"id\",\"type\":\"uint256\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-1155\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` (i.e. 0xbc197c81, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"ids\":\"An array containing ids of each token being transferred (order and length must match values array)\",\"operator\":\"The address which initiated the batch transfer (i.e. msg.sender)\",\"values\":\"An array containing amounts of each token being transferred (order and length must match ids array)\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` if transfer is allowed\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. To accept the transfer, this must return `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` (i.e. 0xf23a6e61, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which initiated the transfer (i.e. msg.sender)\",\"value\":\"The amount of tokens being transferred\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` if transfer is allowed\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. * This function call must use less than 30 000 gas.\"}},\"title\":\"ERC-1155 Multi Token Receiver Interface\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol\":\"IERC1155TokenReceiver\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xca815b5ca57df8f1056b962c2728d6a1e56fc7d9a7869ccee8f5a1ac6075b75d\",\"urls\":[\"bzzr://61df3e61bf24c80714e326ffdc274aaefc342241de3e72374131f613cddbd042\",\"dweb:/ipfs/QmPnF3rGuY2H3Gifvha4dW7fJPptP7wJerHzjz4dpzfTJW\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x661553e43d7c4fbb2de504e5999fd5c104d367488350ed5bf023031bd1ba5ac5\",\"urls\":[\"bzzr://fc2ba15143ce3a00268ecd15fc98eb2469b18bfe27a64bbab0ac6446f161c739\",\"dweb:/ipfs/QmV7wjtRf11ibUHh4g8JjuhMpy68pPhV95L2y46UBoRfsZ\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.5.0;\n\nimport \"openzeppelin-solidity/contracts/introspection/IERC165.sol\";\n\n/**\n @title ERC-1155 Multi Token Receiver Interface\n @dev See https://eips.ethereum.org/EIPS/eip-1155\n*/\ncontract IERC1155TokenReceiver is IERC165 {\n\n /**\n @dev Handles the receipt of a single ERC1155 token type. This function is\n called at the end of a `safeTransferFrom` after the balance has been updated.\n To accept the transfer, this must return\n `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n (i.e. 0xf23a6e61, or its own function selector).\n @param operator The address which initiated the transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param id The ID of the token being transferred\n @param value The amount of tokens being transferred\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed\n */\n function onERC1155Received(\n address operator,\n address from,\n uint256 id,\n uint256 value,\n bytes calldata data\n )\n external\n returns(bytes4);\n\n /**\n @dev Handles the receipt of a multiple ERC1155 token types. This function\n is called at the end of a `safeBatchTransferFrom` after the balances have\n been updated. To accept the transfer(s), this must return\n `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n (i.e. 0xbc197c81, or its own function selector).\n @param operator The address which initiated the batch transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param ids An array containing ids of each token being transferred (order and length must match values array)\n @param values An array containing amounts of each token being transferred (order and length must match ids array)\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed\n */\n function onERC1155BatchReceived(\n address operator,\n address from,\n uint256[] calldata ids,\n uint256[] calldata values,\n bytes calldata data\n )\n external\n returns(bytes4);\n}\n",
"sourcePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol",
"ast": {
"absolutePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol",
"exportedSymbols": {
"IERC1155TokenReceiver": [
2200
]
},
"id": 2201,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2164,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:5"
},
{
"absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol",
"file": "openzeppelin-solidity/contracts/introspection/IERC165.sol",
"id": 2165,
"nodeType": "ImportDirective",
"scope": 2201,
"sourceUnit": 2320,
"src": "25:67:5",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2166,
"name": "IERC165",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2319,
"src": "239:7:5",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC165_$2319",
"typeString": "contract IERC165"
}
},
"id": 2167,
"nodeType": "InheritanceSpecifier",
"src": "239:7:5"
}
],
"contractDependencies": [
2319
],
"contractKind": "contract",
"documentation": "@title ERC-1155 Multi Token Receiver Interface\n@dev See https://eips.ethereum.org/EIPS/eip-1155",
"fullyImplemented": false,
"id": 2200,
"linearizedBaseContracts": [
2200,
2319
],
"name": "IERC1155TokenReceiver",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@dev Handles the receipt of a single ERC1155 token type. This function is\ncalled at the end of a `safeTransferFrom` after the balance has been updated.\nTo accept the transfer, this must return\n`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n(i.e. 0xf23a6e61, or its own function selector).\n@param operator The address which initiated the transfer (i.e. msg.sender)\n@param from The address which previously owned the token\n@param id The ID of the token being transferred\n@param value The amount of tokens being transferred\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed",
"id": 2182,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "onERC1155Received",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2178,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2169,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1111:16:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2168,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1111:7:5",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2171,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1137:12:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2170,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1137:7:5",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2173,
"name": "id",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1159:10:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2172,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1159:7:5",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2175,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1179:13:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2174,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1179:7:5",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2177,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1202:19:5",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2176,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1202:5:5",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1101:126:5"
},
"returnParameters": {
"id": 2181,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2180,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1261:6:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2179,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "1261:6:5",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1260:8:5"
},
"scope": 2200,
"src": "1075:194:5",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Handles the receipt of a multiple ERC1155 token types. This function\nis called at the end of a `safeBatchTransferFrom` after the balances have\nbeen updated. To accept the transfer(s), this must return\n`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n(i.e. 0xbc197c81, or its own function selector).\n@param operator The address which initiated the batch transfer (i.e. msg.sender)\n@param from The address which previously owned the token\n@param ids An array containing ids of each token being transferred (order and length must match values array)\n@param values An array containing amounts of each token being transferred (order and length must match ids array)\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed",
"id": 2199,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "onERC1155BatchReceived",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2195,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2184,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2298:16:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2183,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2298:7:5",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2186,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2324:12:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2185,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2324:7:5",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2189,
"name": "ids",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2346:22:5",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2187,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2346:7:5",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2188,
"length": null,
"nodeType": "ArrayTypeName",
"src": "2346:9:5",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2192,
"name": "values",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2378:25:5",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2190,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2378:7:5",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2191,
"length": null,
"nodeType": "ArrayTypeName",
"src": "2378:9:5",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2194,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2413:19:5",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2193,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2413:5:5",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2288:150:5"
},
"returnParameters": {
"id": 2198,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2197,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2472:6:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2196,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "2472:6:5",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2471:8:5"
},
"scope": 2200,
"src": "2257:223:5",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
}
],
"scope": 2201,
"src": "205:2277:5"
}
],
"src": "0:2483:5"
},
"legacyAST": {
"absolutePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol",
"exportedSymbols": {
"IERC1155TokenReceiver": [
2200
]
},
"id": 2201,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2164,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:5"
},
{
"absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol",
"file": "openzeppelin-solidity/contracts/introspection/IERC165.sol",
"id": 2165,
"nodeType": "ImportDirective",
"scope": 2201,
"sourceUnit": 2320,
"src": "25:67:5",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 2166,
"name": "IERC165",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2319,
"src": "239:7:5",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC165_$2319",
"typeString": "contract IERC165"
}
},
"id": 2167,
"nodeType": "InheritanceSpecifier",
"src": "239:7:5"
}
],
"contractDependencies": [
2319
],
"contractKind": "contract",
"documentation": "@title ERC-1155 Multi Token Receiver Interface\n@dev See https://eips.ethereum.org/EIPS/eip-1155",
"fullyImplemented": false,
"id": 2200,
"linearizedBaseContracts": [
2200,
2319
],
"name": "IERC1155TokenReceiver",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@dev Handles the receipt of a single ERC1155 token type. This function is\ncalled at the end of a `safeTransferFrom` after the balance has been updated.\nTo accept the transfer, this must return\n`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n(i.e. 0xf23a6e61, or its own function selector).\n@param operator The address which initiated the transfer (i.e. msg.sender)\n@param from The address which previously owned the token\n@param id The ID of the token being transferred\n@param value The amount of tokens being transferred\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed",
"id": 2182,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "onERC1155Received",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2178,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2169,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1111:16:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2168,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1111:7:5",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2171,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1137:12:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2170,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1137:7:5",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2173,
"name": "id",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1159:10:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2172,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1159:7:5",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2175,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1179:13:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2174,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1179:7:5",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2177,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1202:19:5",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2176,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1202:5:5",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1101:126:5"
},
"returnParameters": {
"id": 2181,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2180,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2182,
"src": "1261:6:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2179,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "1261:6:5",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1260:8:5"
},
"scope": 2200,
"src": "1075:194:5",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Handles the receipt of a multiple ERC1155 token types. This function\nis called at the end of a `safeBatchTransferFrom` after the balances have\nbeen updated. To accept the transfer(s), this must return\n`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n(i.e. 0xbc197c81, or its own function selector).\n@param operator The address which initiated the batch transfer (i.e. msg.sender)\n@param from The address which previously owned the token\n@param ids An array containing ids of each token being transferred (order and length must match values array)\n@param values An array containing amounts of each token being transferred (order and length must match ids array)\n@param data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed",
"id": 2199,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "onERC1155BatchReceived",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2195,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2184,
"name": "operator",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2298:16:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2183,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2298:7:5",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2186,
"name": "from",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2324:12:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2185,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2324:7:5",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2189,
"name": "ids",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2346:22:5",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2187,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2346:7:5",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2188,
"length": null,
"nodeType": "ArrayTypeName",
"src": "2346:9:5",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2192,
"name": "values",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2378:25:5",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 2190,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2378:7:5",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2191,
"length": null,
"nodeType": "ArrayTypeName",
"src": "2378:9:5",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2194,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2413:19:5",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 2193,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2413:5:5",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2288:150:5"
},
"returnParameters": {
"id": 2198,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2197,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2199,
"src": "2472:6:5",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2196,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "2472:6:5",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2471:8:5"
},
"scope": 2200,
"src": "2257:223:5",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
}
],
"scope": 2201,
"src": "205:2277:5"
}
],
"src": "0:2483:5"
},
"compiler": {
"name": "solc",
"version": "0.5.10+commit.5a6ea5b1.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.0.16",
"updatedAt": "2019-12-09T11:24:15.955Z",
"devdoc": {
"details": "See https://eips.ethereum.org/EIPS/eip-1155",
"methods": {
"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": {
"details": "Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` (i.e. 0xbc197c81, or its own function selector).",
"params": {
"data": "Additional data with no specified format",
"from": "The address which previously owned the token",
"ids": "An array containing ids of each token being transferred (order and length must match values array)",
"operator": "The address which initiated the batch transfer (i.e. msg.sender)",
"values": "An array containing amounts of each token being transferred (order and length must match ids array)"
},
"return": "`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed"
},
"onERC1155Received(address,address,uint256,uint256,bytes)": {
"details": "Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. To accept the transfer, this must return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` (i.e. 0xf23a6e61, or its own function selector).",
"params": {
"data": "Additional data with no specified format",
"from": "The address which previously owned the token",
"id": "The ID of the token being transferred",
"operator": "The address which initiated the transfer (i.e. msg.sender)",
"value": "The amount of tokens being transferred"
},
"return": "`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed"
},
"supportsInterface(bytes4)": {
"details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. * This function call must use less than 30 000 gas."
}
},
"title": "ERC-1155 Multi Token Receiver Interface"
},
"userdoc": {
"methods": {}
}
}
{"contractName":"IERC1155TokenReceiver","abi":[{"constant":true,"inputs":[{"name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"},{"name":"from","type":"address"},{"name":"id","type":"uint256"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"onERC1155Received","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"},{"name":"from","type":"address"},{"name":"ids","type":"uint256[]"},{"name":"values","type":"uint256[]"},{"name":"data","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"metadata":"{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"ids\",\"type\":\"uint256[]\"},{\"name\":\"values\",\"type\":\"uint256[]\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"id\",\"type\":\"uint256\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-1155\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` (i.e. 0xbc197c81, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"ids\":\"An array containing ids of each token being transferred (order and length must match values array)\",\"operator\":\"The address which initiated the batch transfer (i.e. msg.sender)\",\"values\":\"An array containing amounts of each token being transferred (order and length must match ids array)\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` if transfer is allowed\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. To accept the transfer, this must return `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` (i.e. 0xf23a6e61, or its own function selector).\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which initiated the transfer (i.e. msg.sender)\",\"value\":\"The amount of tokens being transferred\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))` if transfer is allowed\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. * This function call must use less than 30 000 gas.\"}},\"title\":\"ERC-1155 Multi Token Receiver Interface\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol\":\"IERC1155TokenReceiver\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/ERC1155/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xca815b5ca57df8f1056b962c2728d6a1e56fc7d9a7869ccee8f5a1ac6075b75d\",\"urls\":[\"bzzr://61df3e61bf24c80714e326ffdc274aaefc342241de3e72374131f613cddbd042\",\"dweb:/ipfs/QmPnF3rGuY2H3Gifvha4dW7fJPptP7wJerHzjz4dpzfTJW\"]},\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x661553e43d7c4fbb2de504e5999fd5c104d367488350ed5bf023031bd1ba5ac5\",\"urls\":[\"bzzr://fc2ba15143ce3a00268ecd15fc98eb2469b18bfe27a64bbab0ac6446f161c739\",\"dweb:/ipfs/QmV7wjtRf11ibUHh4g8JjuhMpy68pPhV95L2y46UBoRfsZ\"]}},\"version\":1}","bytecode":"0x","deployedBytecode":"0x","sourceMap":"","deployedSourceMap":"","source":"pragma solidity ^0.5.0;\n\nimport \"openzeppelin-solidity/contracts/introspection/IERC165.sol\";\n\n/**\n @title ERC-1155 Multi Token Receiver Interface\n @dev See https://eips.ethereum.org/EIPS/eip-1155\n*/\ncontract IERC1155TokenReceiver is IERC165 {\n\n /**\n @dev Handles the receipt of a single ERC1155 token type. This function is\n called at the end of a `safeTransferFrom` after the balance has been updated.\n To accept the transfer, this must return\n `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n (i.e. 0xf23a6e61, or its own function selector).\n @param operator The address which initiated the transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param id The ID of the token being transferred\n @param value The amount of tokens being transferred\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed\n */\n function onERC1155Received(\n address operator,\n address from,\n uint256 id,\n uint256 value,\n bytes calldata data\n )\n external\n returns(bytes4);\n\n /**\n @dev Handles the receipt of a multiple ERC1155 token types. This function\n is called at the end of a `safeBatchTransferFrom` after the balances have\n been updated. To accept the transfer(s), this must return\n `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n (i.e. 0xbc197c81, or its own function selector).\n @param operator The address which initiated the batch transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param ids An array containing ids of each token being transferred (order and length must match values array)\n @param values An array containing amounts of each token being transferred (order and length must match ids array)\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed\n */\n function onERC1155BatchReceived(\n address operator,\n address from,\n uint256[] calldata ids,\n uint256[] calldata values,\n bytes calldata data\n )\n external\n returns(bytes4);\n}\n","compiler":{"name":"solc","version":"0.5.10+commit.5a6ea5b1.Emscripten.clang"},"networks":{},"schemaVersion":"3.0.16","updatedAt":"2019-12-09T11:33:40.945Z","devdoc":{"details":"See https://eips.ethereum.org/EIPS/eip-1155","methods":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":{"details":"Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. To accept the transfer(s), this must return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` (i.e. 0xbc197c81, or its own function selector).","params":{"data":"Additional data with no specified format","from":"The address which previously owned the token","ids":"An array containing ids of each token being transferred (order and length must match values array)","operator":"The address which initiated the batch transfer (i.e. msg.sender)","values":"An array containing amounts of each token being transferred (order and length must match ids array)"},"return":"`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed"},"onERC1155Received(address,address,uint256,uint256,bytes)":{"details":"Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. To accept the transfer, this must return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` (i.e. 0xf23a6e61, or its own function selector).","params":{"data":"Additional data with no specified format","from":"The address which previously owned the token","id":"The ID of the token being transferred","operator":"The address which initiated the transfer (i.e. msg.sender)","value":"The amount of tokens being transferred"},"return":"`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed"},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. * This function call must use less than 30 000 gas."}},"title":"ERC-1155 Multi Token Receiver Interface"},"userdoc":{"methods":{}}}

@@ -1,293 +0,1 @@

{
"contractName": "IERC165",
"abi": [
{
"constant": true,
"inputs": [
{
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the [EIP](https://eips.ethereum.org/EIPS/eip-165). * Implementers can declare support of contract interfaces, which can then be queried by others (`ERC165Checker`). * For an implementation, see `ERC165`.\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. * This function call must use less than 30 000 gas.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x661553e43d7c4fbb2de504e5999fd5c104d367488350ed5bf023031bd1ba5ac5\",\"urls\":[\"bzzr://fc2ba15143ce3a00268ecd15fc98eb2469b18bfe27a64bbab0ac6446f161c739\",\"dweb:/ipfs/QmV7wjtRf11ibUHh4g8JjuhMpy68pPhV95L2y46UBoRfsZ\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * [EIP](https://eips.ethereum.org/EIPS/eip-165).\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others (`ERC165Checker`).\n *\n * For an implementation, see `ERC165`.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified)\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n",
"sourcePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol",
"ast": {
"absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol",
"exportedSymbols": {
"IERC165": [
2319
]
},
"id": 2320,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2311,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:8"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "@dev Interface of the ERC165 standard, as defined in the\n[EIP](https://eips.ethereum.org/EIPS/eip-165).\n * Implementers can declare support of contract interfaces, which can then be\nqueried by others (`ERC165Checker`).\n * For an implementation, see `ERC165`.",
"fullyImplemented": false,
"id": 2319,
"linearizedBaseContracts": [
2319
],
"name": "IERC165",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@dev Returns true if this contract implements the interface defined by\n`interfaceId`. See the corresponding\n[EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified)\nto learn more about how these ids are created.\n * This function call must use less than 30 000 gas.",
"id": 2318,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "supportsInterface",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2314,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2313,
"name": "interfaceId",
"nodeType": "VariableDeclaration",
"scope": 2318,
"src": "705:18:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2312,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "705:6:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "704:20:8"
},
"returnParameters": {
"id": 2317,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2316,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2318,
"src": "748:4:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2315,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "748:4:8",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "747:6:8"
},
"scope": 2319,
"src": "678:76:8",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
}
],
"scope": 2320,
"src": "307:449:8"
}
],
"src": "0:757:8"
},
"legacyAST": {
"absolutePath": "openzeppelin-solidity/contracts/introspection/IERC165.sol",
"exportedSymbols": {
"IERC165": [
2319
]
},
"id": 2320,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2311,
"literals": [
"solidity",
"^",
"0.5",
".0"
],
"nodeType": "PragmaDirective",
"src": "0:23:8"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": "@dev Interface of the ERC165 standard, as defined in the\n[EIP](https://eips.ethereum.org/EIPS/eip-165).\n * Implementers can declare support of contract interfaces, which can then be\nqueried by others (`ERC165Checker`).\n * For an implementation, see `ERC165`.",
"fullyImplemented": false,
"id": 2319,
"linearizedBaseContracts": [
2319
],
"name": "IERC165",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@dev Returns true if this contract implements the interface defined by\n`interfaceId`. See the corresponding\n[EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified)\nto learn more about how these ids are created.\n * This function call must use less than 30 000 gas.",
"id": 2318,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "supportsInterface",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2314,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2313,
"name": "interfaceId",
"nodeType": "VariableDeclaration",
"scope": 2318,
"src": "705:18:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 2312,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "705:6:8",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "704:20:8"
},
"returnParameters": {
"id": 2317,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2316,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 2318,
"src": "748:4:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 2315,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "748:4:8",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "747:6:8"
},
"scope": 2319,
"src": "678:76:8",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
}
],
"scope": 2320,
"src": "307:449:8"
}
],
"src": "0:757:8"
},
"compiler": {
"name": "solc",
"version": "0.5.10+commit.5a6ea5b1.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.0.16",
"updatedAt": "2019-12-09T11:24:15.956Z",
"devdoc": {
"details": "Interface of the ERC165 standard, as defined in the [EIP](https://eips.ethereum.org/EIPS/eip-165). * Implementers can declare support of contract interfaces, which can then be queried by others (`ERC165Checker`). * For an implementation, see `ERC165`.",
"methods": {
"supportsInterface(bytes4)": {
"details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. * This function call must use less than 30 000 gas."
}
}
},
"userdoc": {
"methods": {}
}
}
{"contractName":"IERC165","abi":[{"constant":true,"inputs":[{"name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"metadata":"{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the [EIP](https://eips.ethereum.org/EIPS/eip-165). * Implementers can declare support of contract interfaces, which can then be queried by others (`ERC165Checker`). * For an implementation, see `ERC165`.\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. * This function call must use less than 30 000 gas.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x661553e43d7c4fbb2de504e5999fd5c104d367488350ed5bf023031bd1ba5ac5\",\"urls\":[\"bzzr://fc2ba15143ce3a00268ecd15fc98eb2469b18bfe27a64bbab0ac6446f161c739\",\"dweb:/ipfs/QmV7wjtRf11ibUHh4g8JjuhMpy68pPhV95L2y46UBoRfsZ\"]}},\"version\":1}","bytecode":"0x","deployedBytecode":"0x","sourceMap":"","deployedSourceMap":"","source":"pragma solidity ^0.5.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * [EIP](https://eips.ethereum.org/EIPS/eip-165).\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others (`ERC165Checker`).\n *\n * For an implementation, see `ERC165`.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified)\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n","compiler":{"name":"solc","version":"0.5.10+commit.5a6ea5b1.Emscripten.clang"},"networks":{},"schemaVersion":"3.0.16","updatedAt":"2019-12-09T11:33:40.947Z","devdoc":{"details":"Interface of the ERC165 standard, as defined in the [EIP](https://eips.ethereum.org/EIPS/eip-165). * Implementers can declare support of contract interfaces, which can then be queried by others (`ERC165Checker`). * For an implementation, see `ERC165`.","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding [EIP section](https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified) to learn more about how these ids are created. * This function call must use less than 30 000 gas."}}},"userdoc":{"methods":{}}}

@@ -1,1392 +0,1 @@

{
"contractName": "Migrations",
"abi": [
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "lastCompletedMigration",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"constant": false,
"inputs": [
{
"name": "completed",
"type": "uint256"
}
],
"name": "setCompleted",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "newAddress",
"type": "address"
}
],
"name": "upgrade",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastCompletedMigration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/Migrations.sol\":{\"keccak256\":\"0x39666fa26b6e786234e01c48cdfdbbffe1a1af5dfe0fb74ec6b970daeb3f3bc3\",\"urls\":[\"bzzr://0c9536b8c4f627d916bf201ed9b72c99bddd268e16eaf4ed8d521ad6c9b27cab\",\"dweb:/ipfs/QmZVULUy8eqntGaErvJsuZN876vc6mNYwRVC9zC39QzjRx\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101b3806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f010146100515780638da5cb5b14610079578063fbdbad3c1461009d578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b604080516001600160a01b039092168252519081900360200190f35b6100a5610160565b60408051918252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031681565b60015481565b6000546001600160a01b031633141561014e5760015556fea265627a7a723058200f53f3b210e9b2e05c90f4d64105202d89697151d9b669777aa5d5ba12af9e4b64736f6c634300050a0032",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f010146100515780638da5cb5b14610079578063fbdbad3c1461009d578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b604080516001600160a01b039092168252519081900360200190f35b6100a5610160565b60408051918252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031681565b60015481565b6000546001600160a01b031633141561014e5760015556fea265627a7a723058200f53f3b210e9b2e05c90f4d64105202d89697151d9b669777aa5d5ba12af9e4b64736f6c634300050a0032",
"sourceMap": "26:512:6:-;;;190:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;221:5:6;:18;;-1:-1:-1;;;;;;221:18:6;229:10;221:18;;;26:512;;;;;;",
"deployedSourceMap": "26:512:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:512:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;365:171;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;365:171:6;-1:-1:-1;;;;;365:171:6;;:::i;:::-;;52:20;;;:::i;:::-;;;;-1:-1:-1;;;;;52:20:6;;;;;;;;;;;;;;78:34;;;:::i;:::-;;;;;;;;;;;;;;;;252:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;252:107:6;;:::i;365:171::-;169:5;;-1:-1:-1;;;;;169:5:6;155:10;:19;151:26;;;430:19;463:10;430:44;;484:8;-1:-1:-1;;;;;484:21:6;;506:22;;484:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;484:45:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;484:45:6;;;;176:1;151:26;365:171;:::o;52:20::-;;;-1:-1:-1;;;;;52:20:6;;:::o;78:34::-;;;;:::o;252:107::-;169:5;;-1:-1:-1;;;;;169:5:6;155:10;:19;151:26;;;318:22;:34;252:107::o",
"source": "pragma solidity ^0.5.1;\n\n\ncontract Migrations {\n address public owner;\n uint public lastCompletedMigration;\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n constructor() public {\n owner = msg.sender;\n }\n\n function setCompleted(uint completed) public restricted {\n lastCompletedMigration = completed;\n }\n\n function upgrade(address newAddress) public restricted {\n Migrations upgraded = Migrations(newAddress);\n upgraded.setCompleted(lastCompletedMigration);\n }\n}\n",
"sourcePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/Migrations.sol",
"ast": {
"absolutePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/Migrations.sol",
"exportedSymbols": {
"Migrations": [
2257
]
},
"id": 2258,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2202,
"literals": [
"solidity",
"^",
"0.5",
".1"
],
"nodeType": "PragmaDirective",
"src": "0:23:6"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2257,
"linearizedBaseContracts": [
2257
],
"name": "Migrations",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2204,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 2257,
"src": "52:20:6",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2203,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "52:7:6",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2206,
"name": "lastCompletedMigration",
"nodeType": "VariableDeclaration",
"scope": 2257,
"src": "78:34:6",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2205,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "78:4:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 2214,
"nodeType": "Block",
"src": "141:43:6",
"statements": [
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 2211,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2208,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2555,
"src": "155:3:6",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2209,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "155:10:6",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 2210,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2204,
"src": "169:5:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "155:19:6",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 2213,
"nodeType": "IfStatement",
"src": "151:26:6",
"trueBody": {
"id": 2212,
"nodeType": "PlaceholderStatement",
"src": "176:1:6"
}
}
]
},
"documentation": null,
"id": 2215,
"name": "restricted",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 2207,
"nodeType": "ParameterList",
"parameters": [],
"src": "138:2:6"
},
"src": "119:65:6",
"visibility": "internal"
},
{
"body": {
"id": 2223,
"nodeType": "Block",
"src": "211:35:6",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2221,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2218,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2204,
"src": "221:5:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2219,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2555,
"src": "229:3:6",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2220,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "229:10:6",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "221:18:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 2222,
"nodeType": "ExpressionStatement",
"src": "221:18:6"
}
]
},
"documentation": null,
"id": 2224,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2216,
"nodeType": "ParameterList",
"parameters": [],
"src": "201:2:6"
},
"returnParameters": {
"id": 2217,
"nodeType": "ParameterList",
"parameters": [],
"src": "211:0:6"
},
"scope": 2257,
"src": "190:56:6",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 2235,
"nodeType": "Block",
"src": "308:51:6",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2233,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2231,
"name": "lastCompletedMigration",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2206,
"src": "318:22:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 2232,
"name": "completed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2226,
"src": "343:9:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "318:34:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2234,
"nodeType": "ExpressionStatement",
"src": "318:34:6"
}
]
},
"documentation": null,
"id": 2236,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 2229,
"modifierName": {
"argumentTypes": null,
"id": 2228,
"name": "restricted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2215,
"src": "297:10:6",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "297:10:6"
}
],
"name": "setCompleted",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2227,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2226,
"name": "completed",
"nodeType": "VariableDeclaration",
"scope": 2236,
"src": "274:14:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2225,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "274:4:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "273:16:6"
},
"returnParameters": {
"id": 2230,
"nodeType": "ParameterList",
"parameters": [],
"src": "308:0:6"
},
"scope": 2257,
"src": "252:107:6",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 2255,
"nodeType": "Block",
"src": "420:116:6",
"statements": [
{
"assignments": [
2244
],
"declarations": [
{
"constant": false,
"id": 2244,
"name": "upgraded",
"nodeType": "VariableDeclaration",
"scope": 2255,
"src": "430:19:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$2257",
"typeString": "contract Migrations"
},
"typeName": {
"contractScope": null,
"id": 2243,
"name": "Migrations",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2257,
"src": "430:10:6",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$2257",
"typeString": "contract Migrations"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 2248,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2246,
"name": "newAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2238,
"src": "463:10:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2245,
"name": "Migrations",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2257,
"src": "452:10:6",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Migrations_$2257_$",
"typeString": "type(contract Migrations)"
}
},
"id": 2247,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "452:22:6",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$2257",
"typeString": "contract Migrations"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "430:44:6"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2252,
"name": "lastCompletedMigration",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2206,
"src": "506:22:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 2249,
"name": "upgraded",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2244,
"src": "484:8:6",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$2257",
"typeString": "contract Migrations"
}
},
"id": 2251,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "setCompleted",
"nodeType": "MemberAccess",
"referencedDeclaration": 2236,
"src": "484:21:6",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256) external"
}
},
"id": 2253,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "484:45:6",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2254,
"nodeType": "ExpressionStatement",
"src": "484:45:6"
}
]
},
"documentation": null,
"id": 2256,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 2241,
"modifierName": {
"argumentTypes": null,
"id": 2240,
"name": "restricted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2215,
"src": "409:10:6",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "409:10:6"
}
],
"name": "upgrade",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2239,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2238,
"name": "newAddress",
"nodeType": "VariableDeclaration",
"scope": 2256,
"src": "382:18:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2237,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "382:7:6",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "381:20:6"
},
"returnParameters": {
"id": 2242,
"nodeType": "ParameterList",
"parameters": [],
"src": "420:0:6"
},
"scope": 2257,
"src": "365:171:6",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 2258,
"src": "26:512:6"
}
],
"src": "0:539:6"
},
"legacyAST": {
"absolutePath": "/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/Migrations.sol",
"exportedSymbols": {
"Migrations": [
2257
]
},
"id": 2258,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2202,
"literals": [
"solidity",
"^",
"0.5",
".1"
],
"nodeType": "PragmaDirective",
"src": "0:23:6"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2257,
"linearizedBaseContracts": [
2257
],
"name": "Migrations",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 2204,
"name": "owner",
"nodeType": "VariableDeclaration",
"scope": 2257,
"src": "52:20:6",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2203,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "52:7:6",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 2206,
"name": "lastCompletedMigration",
"nodeType": "VariableDeclaration",
"scope": 2257,
"src": "78:34:6",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2205,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "78:4:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 2214,
"nodeType": "Block",
"src": "141:43:6",
"statements": [
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 2211,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2208,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2555,
"src": "155:3:6",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2209,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "155:10:6",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 2210,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2204,
"src": "169:5:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "155:19:6",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 2213,
"nodeType": "IfStatement",
"src": "151:26:6",
"trueBody": {
"id": 2212,
"nodeType": "PlaceholderStatement",
"src": "176:1:6"
}
}
]
},
"documentation": null,
"id": 2215,
"name": "restricted",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 2207,
"nodeType": "ParameterList",
"parameters": [],
"src": "138:2:6"
},
"src": "119:65:6",
"visibility": "internal"
},
{
"body": {
"id": 2223,
"nodeType": "Block",
"src": "211:35:6",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2221,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2218,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2204,
"src": "221:5:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2219,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2555,
"src": "229:3:6",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2220,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "229:10:6",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "221:18:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 2222,
"nodeType": "ExpressionStatement",
"src": "221:18:6"
}
]
},
"documentation": null,
"id": 2224,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2216,
"nodeType": "ParameterList",
"parameters": [],
"src": "201:2:6"
},
"returnParameters": {
"id": 2217,
"nodeType": "ParameterList",
"parameters": [],
"src": "211:0:6"
},
"scope": 2257,
"src": "190:56:6",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 2235,
"nodeType": "Block",
"src": "308:51:6",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2233,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2231,
"name": "lastCompletedMigration",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2206,
"src": "318:22:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 2232,
"name": "completed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2226,
"src": "343:9:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "318:34:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2234,
"nodeType": "ExpressionStatement",
"src": "318:34:6"
}
]
},
"documentation": null,
"id": 2236,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 2229,
"modifierName": {
"argumentTypes": null,
"id": 2228,
"name": "restricted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2215,
"src": "297:10:6",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "297:10:6"
}
],
"name": "setCompleted",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2227,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2226,
"name": "completed",
"nodeType": "VariableDeclaration",
"scope": 2236,
"src": "274:14:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2225,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "274:4:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "273:16:6"
},
"returnParameters": {
"id": 2230,
"nodeType": "ParameterList",
"parameters": [],
"src": "308:0:6"
},
"scope": 2257,
"src": "252:107:6",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 2255,
"nodeType": "Block",
"src": "420:116:6",
"statements": [
{
"assignments": [
2244
],
"declarations": [
{
"constant": false,
"id": 2244,
"name": "upgraded",
"nodeType": "VariableDeclaration",
"scope": 2255,
"src": "430:19:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$2257",
"typeString": "contract Migrations"
},
"typeName": {
"contractScope": null,
"id": 2243,
"name": "Migrations",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 2257,
"src": "430:10:6",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$2257",
"typeString": "contract Migrations"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 2248,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2246,
"name": "newAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2238,
"src": "463:10:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2245,
"name": "Migrations",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2257,
"src": "452:10:6",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Migrations_$2257_$",
"typeString": "type(contract Migrations)"
}
},
"id": 2247,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "452:22:6",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$2257",
"typeString": "contract Migrations"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "430:44:6"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2252,
"name": "lastCompletedMigration",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2206,
"src": "506:22:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 2249,
"name": "upgraded",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2244,
"src": "484:8:6",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$2257",
"typeString": "contract Migrations"
}
},
"id": 2251,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "setCompleted",
"nodeType": "MemberAccess",
"referencedDeclaration": 2236,
"src": "484:21:6",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256) external"
}
},
"id": 2253,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "484:45:6",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2254,
"nodeType": "ExpressionStatement",
"src": "484:45:6"
}
]
},
"documentation": null,
"id": 2256,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 2241,
"modifierName": {
"argumentTypes": null,
"id": 2240,
"name": "restricted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2215,
"src": "409:10:6",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "409:10:6"
}
],
"name": "upgrade",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2239,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2238,
"name": "newAddress",
"nodeType": "VariableDeclaration",
"scope": 2256,
"src": "382:18:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2237,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "382:7:6",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "381:20:6"
},
"returnParameters": {
"id": 2242,
"nodeType": "ParameterList",
"parameters": [],
"src": "420:0:6"
},
"scope": 2257,
"src": "365:171:6",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 2258,
"src": "26:512:6"
}
],
"src": "0:539:6"
},
"compiler": {
"name": "solc",
"version": "0.5.10+commit.5a6ea5b1.Emscripten.clang"
},
"networks": {
"1": {
"events": {},
"links": {},
"address": "0x03Ce050DAEB28021086Bf8e9B7843d6212c05F7B",
"transactionHash": "0x0ac0453238d2b4bb9ba0e393bb446c6453588fff9f259125c9a6cec4b0465336"
},
"4": {
"events": {},
"links": {},
"address": "0x06Fe100857e0cFE8B818E7476013C0203292D2A4",
"transactionHash": "0xa424fff196b8c0521bd902036a894fd9b6a3b9d10cc63533ae8bbfec4a393134"
}
},
"schemaVersion": "3.0.16",
"updatedAt": "2019-12-09T11:24:15.955Z",
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
}
{"contractName":"Migrations","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastCompletedMigration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"name":"completed","type":"uint256"}],"name":"setCompleted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAddress","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"metadata":"{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastCompletedMigration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/denis/projects/gnosis/conditional-tokens-contracts/contracts/Migrations.sol\":{\"keccak256\":\"0x39666fa26b6e786234e01c48cdfdbbffe1a1af5dfe0fb74ec6b970daeb3f3bc3\",\"urls\":[\"bzzr://0c9536b8c4f627d916bf201ed9b72c99bddd268e16eaf4ed8d521ad6c9b27cab\",\"dweb:/ipfs/QmZVULUy8eqntGaErvJsuZN876vc6mNYwRVC9zC39QzjRx\"]}},\"version\":1}","bytecode":"0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101b3806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f010146100515780638da5cb5b14610079578063fbdbad3c1461009d578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b604080516001600160a01b039092168252519081900360200190f35b6100a5610160565b60408051918252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031681565b60015481565b6000546001600160a01b031633141561014e5760015556fea265627a7a723058200f53f3b210e9b2e05c90f4d64105202d89697151d9b669777aa5d5ba12af9e4b64736f6c634300050a0032","deployedBytecode":"0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f010146100515780638da5cb5b14610079578063fbdbad3c1461009d578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b604080516001600160a01b039092168252519081900360200190f35b6100a5610160565b60408051918252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031681565b60015481565b6000546001600160a01b031633141561014e5760015556fea265627a7a723058200f53f3b210e9b2e05c90f4d64105202d89697151d9b669777aa5d5ba12af9e4b64736f6c634300050a0032","sourceMap":"26:512:6:-;;;190:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;221:5:6;:18;;-1:-1:-1;;;;;;221:18:6;229:10;221:18;;;26:512;;;;;;","deployedSourceMap":"26:512:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:512:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;365:171;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;365:171:6;-1:-1:-1;;;;;365:171:6;;:::i;:::-;;52:20;;;:::i;:::-;;;;-1:-1:-1;;;;;52:20:6;;;;;;;;;;;;;;78:34;;;:::i;:::-;;;;;;;;;;;;;;;;252:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;252:107:6;;:::i;365:171::-;169:5;;-1:-1:-1;;;;;169:5:6;155:10;:19;151:26;;;430:19;463:10;430:44;;484:8;-1:-1:-1;;;;;484:21:6;;506:22;;484:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;484:45:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;484:45:6;;;;176:1;151:26;365:171;:::o;52:20::-;;;-1:-1:-1;;;;;52:20:6;;:::o;78:34::-;;;;:::o;252:107::-;169:5;;-1:-1:-1;;;;;169:5:6;155:10;:19;151:26;;;318:22;:34;252:107::o","source":"pragma solidity ^0.5.1;\n\n\ncontract Migrations {\n address public owner;\n uint public lastCompletedMigration;\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n constructor() public {\n owner = msg.sender;\n }\n\n function setCompleted(uint completed) public restricted {\n lastCompletedMigration = completed;\n }\n\n function upgrade(address newAddress) public restricted {\n Migrations upgraded = Migrations(newAddress);\n upgraded.setCompleted(lastCompletedMigration);\n }\n}\n","compiler":{"name":"solc","version":"0.5.10+commit.5a6ea5b1.Emscripten.clang"},"networks":{"1":{"events":{},"links":{},"address":"0x03Ce050DAEB28021086Bf8e9B7843d6212c05F7B","transactionHash":"0x0ac0453238d2b4bb9ba0e393bb446c6453588fff9f259125c9a6cec4b0465336"},"4":{"events":{},"links":{},"address":"0x06Fe100857e0cFE8B818E7476013C0203292D2A4","transactionHash":"0xa424fff196b8c0521bd902036a894fd9b6a3b9d10cc63533ae8bbfec4a393134"}},"schemaVersion":"3.0.16","updatedAt":"2019-12-09T11:33:40.946Z","devdoc":{"methods":{}},"userdoc":{"methods":{}}}

4

package.json
{
"name": "@gnosis.pm/conditional-tokens-contracts",
"version": "1.0.0",
"version": "1.0.1",
"description": "Collection of smart contracts for the conditional tokens",

@@ -16,3 +16,3 @@ "scripts": {

"resetnetinfo": "truffle networks --clean && tnt iN",
"prepack": "eslint . && npm run lint-contracts && truffle compile && truffle networks --clean && tnt iN"
"prepack": "eslint . && npm run lint-contracts && truffle compile && truffle networks --clean && tnt iN && npx tnt cleanBuild"
},

@@ -19,0 +19,0 @@ "keywords": [

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc