{
"contractName": "EthAvatar",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "hashAddress",
"type": "address"
},
{
"indexed": false,
"name": "hash",
"type": "string"
}
],
"name": "DidSetIPFSHash",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "hash",
"type": "string"
}
],
"name": "setIPFSHash",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "hashAddress",
"type": "address"
}
],
"name": "getIPFSHash",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6060604052341561000f57600080fd5b6104348061001e6000396000f30060606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063b8a76f5414610051578063cb0ab425146100ae575b600080fd5b341561005c57600080fd5b6100ac600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610160565b005b34156100b957600080fd5b6100e5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610269565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012557808201518184015260208101905061010a565b50505050905090810190601f1680156101525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090805190602001906101b292919061034f565b503373ffffffffffffffffffffffffffffffffffffffff167f3ad00a2153f5aa93fde4e185fe1fdbf9a5504e110816d08da5fe39fbe7cec83e826040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022c578082015181840152602081019050610211565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390a250565b6102716103cf565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103435780601f1061031857610100808354040283529160200191610343565b820191906000526020600020905b81548152906001019060200180831161032657829003601f168201915b50505050509050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061039057805160ff19168380011785556103be565b828001600101855582156103be579182015b828111156103bd5782518255916020019190600101906103a2565b5b5090506103cb91906103e3565b5090565b602060405190810160405280600081525090565b61040591905b808211156104015760008160009055506001016103e9565b5090565b905600a165627a7a72305820fe3df6962100bab496f2b2dba0536fae17403c68c7934c8520136f967d3f9d220029",
"deployedBytecode": "0x60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063b8a76f5414610051578063cb0ab425146100ae575b600080fd5b341561005c57600080fd5b6100ac600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610160565b005b34156100b957600080fd5b6100e5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610269565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012557808201518184015260208101905061010a565b50505050905090810190601f1680156101525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090805190602001906101b292919061034f565b503373ffffffffffffffffffffffffffffffffffffffff167f3ad00a2153f5aa93fde4e185fe1fdbf9a5504e110816d08da5fe39fbe7cec83e826040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022c578082015181840152602081019050610211565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390a250565b6102716103cf565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103435780601f1061031857610100808354040283529160200191610343565b820191906000526020600020905b81548152906001019060200180831161032657829003601f168201915b50505050509050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061039057805160ff19168380011785556103be565b828001600101855582156103be579182015b828111156103bd5782518255916020019190600101906103a2565b5b5090506103cb91906103e3565b5090565b602060405190810160405280600081525090565b61040591905b808211156104015760008160009055506001016103e9565b5090565b905600a165627a7a72305820fe3df6962100bab496f2b2dba0536fae17403c68c7934c8520136f967d3f9d220029",
"sourceMap": "26:404:0:-;;;;;;;;;;;;;;;;;",
"deployedSourceMap": "26:404:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;174:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;310:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;174:130:0;250:4;225:10;:22;236:10;225:22;;;;;;;;;;;;;;;:29;;;;;;;;;;;;:::i;:::-;;280:10;265:32;;;292:4;265:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;174:130:0;:::o;310:118::-;373:6;;:::i;:::-;398:10;:23;409:11;398:23;;;;;;;;;;;;;;;391:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;310:118;;;:::o;26:404::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
"source": "pragma solidity ^0.4.19;\n\ncontract EthAvatar {\n mapping (address => string) private ipfsHashes;\n\n event DidSetIPFSHash(address indexed hashAddress, string hash);\n\n\n function setIPFSHash(string hash) public {\n ipfsHashes[msg.sender] = hash;\n\n DidSetIPFSHash(msg.sender, hash);\n }\n\n function getIPFSHash(address hashAddress) public view returns (string) {\n return ipfsHashes[hashAddress];\n }\n}\n",
"sourcePath": "/Users/tarekskr/Development/ethereum/eth-avatar/contracts/EthAvatar.sol",
"ast": {
"absolutePath": "/Users/tarekskr/Development/ethereum/eth-avatar/contracts/EthAvatar.sol",
"exportedSymbols": {
"EthAvatar": [
43
]
},
"id": 44,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.4",
".19"
],
"nodeType": "PragmaDirective",
"src": "0:24:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 43,
"linearizedBaseContracts": [
43
],
"name": "EthAvatar",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 5,
"name": "ipfsHashes",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "51:46:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_string_storage_$",
"typeString": "mapping(address => string storage ref)"
},
"typeName": {
"id": 4,
"keyType": {
"id": 2,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "60:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "51:27:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_string_storage_$",
"typeString": "mapping(address => string storage ref)"
},
"valueType": {
"id": 3,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "71:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
}
},
"value": null,
"visibility": "private"
},
{
"anonymous": false,
"id": 11,
"name": "DidSetIPFSHash",
"nodeType": "EventDefinition",
"parameters": {
"id": 10,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7,
"indexed": true,
"name": "hashAddress",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "125:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "125:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 9,
"indexed": false,
"name": "hash",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "154:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
"typeName": {
"id": 8,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "154:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "124:42:0"
},
"src": "104:63:0"
},
{
"body": {
"id": 29,
"nodeType": "Block",
"src": "215:89:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 21,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 16,
"name": "ipfsHashes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "225:10:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_string_storage_$",
"typeString": "mapping(address => string storage ref)"
}
},
"id": 19,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 17,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 55,
"src": "236:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 18,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "236:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "225:22:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 20,
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13,
"src": "250:4:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "225:29:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 22,
"nodeType": "ExpressionStatement",
"src": "225:29:0"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 24,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 55,
"src": "280:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 25,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "280:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 26,
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13,
"src": "292:4:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 23,
"name": "DidSetIPFSHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11,
"src": "265:14:0",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (address,string memory)"
}
},
"id": 27,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "265:32:0",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 28,
"nodeType": "ExpressionStatement",
"src": "265:32:0"
}
]
},
"id": 30,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "setIPFSHash",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 14,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 13,
"name": "hash",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "195:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
"typeName": {
"id": 12,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "195:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "194:13:0"
},
"payable": false,
"returnParameters": {
"id": 15,
"nodeType": "ParameterList",
"parameters": [],
"src": "215:0:0"
},
"scope": 43,
"src": "174:130:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 41,
"nodeType": "Block",
"src": "381:47:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 37,
"name": "ipfsHashes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "398:10:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_string_storage_$",
"typeString": "mapping(address => string storage ref)"
}
},
"id": 39,
"indexExpression": {
"argumentTypes": null,
"id": 38,
"name": "hashAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 32,
"src": "409:11:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "398:23:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"functionReturnParameters": 36,
"id": 40,
"nodeType": "Return",
"src": "391:30:0"
}
]
},
"id": 42,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getIPFSHash",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 33,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"name": "hashAddress",
"nodeType": "VariableDeclaration",
"scope": 42,
"src": "331:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 31,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "331:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "330:21:0"
},
"payable": false,
"returnParameters": {
"id": 36,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 35,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 42,
"src": "373:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
"typeName": {
"id": 34,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "373:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "372:8:0"
},
"scope": 43,
"src": "310:118:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
}
],
"scope": 44,
"src": "26:404:0"
}
],
"src": "0:431:0"
},
"legacyAST": {
"absolutePath": "/Users/tarekskr/Development/ethereum/eth-avatar/contracts/EthAvatar.sol",
"exportedSymbols": {
"EthAvatar": [
43
]
},
"id": 44,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.4",
".19"
],
"nodeType": "PragmaDirective",
"src": "0:24:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 43,
"linearizedBaseContracts": [
43
],
"name": "EthAvatar",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 5,
"name": "ipfsHashes",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "51:46:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_string_storage_$",
"typeString": "mapping(address => string storage ref)"
},
"typeName": {
"id": 4,
"keyType": {
"id": 2,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "60:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
"src": "51:27:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_string_storage_$",
"typeString": "mapping(address => string storage ref)"
},
"valueType": {
"id": 3,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "71:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
}
},
"value": null,
"visibility": "private"
},
{
"anonymous": false,
"id": 11,
"name": "DidSetIPFSHash",
"nodeType": "EventDefinition",
"parameters": {
"id": 10,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7,
"indexed": true,
"name": "hashAddress",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "125:27:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "125:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 9,
"indexed": false,
"name": "hash",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "154:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
"typeName": {
"id": 8,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "154:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "124:42:0"
},
"src": "104:63:0"
},
{
"body": {
"id": 29,
"nodeType": "Block",
"src": "215:89:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 21,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 16,
"name": "ipfsHashes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "225:10:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_string_storage_$",
"typeString": "mapping(address => string storage ref)"
}
},
"id": 19,
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 17,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 55,
"src": "236:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 18,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "236:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "225:22:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 20,
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13,
"src": "250:4:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "225:29:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 22,
"nodeType": "ExpressionStatement",
"src": "225:29:0"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 24,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 55,
"src": "280:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 25,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "280:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 26,
"name": "hash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13,
"src": "292:4:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 23,
"name": "DidSetIPFSHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11,
"src": "265:14:0",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (address,string memory)"
}
},
"id": 27,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "265:32:0",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 28,
"nodeType": "ExpressionStatement",
"src": "265:32:0"
}
]
},
"id": 30,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "setIPFSHash",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 14,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 13,
"name": "hash",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "195:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
"typeName": {
"id": 12,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "195:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "194:13:0"
},
"payable": false,
"returnParameters": {
"id": 15,
"nodeType": "ParameterList",
"parameters": [],
"src": "215:0:0"
},
"scope": 43,
"src": "174:130:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 41,
"nodeType": "Block",
"src": "381:47:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 37,
"name": "ipfsHashes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "398:10:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_string_storage_$",
"typeString": "mapping(address => string storage ref)"
}
},
"id": 39,
"indexExpression": {
"argumentTypes": null,
"id": 38,
"name": "hashAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 32,
"src": "409:11:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "398:23:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"functionReturnParameters": 36,
"id": 40,
"nodeType": "Return",
"src": "391:30:0"
}
]
},
"id": 42,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getIPFSHash",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 33,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"name": "hashAddress",
"nodeType": "VariableDeclaration",
"scope": 42,
"src": "331:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 31,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "331:7:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "330:21:0"
},
"payable": false,
"returnParameters": {
"id": 36,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 35,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 42,
"src": "373:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
"typeName": {
"id": 34,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "373:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string storage pointer"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "372:8:0"
},
"scope": 43,
"src": "310:118:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
}
],
"scope": 44,
"src": "26:404:0"
}
],
"src": "0:431:0"
},
"compiler": {
"name": "solc",
"version": "0.4.19+commit.c4cbbb05.Emscripten.clang"
},
"networks": {
"1": {
"events": {},
"links": {},
"address": "0x5d5194E9aa451D36eC4fAa62609D18E1ed6765A4",
"transactionHash": "0xac55dea3df89c68d81b374e88001dc82b625c614d8c3bbb572a45d1771b5eeaf"
},
"4": {
"events": {},
"links": {},
"address": "0xa43ae169aca0e36607c2a2a2e2ab926029775a83",
"transactionHash": "0x19fe9e020da300b7c61a631c0fbb7692deec899fbcbdfef63a0ed7661fe1f6f3"
},
"5777": {
"events": {},
"links": {},
"address": "0xf25186b5081ff5ce73482ad761db0eb0d25abfbf",
"transactionHash": "0x8749d5517cfecd59d2ed103396dd73a57c27497e4ca676e0a6ebfb479e55b257"
}
},
"schemaVersion": "2.0.0",
"updatedAt": "2018-03-09T22:06:28.523Z"
}
|