safe-react/safe-contracts/build/contracts/StateChannelModule.json

5706 lines
254 KiB
JSON
Raw Normal View History

2018-05-16 15:46:33 +02:00
{
"contractName": "StateChannelModule",
"abi": [
{
"constant": true,
"inputs": [],
"name": "manager",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_masterCopy",
"type": "address"
}
],
"name": "changeMasterCopy",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "NAME",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "bytes32"
}
],
"name": "isExecuted",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "VERSION",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "setup",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "to",
"type": "address"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
},
{
"name": "operation",
"type": "uint8"
},
{
"name": "nonce",
"type": "uint256"
},
{
"name": "v",
"type": "uint8[]"
},
{
"name": "r",
"type": "bytes32[]"
},
{
"name": "s",
"type": "bytes32[]"
}
],
"name": "execTransaction",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "to",
"type": "address"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
},
{
"name": "operation",
"type": "uint8"
},
{
"name": "nonce",
"type": "uint256"
}
],
"name": "getTransactionHash",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
2018-05-27 13:24:10 +02:00
"bytecode": "0x608060405234801561001057600080fd5b50610ec6806100206000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806319604647146100935780632b50004114610206578063481c6a75146102cc5780637de7edef14610323578063a3f4df7e14610366578063ba0bba40146103f6578063e52cb36a1461040d578063ffa1ad7414610456575b600080fd5b34801561009f57600080fd5b50610204600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190803590602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506104e6565b005b34801561021257600080fd5b506102ae600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919080359060200190929190505050610705565b60405180826000191660001916815260200191505060405180910390f35b3480156102d857600080fd5b506102e161098d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032f57600080fd5b50610364600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109b3565b005b34801561037257600080fd5b5061037b610a78565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103bb5780820151818401526020810190506103a0565b50505050905090810190601f1680156103e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561040257600080fd5b5061040b610ab1565b005b34801561041957600080fd5b5061043c6004803603810190808035600019169060200190929190505050610abb565b604051808215151515815260200191505060405180910390f35b34801561046257600080fd5b5061046b610adb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104ab578082015181840152602081019050610490565b50505050905090810190601f1680156104d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60006104f58989898989610705565b905060026000826000191660001916815260200190815260200160002060009054906101000a900460ff1615151561052c57600080fd5b61053881858585610b14565b600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a78a8a8a8a6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183600281111561062557fe5b60ff168152602001828103825284818151815260200191508051906020019080838360005b8381101561066557808201518184015260208101905061064a565b50505050905090810190601f1680156106925780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b810190808051906020019092919050505015156106fa57600080fd5b505050505050505050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230888888888860405160200180897effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffff
"deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806319604647146100935780632b50004114610206578063481c6a75146102cc5780637de7edef14610323578063a3f4df7e14610366578063ba0bba40146103f6578063e52cb36a1461040d578063ffa1ad7414610456575b600080fd5b34801561009f57600080fd5b50610204600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190803590602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506104e6565b005b34801561021257600080fd5b506102ae600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919080359060200190929190505050610705565b60405180826000191660001916815260200191505060405180910390f35b3480156102d857600080fd5b506102e161098d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032f57600080fd5b50610364600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109b3565b005b34801561037257600080fd5b5061037b610a78565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103bb5780820151818401526020810190506103a0565b50505050905090810190601f1680156103e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561040257600080fd5b5061040b610ab1565b005b34801561041957600080fd5b5061043c6004803603810190808035600019169060200190929190505050610abb565b604051808215151515815260200191505060405180910390f35b34801561046257600080fd5b5061046b610adb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104ab578082015181840152602081019050610490565b50505050905090810190601f1680156104d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60006104f58989898989610705565b905060026000826000191660001916815260200190815260200160002060009054906101000a900460ff1615151561052c57600080fd5b61053881858585610b14565b600160026000836000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a78a8a8a8a6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183600281111561062557fe5b60ff168152602001828103825284818151815260200191508051906020019080838360005b8381101561066557808201518184015260208101905061064a565b50505050905090810190601f1680156106925780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b810190808051906020019092919050505015156106fa57600080fd5b505050505050505050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230888888888860405160200180897effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018773
"sourceMap": "269:2858:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;269:2858:19;;;;;;;",
"deployedSourceMap": "269:2858:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1265:602;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1265:602:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2796:329;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2796:329:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;262:28:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;262:28:7;;;;;;;;;;;;;;;;;;;;;;;;;;;626:208:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:208:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;314:52:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;314:52:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;314:52:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;601:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:65:19;;;;;;510:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;510:43:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;372:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;372:40:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;372:40:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1265:602;1512:23;1538:53;1557:2;1561:5;1568:4;1574:9;1585:5;1538:18;:53::i;:::-;1512:79;;1610:10;:27;1621:15;1610:27;;;;;;;;;;;;;;;;;;;;;;;;;;;1609:28;1601:37;;;;;;;;1648:35;1658:15;1675:1;1678;1681;1648:9;:35::i;:::-;1776:4;1746:10;:27;1757:15;1746:27;;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;1798:7;;;;;;;;;;;:33;;;1832:2;1836:5;1843:4;1849:9;1798:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1798:61:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1798:61:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1798:61:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1798:61:19;;;;;;;;;;;;;;;;1790:70;;;;;;;;1265:602;;;;;;;;;:::o;2796:329::-;2999:7;3061:4;3056:10;;3073:1;3068:7;;3077:4;3083:2;3087:5;3094:4;3100:9;3111:5;3039:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3039:78:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3039:78:19;;;3029:89;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3029:89:19;;;;;;;;;;;;;;;;3022:96;;2796:329;;;;;;;:::o;262:28:7:-;;;;;;;;;;;;;:::o;626:208:5:-;359:7:7;;;;;;;;;;;337:30;;:10;:30;;;329:39;;;;;;;;791:1:5;776:11;:16;;;;768:25;;;;;;;;816:11;803:10;;:24;;;;;;;;;;;;;;;;;;626:208;:::o;314:52:19:-;;;;;;;;;;;;;;;;;;;;:::o;601:65::-;647:12;:10;:12::i;:::-;601:65::o;510:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;372:40::-;;;;;;;;;;;;;;;;;;;;:::o;1873:645::-;2050:17;2090:20;2120:9;2139:15;2078:1;2050:30;;2170:7;;;;;;;;;;;2157:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2157:36:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2157:36:19;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2157:36:19;;;;;;;;;;;;;;;;2139:54;;2254:1;2250:5;;2245:267;2261:9;2257:13;;:1;:13;2245:267;;;2306:44;2316:15;2333:1;2335;2333:4;;;;;;;;;;;;;;;;;;2339:1;2341;2339:4;;;;;;;;;;;;;;;;;;2345:1;2347;2345:4;;;;;;;;;;;;;;;;;;2306:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
"source": "pragma solidity 0.4.24;\nimport \"../Module.sol\";\nimport \"../OwnerManager.sol\";\n\n\n/// @title Gnosis Safe State Module - A module that allows interaction with statechannels.\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract StateChannelModule is Module {\n\n string public constant NAME = \"State Channel Module\";\n string public constant VERSION = \"0.0.1\";\n\n // isExecuted mapping allows to check if a transaction (by hash) was already executed.\n mapping (bytes32 => bool) public isExecuted;\n\n /// @dev Setup function sets manager\n function setup()\n public\n {\n setManager();\n }\n\n /// @dev Allows to execute a Safe transaction confirmed by required number of owners.\n /// @param to Destination address of Safe transaction.\n /// @param value Ether value of Safe transaction.\n /// @param data Data payload of Safe transaction.\n /// @param operation Operation type of Safe transaction.\n /// @param nonce Nonce used for this Safe transaction.\n /// @param v Array of signature V values sorted by owner addresses.\n /// @param r Array of signature R values sorted by owner addresses.\n /// @param s Array of signature S values sorted by owner addresses.\n function execTransaction(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 nonce,\n uint8[] v, \n bytes32[] r, \n bytes32[] s\n )\n public\n {\n bytes32 transactionHash = getTransactionHash(to, value, data, operation, nonce);\n require(!isExecuted[transactionHash]);\n checkHash(transactionHash, v, r, s);\n // Mark as executed and execute transaction.\n isExecuted[transactionHash] = true;\n require(manager.execTransactionFromModule(to, value, data, operation));\n }\n\n function checkHash(bytes32 transactionHash, uint8[] v, bytes32[] r, bytes32[] s)\n internal\n view\n {\n // There cannot be an owner with address 0.\n address lastOwner = address(0);\n address currentOwner;\n uint256 i;\n uint8 threshold = OwnerManager(manager).getThreshold();\n // Validate threshold is reached.\n for (i = 0; i < threshold; i++) {\n currentOwner = ecrecover(transactionHash, v[i], r[i], s[i]);\n require(OwnerManager(manager).isOwner(currentOwner));\n require(currentOwner > lastOwner);\n lastOwner = currentOwner;\n }\n }\n\n /// @dev Returns hash to be signed by owners.\n /// @param to Destination address.\n /// @param value Ether value.\n /// @param data Data payload.\n /// @param operation Operation type.\n /// @param nonce Transaction nonce.\n /// @return Transaction hash.\n function getTransactionHash(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 nonce\n )\n public\n view\n returns (bytes32)\n {\n return keccak256(abi.encodePacked(byte(0x19), byte(0), this, to, value, data, operation, nonce));\n }\n}\n",
2018-05-16 15:46:33 +02:00
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/StateChannelModule.sol",
"ast": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/StateChannelModule.sol",
"exportedSymbols": {
"StateChannelModule": [
2018-05-27 13:24:10 +02:00
2436
2018-05-16 15:46:33 +02:00
]
},
2018-05-27 13:24:10 +02:00
"id": 2437,
2018-05-16 15:46:33 +02:00
"nodeType": "SourceUnit",
"nodes": [
{
2018-05-27 13:24:10 +02:00
"id": 2236,
2018-05-16 15:46:33 +02:00
"literals": [
"solidity",
"0.4",
2018-05-27 13:24:10 +02:00
".24"
2018-05-16 15:46:33 +02:00
],
"nodeType": "PragmaDirective",
2018-05-27 13:24:10 +02:00
"src": "0:23:19"
2018-05-16 15:46:33 +02:00
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol",
"file": "../Module.sol",
2018-05-27 13:24:10 +02:00
"id": 2237,
2018-05-16 15:46:33 +02:00
"nodeType": "ImportDirective",
2018-05-27 13:24:10 +02:00
"scope": 2437,
"sourceUnit": 751,
"src": "24:23:19",
2018-05-16 15:46:33 +02:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol",
"file": "../OwnerManager.sol",
2018-05-27 13:24:10 +02:00
"id": 2238,
2018-05-16 15:46:33 +02:00
"nodeType": "ImportDirective",
2018-05-27 13:24:10 +02:00
"scope": 2437,
"sourceUnit": 1473,
"src": "48:29:19",
2018-05-16 15:46:33 +02:00
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-05-27 13:24:10 +02:00
"id": 2239,
2018-05-16 15:46:33 +02:00
"name": "Module",
"nodeType": "UserDefinedTypeName",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 750,
"src": "300:6:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_Module_$750",
2018-05-16 15:46:33 +02:00
"typeString": "contract Module"
}
},
2018-05-27 13:24:10 +02:00
"id": 2240,
2018-05-16 15:46:33 +02:00
"nodeType": "InheritanceSpecifier",
2018-05-27 13:24:10 +02:00
"src": "300:6:19"
2018-05-16 15:46:33 +02:00
}
],
"contractDependencies": [
2018-05-27 13:24:10 +02:00
652,
750,
1619
2018-05-16 15:46:33 +02:00
],
"contractKind": "contract",
"documentation": "@title Gnosis Safe State Module - A module that allows interaction with statechannels.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true,
2018-05-27 13:24:10 +02:00
"id": 2436,
2018-05-16 15:46:33 +02:00
"linearizedBaseContracts": [
2018-05-27 13:24:10 +02:00
2436,
750,
652,
1619
2018-05-16 15:46:33 +02:00
],
"name": "StateChannelModule",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
2018-05-27 13:24:10 +02:00
"id": 2243,
2018-05-16 15:46:33 +02:00
"name": "NAME",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "314:52:19",
2018-05-16 15:46:33 +02:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2241,
2018-05-16 15:46:33 +02:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "314:6:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "5374617465204368616e6e656c204d6f64756c65",
2018-05-27 13:24:10 +02:00
"id": 2242,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "344:22:19",
2018-05-16 15:46:33 +02:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e66fa361bdba11103aaf2321b03707a79b393abf1f410f3f609398777fd3a713",
"typeString": "literal_string \"State Channel Module\""
},
"value": "State Channel Module"
},
"visibility": "public"
},
{
"constant": true,
2018-05-27 13:24:10 +02:00
"id": 2246,
2018-05-16 15:46:33 +02:00
"name": "VERSION",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "372:40:19",
2018-05-16 15:46:33 +02:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2244,
2018-05-16 15:46:33 +02:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "372:6:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "302e302e31",
2018-05-27 13:24:10 +02:00
"id": 2245,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "405:7:19",
2018-05-16 15:46:33 +02:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885",
"typeString": "literal_string \"0.0.1\""
},
"value": "0.0.1"
},
"visibility": "public"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2250,
2018-05-16 15:46:33 +02:00
"name": "isExecuted",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "510:43:19",
2018-05-16 15:46:33 +02:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2249,
2018-05-16 15:46:33 +02:00
"keyType": {
2018-05-27 13:24:10 +02:00
"id": 2247,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "519:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2018-05-27 13:24:10 +02:00
"src": "510:25:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
},
"valueType": {
2018-05-27 13:24:10 +02:00
"id": 2248,
2018-05-16 15:46:33 +02:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "530:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
},
"value": null,
"visibility": "public"
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2256,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "637:29:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
2018-05-27 13:24:10 +02:00
"id": 2253,
2018-05-16 15:46:33 +02:00
"name": "setManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 749,
"src": "647:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2254,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "647:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2255,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "647:12:19"
2018-05-16 15:46:33 +02:00
}
]
},
"documentation": "@dev Setup function sets manager",
2018-05-27 13:24:10 +02:00
"id": 2257,
2018-05-16 15:46:33 +02:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "setup",
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-27 13:24:10 +02:00
"id": 2251,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-27 13:24:10 +02:00
"src": "615:2:19"
2018-05-16 15:46:33 +02:00
},
"payable": false,
"returnParameters": {
2018-05-27 13:24:10 +02:00
"id": 2252,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-27 13:24:10 +02:00
"src": "637:0:19"
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "601:65:19",
2018-05-16 15:46:33 +02:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2319,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "1502:365:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"assignments": [
2018-05-27 13:24:10 +02:00
2280
2018-05-16 15:46:33 +02:00
],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2280,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1512:23:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2279,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1512:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2288,
2018-05-16 15:46:33 +02:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2282,
2018-05-16 15:46:33 +02:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2259,
"src": "1557:2:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2283,
2018-05-16 15:46:33 +02:00
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2261,
"src": "1561:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2284,
2018-05-16 15:46:33 +02:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2263,
"src": "1568:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2285,
2018-05-16 15:46:33 +02:00
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2265,
"src": "1574:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2286,
2018-05-16 15:46:33 +02:00
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2267,
"src": "1585:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2018-05-27 13:24:10 +02:00
"id": 2281,
2018-05-16 15:46:33 +02:00
"name": "getTransactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2435,
"src": "1538:18:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
2018-05-16 15:46:33 +02:00
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2287,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1538:53:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "1512:79:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2293,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
2018-05-27 13:24:10 +02:00
"src": "1609:28:19",
2018-05-16 15:46:33 +02:00
"subExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2290,
2018-05-16 15:46:33 +02:00
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2250,
"src": "1610:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2292,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2291,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2280,
"src": "1621:15:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "1610:27:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
2018-05-27 13:24:10 +02:00
"id": 2289,
2018-05-16 15:46:33 +02:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-05-27 13:24:10 +02:00
2601,
2602
2018-05-16 15:46:33 +02:00
],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2601,
"src": "1601:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
2018-05-27 13:24:10 +02:00
"id": 2294,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1601:37:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2295,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "1601:37:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2297,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2280,
"src": "1658:15:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2298,
2018-05-16 15:46:33 +02:00
"name": "v",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2270,
"src": "1675:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[] memory"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2299,
2018-05-16 15:46:33 +02:00
"name": "r",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2273,
"src": "1678:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2300,
2018-05-16 15:46:33 +02:00
"name": "s",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2276,
"src": "1681:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[] memory"
},
{
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
},
{
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
],
2018-05-27 13:24:10 +02:00
"id": 2296,
2018-05-16 15:46:33 +02:00
"name": "checkHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2401,
"src": "1648:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$",
"typeString": "function (bytes32,uint8[] memory,bytes32[] memory,bytes32[] memory) view"
}
},
2018-05-27 13:24:10 +02:00
"id": 2301,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1648:35:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2302,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "1648:35:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2307,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2303,
2018-05-16 15:46:33 +02:00
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2250,
"src": "1746:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2305,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2304,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2280,
"src": "1757:15:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "1746:27:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2018-05-27 13:24:10 +02:00
"id": 2306,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "1776:4:19",
2018-05-16 15:46:33 +02:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2018-05-27 13:24:10 +02:00
"src": "1746:34:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-05-27 13:24:10 +02:00
"id": 2308,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "1746:34:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2312,
2018-05-16 15:46:33 +02:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2259,
"src": "1832:2:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2313,
2018-05-16 15:46:33 +02:00
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2261,
"src": "1836:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2314,
2018-05-16 15:46:33 +02:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2263,
"src": "1843:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2315,
2018-05-16 15:46:33 +02:00
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2265,
"src": "1849:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
],
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2310,
2018-05-16 15:46:33 +02:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 717,
"src": "1798:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
},
2018-05-27 13:24:10 +02:00
"id": 2311,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "execTransactionFromModule",
"nodeType": "MemberAccess",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 927,
"src": "1798:33:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$returns$_t_bool_$",
2018-05-16 15:46:33 +02:00
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2316,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1798:61:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
2018-05-27 13:24:10 +02:00
"id": 2309,
2018-05-16 15:46:33 +02:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-05-27 13:24:10 +02:00
2601,
2602
2018-05-16 15:46:33 +02:00
],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2601,
"src": "1790:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
2018-05-27 13:24:10 +02:00
"id": 2317,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1790:70:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2318,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "1790:70:19"
2018-05-16 15:46:33 +02:00
}
]
},
"documentation": "@dev Allows to execute a Safe transaction confirmed by required number of owners.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.\n @param v Array of signature V values sorted by owner addresses.\n @param r Array of signature R values sorted by owner addresses.\n @param s Array of signature S values sorted by owner addresses.",
2018-05-27 13:24:10 +02:00
"id": 2320,
2018-05-16 15:46:33 +02:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "execTransaction",
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-27 13:24:10 +02:00
"id": 2277,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2259,
2018-05-16 15:46:33 +02:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1299:10:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2258,
2018-05-16 15:46:33 +02:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1299:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2261,
2018-05-16 15:46:33 +02:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1320:13:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2260,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1320:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2263,
2018-05-16 15:46:33 +02:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1344:10:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2262,
2018-05-16 15:46:33 +02:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1344:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2265,
2018-05-16 15:46:33 +02:00
"name": "operation",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1365:24:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
2018-05-27 13:24:10 +02:00
"id": 2264,
2018-05-16 15:46:33 +02:00
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 29,
"src": "1365:14:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2267,
2018-05-16 15:46:33 +02:00
"name": "nonce",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1400:13:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2266,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1400:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2270,
2018-05-16 15:46:33 +02:00
"name": "v",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1423:9:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2268,
2018-05-16 15:46:33 +02:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1423:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2018-05-27 13:24:10 +02:00
"id": 2269,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1423:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr",
"typeString": "uint8[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2273,
2018-05-16 15:46:33 +02:00
"name": "r",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1443:11:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2271,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1443:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"id": 2272,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1443:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2276,
2018-05-16 15:46:33 +02:00
"name": "s",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1465:11:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2274,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1465:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"id": 2275,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1465:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"src": "1289:193:19"
2018-05-16 15:46:33 +02:00
},
"payable": false,
"returnParameters": {
2018-05-27 13:24:10 +02:00
"id": 2278,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-27 13:24:10 +02:00
"src": "1502:0:19"
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "1265:602:19",
2018-05-16 15:46:33 +02:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2400,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "1988:530:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"assignments": [
2018-05-27 13:24:10 +02:00
2335
2018-05-16 15:46:33 +02:00
],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2335,
2018-05-16 15:46:33 +02:00
"name": "lastOwner",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "2050:17:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2334,
2018-05-16 15:46:33 +02:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2050:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2339,
2018-05-16 15:46:33 +02:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
2018-05-27 13:24:10 +02:00
"id": 2337,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "2078:1:19",
2018-05-16 15:46:33 +02:00
"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"
}
],
2018-05-27 13:24:10 +02:00
"id": 2336,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2018-05-27 13:24:10 +02:00
"src": "2070:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
2018-05-27 13:24:10 +02:00
"id": 2338,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2070:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "2050:30:19"
2018-05-16 15:46:33 +02:00
},
{
"assignments": [],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2341,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "2090:20:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2340,
2018-05-16 15:46:33 +02:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2090:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2342,
2018-05-16 15:46:33 +02:00
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "2090:20:19"
2018-05-16 15:46:33 +02:00
},
{
"assignments": [],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2344,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "2120:9:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2343,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2120:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2345,
2018-05-16 15:46:33 +02:00
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "2120:9:19"
2018-05-16 15:46:33 +02:00
},
{
"assignments": [
2018-05-27 13:24:10 +02:00
2347
2018-05-16 15:46:33 +02:00
],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2347,
2018-05-16 15:46:33 +02:00
"name": "threshold",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "2139:15:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2346,
2018-05-16 15:46:33 +02:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2139:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2353,
2018-05-16 15:46:33 +02:00
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2349,
2018-05-16 15:46:33 +02:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 717,
"src": "2170:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
}
],
"expression": {
"argumentTypes": [
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
],
2018-05-27 13:24:10 +02:00
"id": 2348,
2018-05-16 15:46:33 +02:00
"name": "OwnerManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 1472,
"src": "2157:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_type$_t_contract$_OwnerManager_$1472_$",
2018-05-16 15:46:33 +02:00
"typeString": "type(contract OwnerManager)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2350,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2157:21:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_OwnerManager_$1472",
2018-05-16 15:46:33 +02:00
"typeString": "contract OwnerManager"
}
},
2018-05-27 13:24:10 +02:00
"id": 2351,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getThreshold",
"nodeType": "MemberAccess",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 1408,
"src": "2157:34:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
"typeString": "function () view external returns (uint8)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2352,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2157:36:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "2139:54:19"
2018-05-16 15:46:33 +02:00
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2398,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "2277:235:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2377,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2364,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2341,
"src": "2291:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2366,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2322,
"src": "2316:15:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2367,
2018-05-16 15:46:33 +02:00
"name": "v",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2325,
"src": "2333:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[] memory"
}
},
2018-05-27 13:24:10 +02:00
"id": 2369,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2368,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2335:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "2333:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2370,
2018-05-16 15:46:33 +02:00
"name": "r",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2328,
"src": "2339:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
},
2018-05-27 13:24:10 +02:00
"id": 2372,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2371,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2341:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "2339:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2373,
2018-05-16 15:46:33 +02:00
"name": "s",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2331,
"src": "2345:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
},
2018-05-27 13:24:10 +02:00
"id": 2375,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2374,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2347:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "2345:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
2018-05-27 13:24:10 +02:00
"id": 2365,
2018-05-16 15:46:33 +02:00
"name": "ecrecover",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2590,
"src": "2306:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2376,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2306:44:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"src": "2291:59:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"id": 2378,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2291:59:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2384,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2341,
"src": "2402:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2381,
2018-05-16 15:46:33 +02:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 717,
"src": "2385:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
}
],
"expression": {
"argumentTypes": [
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
],
2018-05-27 13:24:10 +02:00
"id": 2380,
2018-05-16 15:46:33 +02:00
"name": "OwnerManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 1472,
"src": "2372:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_type$_t_contract$_OwnerManager_$1472_$",
2018-05-16 15:46:33 +02:00
"typeString": "type(contract OwnerManager)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2382,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2372:21:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_OwnerManager_$1472",
2018-05-16 15:46:33 +02:00
"typeString": "contract OwnerManager"
}
},
2018-05-27 13:24:10 +02:00
"id": 2383,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "isOwner",
"nodeType": "MemberAccess",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 1422,
"src": "2372:29:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$",
"typeString": "function (address) view external returns (bool)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2385,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2372:43:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
2018-05-27 13:24:10 +02:00
"id": 2379,
2018-05-16 15:46:33 +02:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-05-27 13:24:10 +02:00
2601,
2602
2018-05-16 15:46:33 +02:00
],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2601,
"src": "2364:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
2018-05-27 13:24:10 +02:00
"id": 2386,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2364:52:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2387,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2364:52:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-05-27 13:24:10 +02:00
"id": 2391,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2389,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2341,
"src": "2438:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2390,
2018-05-16 15:46:33 +02:00
"name": "lastOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2335,
"src": "2453:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"src": "2438:24:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
2018-05-27 13:24:10 +02:00
"id": 2388,
2018-05-16 15:46:33 +02:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-05-27 13:24:10 +02:00
2601,
2602
2018-05-16 15:46:33 +02:00
],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2601,
"src": "2430:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
2018-05-27 13:24:10 +02:00
"id": 2392,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2430:33:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2393,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2430:33:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2396,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2394,
2018-05-16 15:46:33 +02:00
"name": "lastOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2335,
"src": "2477:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2395,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2341,
"src": "2489:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"src": "2477:24:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"id": 2397,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2477:24:19"
2018-05-16 15:46:33 +02:00
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-05-27 13:24:10 +02:00
"id": 2360,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2358,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2257:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2359,
2018-05-16 15:46:33 +02:00
"name": "threshold",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2347,
"src": "2261:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2018-05-27 13:24:10 +02:00
"src": "2257:13:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-05-27 13:24:10 +02:00
"id": 2399,
2018-05-16 15:46:33 +02:00
"initializationExpression": {
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2356,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2354,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2250:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
2018-05-27 13:24:10 +02:00
"id": 2355,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "2254:1:19",
2018-05-16 15:46:33 +02:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-05-27 13:24:10 +02:00
"src": "2250:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-05-27 13:24:10 +02:00
"id": 2357,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2250:5:19"
2018-05-16 15:46:33 +02:00
},
"loopExpression": {
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2362,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2018-05-27 13:24:10 +02:00
"src": "2272:3:19",
2018-05-16 15:46:33 +02:00
"subExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2361,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2272:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-05-27 13:24:10 +02:00
"id": 2363,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2272:3:19"
2018-05-16 15:46:33 +02:00
},
"nodeType": "ForStatement",
2018-05-27 13:24:10 +02:00
"src": "2245:267:19"
2018-05-16 15:46:33 +02:00
}
]
},
"documentation": null,
2018-05-27 13:24:10 +02:00
"id": 2401,
2018-05-16 15:46:33 +02:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "checkHash",
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-27 13:24:10 +02:00
"id": 2332,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2322,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "1892:23:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2321,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1892:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2325,
2018-05-16 15:46:33 +02:00
"name": "v",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "1917:9:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2323,
2018-05-16 15:46:33 +02:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1917:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2018-05-27 13:24:10 +02:00
"id": 2324,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1917:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr",
"typeString": "uint8[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2328,
2018-05-16 15:46:33 +02:00
"name": "r",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "1928:11:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2326,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1928:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"id": 2327,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1928:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2331,
2018-05-16 15:46:33 +02:00
"name": "s",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "1941:11:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2329,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1941:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"id": 2330,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1941:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"src": "1891:62:19"
2018-05-16 15:46:33 +02:00
},
"payable": false,
"returnParameters": {
2018-05-27 13:24:10 +02:00
"id": 2333,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-27 13:24:10 +02:00
"src": "1988:0:19"
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "1873:645:19",
2018-05-16 15:46:33 +02:00
"stateMutability": "view",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2434,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "3012:113:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"arguments": [
{
"argumentTypes": null,
"hexValue": "30783139",
"id": 2420,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3061:4:19",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_25_by_1",
"typeString": "int_const 25"
},
"value": "0x19"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_25_by_1",
"typeString": "int_const 25"
}
],
"id": 2419,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3056:4:19",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": "byte"
},
"id": 2421,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
2018-05-27 13:24:10 +02:00
"kind": "typeConversion",
2018-05-16 15:46:33 +02:00
"lValueRequested": false,
2018-05-27 13:24:10 +02:00
"names": [],
"nodeType": "FunctionCall",
"src": "3056:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
2018-05-16 15:46:33 +02:00
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2423,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3073:1:19",
"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": 2422,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3068:4:19",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": "byte"
},
"id": 2424,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
2018-05-27 13:24:10 +02:00
"kind": "typeConversion",
2018-05-16 15:46:33 +02:00
"lValueRequested": false,
2018-05-27 13:24:10 +02:00
"names": [],
"nodeType": "FunctionCall",
"src": "3068:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"argumentTypes": null,
"id": 2425,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2649,
"src": "3077:4:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StateChannelModule_$2436",
"typeString": "contract StateChannelModule"
}
},
{
"argumentTypes": null,
"id": 2426,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2403,
"src": "3083:2:19",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 2427,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2405,
"src": "3087:5:19",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 2428,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2407,
"src": "3094:4:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
"id": 2429,
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2409,
"src": "3100:9:19",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
"id": 2430,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2411,
"src": "3111:5:19",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2018-05-16 15:46:33 +02:00
}
],
"expression": {
"argumentTypes": [
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_contract$_StateChannelModule_$2436",
"typeString": "contract StateChannelModule"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-16 15:46:33 +02:00
}
],
2018-05-27 13:24:10 +02:00
"expression": {
"argumentTypes": null,
"id": 2417,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2585,
"src": "3039:3:19",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 2418,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
2018-05-27 13:24:10 +02:00
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3039:16:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"id": 2431,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
2018-05-27 13:24:10 +02:00
"isPure": false,
"kind": "functionCall",
2018-05-16 15:46:33 +02:00
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "3039:78:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2018-05-27 13:24:10 +02:00
"id": 2416,
2018-05-16 15:46:33 +02:00
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2592,
"src": "3029:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
"typeString": "function () pure returns (bytes32)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2432,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "3029:89:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"functionReturnParameters": 2415,
"id": 2433,
2018-05-16 15:46:33 +02:00
"nodeType": "Return",
2018-05-27 13:24:10 +02:00
"src": "3022:96:19"
2018-05-16 15:46:33 +02:00
}
]
},
"documentation": "@dev Returns hash to be signed by owners.\n @param to Destination address.\n @param value Ether value.\n @param data Data payload.\n @param operation Operation type.\n @param nonce Transaction nonce.\n @return Transaction hash.",
2018-05-27 13:24:10 +02:00
"id": 2435,
2018-05-16 15:46:33 +02:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getTransactionHash",
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-27 13:24:10 +02:00
"id": 2412,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2403,
2018-05-16 15:46:33 +02:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2833:10:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2402,
2018-05-16 15:46:33 +02:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2833:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2405,
2018-05-16 15:46:33 +02:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2854:13:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2404,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2854:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2407,
2018-05-16 15:46:33 +02:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2878:10:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2406,
2018-05-16 15:46:33 +02:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2878:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2409,
2018-05-16 15:46:33 +02:00
"name": "operation",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2899:24:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
2018-05-27 13:24:10 +02:00
"id": 2408,
2018-05-16 15:46:33 +02:00
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 29,
"src": "2899:14:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2411,
2018-05-16 15:46:33 +02:00
"name": "nonce",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2934:13:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2410,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2934:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"src": "2823:130:19"
2018-05-16 15:46:33 +02:00
},
"payable": false,
"returnParameters": {
2018-05-27 13:24:10 +02:00
"id": 2415,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2414,
2018-05-16 15:46:33 +02:00
"name": "",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2999:7:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2413,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2999:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"src": "2998:9:19"
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "2796:329:19",
2018-05-16 15:46:33 +02:00
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
}
],
2018-05-27 13:24:10 +02:00
"scope": 2437,
"src": "269:2858:19"
2018-05-16 15:46:33 +02:00
}
],
2018-05-27 13:24:10 +02:00
"src": "0:3128:19"
2018-05-16 15:46:33 +02:00
},
"legacyAST": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/StateChannelModule.sol",
"exportedSymbols": {
"StateChannelModule": [
2018-05-27 13:24:10 +02:00
2436
2018-05-16 15:46:33 +02:00
]
},
2018-05-27 13:24:10 +02:00
"id": 2437,
2018-05-16 15:46:33 +02:00
"nodeType": "SourceUnit",
"nodes": [
{
2018-05-27 13:24:10 +02:00
"id": 2236,
2018-05-16 15:46:33 +02:00
"literals": [
"solidity",
"0.4",
2018-05-27 13:24:10 +02:00
".24"
2018-05-16 15:46:33 +02:00
],
"nodeType": "PragmaDirective",
2018-05-27 13:24:10 +02:00
"src": "0:23:19"
2018-05-16 15:46:33 +02:00
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol",
"file": "../Module.sol",
2018-05-27 13:24:10 +02:00
"id": 2237,
2018-05-16 15:46:33 +02:00
"nodeType": "ImportDirective",
2018-05-27 13:24:10 +02:00
"scope": 2437,
"sourceUnit": 751,
"src": "24:23:19",
2018-05-16 15:46:33 +02:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol",
"file": "../OwnerManager.sol",
2018-05-27 13:24:10 +02:00
"id": 2238,
2018-05-16 15:46:33 +02:00
"nodeType": "ImportDirective",
2018-05-27 13:24:10 +02:00
"scope": 2437,
"sourceUnit": 1473,
"src": "48:29:19",
2018-05-16 15:46:33 +02:00
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-05-27 13:24:10 +02:00
"id": 2239,
2018-05-16 15:46:33 +02:00
"name": "Module",
"nodeType": "UserDefinedTypeName",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 750,
"src": "300:6:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_Module_$750",
2018-05-16 15:46:33 +02:00
"typeString": "contract Module"
}
},
2018-05-27 13:24:10 +02:00
"id": 2240,
2018-05-16 15:46:33 +02:00
"nodeType": "InheritanceSpecifier",
2018-05-27 13:24:10 +02:00
"src": "300:6:19"
2018-05-16 15:46:33 +02:00
}
],
"contractDependencies": [
2018-05-27 13:24:10 +02:00
652,
750,
1619
2018-05-16 15:46:33 +02:00
],
"contractKind": "contract",
"documentation": "@title Gnosis Safe State Module - A module that allows interaction with statechannels.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true,
2018-05-27 13:24:10 +02:00
"id": 2436,
2018-05-16 15:46:33 +02:00
"linearizedBaseContracts": [
2018-05-27 13:24:10 +02:00
2436,
750,
652,
1619
2018-05-16 15:46:33 +02:00
],
"name": "StateChannelModule",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
2018-05-27 13:24:10 +02:00
"id": 2243,
2018-05-16 15:46:33 +02:00
"name": "NAME",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "314:52:19",
2018-05-16 15:46:33 +02:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2241,
2018-05-16 15:46:33 +02:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "314:6:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "5374617465204368616e6e656c204d6f64756c65",
2018-05-27 13:24:10 +02:00
"id": 2242,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "344:22:19",
2018-05-16 15:46:33 +02:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e66fa361bdba11103aaf2321b03707a79b393abf1f410f3f609398777fd3a713",
"typeString": "literal_string \"State Channel Module\""
},
"value": "State Channel Module"
},
"visibility": "public"
},
{
"constant": true,
2018-05-27 13:24:10 +02:00
"id": 2246,
2018-05-16 15:46:33 +02:00
"name": "VERSION",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "372:40:19",
2018-05-16 15:46:33 +02:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2244,
2018-05-16 15:46:33 +02:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "372:6:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "302e302e31",
2018-05-27 13:24:10 +02:00
"id": 2245,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "405:7:19",
2018-05-16 15:46:33 +02:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885",
"typeString": "literal_string \"0.0.1\""
},
"value": "0.0.1"
},
"visibility": "public"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2250,
2018-05-16 15:46:33 +02:00
"name": "isExecuted",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "510:43:19",
2018-05-16 15:46:33 +02:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2249,
2018-05-16 15:46:33 +02:00
"keyType": {
2018-05-27 13:24:10 +02:00
"id": 2247,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "519:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2018-05-27 13:24:10 +02:00
"src": "510:25:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
},
"valueType": {
2018-05-27 13:24:10 +02:00
"id": 2248,
2018-05-16 15:46:33 +02:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "530:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
},
"value": null,
"visibility": "public"
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2256,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "637:29:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
2018-05-27 13:24:10 +02:00
"id": 2253,
2018-05-16 15:46:33 +02:00
"name": "setManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 749,
"src": "647:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2254,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "647:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2255,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "647:12:19"
2018-05-16 15:46:33 +02:00
}
]
},
"documentation": "@dev Setup function sets manager",
2018-05-27 13:24:10 +02:00
"id": 2257,
2018-05-16 15:46:33 +02:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "setup",
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-27 13:24:10 +02:00
"id": 2251,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-27 13:24:10 +02:00
"src": "615:2:19"
2018-05-16 15:46:33 +02:00
},
"payable": false,
"returnParameters": {
2018-05-27 13:24:10 +02:00
"id": 2252,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-27 13:24:10 +02:00
"src": "637:0:19"
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "601:65:19",
2018-05-16 15:46:33 +02:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2319,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "1502:365:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"assignments": [
2018-05-27 13:24:10 +02:00
2280
2018-05-16 15:46:33 +02:00
],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2280,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1512:23:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2279,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1512:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2288,
2018-05-16 15:46:33 +02:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2282,
2018-05-16 15:46:33 +02:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2259,
"src": "1557:2:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2283,
2018-05-16 15:46:33 +02:00
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2261,
"src": "1561:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2284,
2018-05-16 15:46:33 +02:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2263,
"src": "1568:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2285,
2018-05-16 15:46:33 +02:00
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2265,
"src": "1574:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2286,
2018-05-16 15:46:33 +02:00
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2267,
"src": "1585:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2018-05-27 13:24:10 +02:00
"id": 2281,
2018-05-16 15:46:33 +02:00
"name": "getTransactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2435,
"src": "1538:18:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
2018-05-16 15:46:33 +02:00
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2287,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1538:53:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "1512:79:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2293,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
2018-05-27 13:24:10 +02:00
"src": "1609:28:19",
2018-05-16 15:46:33 +02:00
"subExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2290,
2018-05-16 15:46:33 +02:00
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2250,
"src": "1610:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2292,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2291,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2280,
"src": "1621:15:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "1610:27:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
2018-05-27 13:24:10 +02:00
"id": 2289,
2018-05-16 15:46:33 +02:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-05-27 13:24:10 +02:00
2601,
2602
2018-05-16 15:46:33 +02:00
],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2601,
"src": "1601:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
2018-05-27 13:24:10 +02:00
"id": 2294,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1601:37:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2295,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "1601:37:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2297,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2280,
"src": "1658:15:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2298,
2018-05-16 15:46:33 +02:00
"name": "v",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2270,
"src": "1675:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[] memory"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2299,
2018-05-16 15:46:33 +02:00
"name": "r",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2273,
"src": "1678:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2300,
2018-05-16 15:46:33 +02:00
"name": "s",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2276,
"src": "1681:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[] memory"
},
{
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
},
{
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
],
2018-05-27 13:24:10 +02:00
"id": 2296,
2018-05-16 15:46:33 +02:00
"name": "checkHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2401,
"src": "1648:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$",
"typeString": "function (bytes32,uint8[] memory,bytes32[] memory,bytes32[] memory) view"
}
},
2018-05-27 13:24:10 +02:00
"id": 2301,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1648:35:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2302,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "1648:35:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2307,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2303,
2018-05-16 15:46:33 +02:00
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2250,
"src": "1746:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
"typeString": "mapping(bytes32 => bool)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2305,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2304,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2280,
"src": "1757:15:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "1746:27:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2018-05-27 13:24:10 +02:00
"id": 2306,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "1776:4:19",
2018-05-16 15:46:33 +02:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2018-05-27 13:24:10 +02:00
"src": "1746:34:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-05-27 13:24:10 +02:00
"id": 2308,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "1746:34:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2312,
2018-05-16 15:46:33 +02:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2259,
"src": "1832:2:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2313,
2018-05-16 15:46:33 +02:00
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2261,
"src": "1836:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2314,
2018-05-16 15:46:33 +02:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2263,
"src": "1843:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2315,
2018-05-16 15:46:33 +02:00
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2265,
"src": "1849:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
],
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2310,
2018-05-16 15:46:33 +02:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 717,
"src": "1798:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
},
2018-05-27 13:24:10 +02:00
"id": 2311,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "execTransactionFromModule",
"nodeType": "MemberAccess",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 927,
"src": "1798:33:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$returns$_t_bool_$",
2018-05-16 15:46:33 +02:00
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2316,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1798:61:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
2018-05-27 13:24:10 +02:00
"id": 2309,
2018-05-16 15:46:33 +02:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-05-27 13:24:10 +02:00
2601,
2602
2018-05-16 15:46:33 +02:00
],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2601,
"src": "1790:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
2018-05-27 13:24:10 +02:00
"id": 2317,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "1790:70:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2318,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "1790:70:19"
2018-05-16 15:46:33 +02:00
}
]
},
"documentation": "@dev Allows to execute a Safe transaction confirmed by required number of owners.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.\n @param v Array of signature V values sorted by owner addresses.\n @param r Array of signature R values sorted by owner addresses.\n @param s Array of signature S values sorted by owner addresses.",
2018-05-27 13:24:10 +02:00
"id": 2320,
2018-05-16 15:46:33 +02:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "execTransaction",
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-27 13:24:10 +02:00
"id": 2277,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2259,
2018-05-16 15:46:33 +02:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1299:10:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2258,
2018-05-16 15:46:33 +02:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1299:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2261,
2018-05-16 15:46:33 +02:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1320:13:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2260,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1320:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2263,
2018-05-16 15:46:33 +02:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1344:10:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2262,
2018-05-16 15:46:33 +02:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1344:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2265,
2018-05-16 15:46:33 +02:00
"name": "operation",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1365:24:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
2018-05-27 13:24:10 +02:00
"id": 2264,
2018-05-16 15:46:33 +02:00
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 29,
"src": "1365:14:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2267,
2018-05-16 15:46:33 +02:00
"name": "nonce",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1400:13:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2266,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1400:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2270,
2018-05-16 15:46:33 +02:00
"name": "v",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1423:9:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2268,
2018-05-16 15:46:33 +02:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1423:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2018-05-27 13:24:10 +02:00
"id": 2269,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1423:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr",
"typeString": "uint8[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2273,
2018-05-16 15:46:33 +02:00
"name": "r",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1443:11:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2271,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1443:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"id": 2272,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1443:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2276,
2018-05-16 15:46:33 +02:00
"name": "s",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2320,
"src": "1465:11:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2274,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1465:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"id": 2275,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1465:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"src": "1289:193:19"
2018-05-16 15:46:33 +02:00
},
"payable": false,
"returnParameters": {
2018-05-27 13:24:10 +02:00
"id": 2278,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-27 13:24:10 +02:00
"src": "1502:0:19"
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "1265:602:19",
2018-05-16 15:46:33 +02:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2400,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "1988:530:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"assignments": [
2018-05-27 13:24:10 +02:00
2335
2018-05-16 15:46:33 +02:00
],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2335,
2018-05-16 15:46:33 +02:00
"name": "lastOwner",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "2050:17:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2334,
2018-05-16 15:46:33 +02:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2050:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2339,
2018-05-16 15:46:33 +02:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
2018-05-27 13:24:10 +02:00
"id": 2337,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "2078:1:19",
2018-05-16 15:46:33 +02:00
"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"
}
],
2018-05-27 13:24:10 +02:00
"id": 2336,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2018-05-27 13:24:10 +02:00
"src": "2070:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
2018-05-27 13:24:10 +02:00
"id": 2338,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2070:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "2050:30:19"
2018-05-16 15:46:33 +02:00
},
{
"assignments": [],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2341,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "2090:20:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2340,
2018-05-16 15:46:33 +02:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2090:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2342,
2018-05-16 15:46:33 +02:00
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "2090:20:19"
2018-05-16 15:46:33 +02:00
},
{
"assignments": [],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2344,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "2120:9:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2343,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2120:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2345,
2018-05-16 15:46:33 +02:00
"initialValue": null,
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "2120:9:19"
2018-05-16 15:46:33 +02:00
},
{
"assignments": [
2018-05-27 13:24:10 +02:00
2347
2018-05-16 15:46:33 +02:00
],
"declarations": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2347,
2018-05-16 15:46:33 +02:00
"name": "threshold",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "2139:15:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2346,
2018-05-16 15:46:33 +02:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2139:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"id": 2353,
2018-05-16 15:46:33 +02:00
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2349,
2018-05-16 15:46:33 +02:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 717,
"src": "2170:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
}
],
"expression": {
"argumentTypes": [
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
],
2018-05-27 13:24:10 +02:00
"id": 2348,
2018-05-16 15:46:33 +02:00
"name": "OwnerManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 1472,
"src": "2157:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_type$_t_contract$_OwnerManager_$1472_$",
2018-05-16 15:46:33 +02:00
"typeString": "type(contract OwnerManager)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2350,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2157:21:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_OwnerManager_$1472",
2018-05-16 15:46:33 +02:00
"typeString": "contract OwnerManager"
}
},
2018-05-27 13:24:10 +02:00
"id": 2351,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getThreshold",
"nodeType": "MemberAccess",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 1408,
"src": "2157:34:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
"typeString": "function () view external returns (uint8)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2352,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2157:36:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "VariableDeclarationStatement",
2018-05-27 13:24:10 +02:00
"src": "2139:54:19"
2018-05-16 15:46:33 +02:00
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2398,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "2277:235:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2377,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2364,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2341,
"src": "2291:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2366,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2322,
"src": "2316:15:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2367,
2018-05-16 15:46:33 +02:00
"name": "v",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2325,
"src": "2333:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[] memory"
}
},
2018-05-27 13:24:10 +02:00
"id": 2369,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2368,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2335:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "2333:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2370,
2018-05-16 15:46:33 +02:00
"name": "r",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2328,
"src": "2339:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
},
2018-05-27 13:24:10 +02:00
"id": 2372,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2371,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2341:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "2339:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2373,
2018-05-16 15:46:33 +02:00
"name": "s",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2331,
"src": "2345:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[] memory"
}
},
2018-05-27 13:24:10 +02:00
"id": 2375,
2018-05-16 15:46:33 +02:00
"indexExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2374,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2347:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-05-27 13:24:10 +02:00
"src": "2345:4:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
2018-05-27 13:24:10 +02:00
"id": 2365,
2018-05-16 15:46:33 +02:00
"name": "ecrecover",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2590,
"src": "2306:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2376,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2306:44:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"src": "2291:59:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"id": 2378,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2291:59:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2384,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2341,
"src": "2402:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2381,
2018-05-16 15:46:33 +02:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 717,
"src": "2385:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
}
],
"expression": {
"argumentTypes": [
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_ModuleManager_$1100",
2018-05-16 15:46:33 +02:00
"typeString": "contract ModuleManager"
}
],
2018-05-27 13:24:10 +02:00
"id": 2380,
2018-05-16 15:46:33 +02:00
"name": "OwnerManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 1472,
"src": "2372:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_type$_t_contract$_OwnerManager_$1472_$",
2018-05-16 15:46:33 +02:00
"typeString": "type(contract OwnerManager)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2382,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2372:21:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_contract$_OwnerManager_$1472",
2018-05-16 15:46:33 +02:00
"typeString": "contract OwnerManager"
}
},
2018-05-27 13:24:10 +02:00
"id": 2383,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "isOwner",
"nodeType": "MemberAccess",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 1422,
"src": "2372:29:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$",
"typeString": "function (address) view external returns (bool)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2385,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2372:43:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
2018-05-27 13:24:10 +02:00
"id": 2379,
2018-05-16 15:46:33 +02:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-05-27 13:24:10 +02:00
2601,
2602
2018-05-16 15:46:33 +02:00
],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2601,
"src": "2364:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
2018-05-27 13:24:10 +02:00
"id": 2386,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2364:52:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2387,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2364:52:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-05-27 13:24:10 +02:00
"id": 2391,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2389,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2341,
"src": "2438:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2390,
2018-05-16 15:46:33 +02:00
"name": "lastOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2335,
"src": "2453:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"src": "2438:24:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
}
],
2018-05-27 13:24:10 +02:00
"id": 2388,
2018-05-16 15:46:33 +02:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-05-27 13:24:10 +02:00
2601,
2602
2018-05-16 15:46:33 +02:00
],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2601,
"src": "2430:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
"typeString": "function (bool) pure"
}
},
2018-05-27 13:24:10 +02:00
"id": 2392,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "2430:33:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-05-27 13:24:10 +02:00
"id": 2393,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2430:33:19"
2018-05-16 15:46:33 +02:00
},
{
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2396,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2394,
2018-05-16 15:46:33 +02:00
"name": "lastOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2335,
"src": "2477:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2395,
2018-05-16 15:46:33 +02:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2341,
"src": "2489:12:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"src": "2477:24:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-05-27 13:24:10 +02:00
"id": 2397,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2477:24:19"
2018-05-16 15:46:33 +02:00
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-05-27 13:24:10 +02:00
"id": 2360,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2358,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2257:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2359,
2018-05-16 15:46:33 +02:00
"name": "threshold",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2347,
"src": "2261:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2018-05-27 13:24:10 +02:00
"src": "2257:13:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-05-27 13:24:10 +02:00
"id": 2399,
2018-05-16 15:46:33 +02:00
"initializationExpression": {
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2356,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2354,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2250:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
2018-05-27 13:24:10 +02:00
"id": 2355,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-05-27 13:24:10 +02:00
"src": "2254:1:19",
2018-05-16 15:46:33 +02:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-05-27 13:24:10 +02:00
"src": "2250:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-05-27 13:24:10 +02:00
"id": 2357,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2250:5:19"
2018-05-16 15:46:33 +02:00
},
"loopExpression": {
"expression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2362,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2018-05-27 13:24:10 +02:00
"src": "2272:3:19",
2018-05-16 15:46:33 +02:00
"subExpression": {
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"id": 2361,
2018-05-16 15:46:33 +02:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2344,
"src": "2272:1:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-05-27 13:24:10 +02:00
"id": 2363,
2018-05-16 15:46:33 +02:00
"nodeType": "ExpressionStatement",
2018-05-27 13:24:10 +02:00
"src": "2272:3:19"
2018-05-16 15:46:33 +02:00
},
"nodeType": "ForStatement",
2018-05-27 13:24:10 +02:00
"src": "2245:267:19"
2018-05-16 15:46:33 +02:00
}
]
},
"documentation": null,
2018-05-27 13:24:10 +02:00
"id": 2401,
2018-05-16 15:46:33 +02:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "checkHash",
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-27 13:24:10 +02:00
"id": 2332,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2322,
2018-05-16 15:46:33 +02:00
"name": "transactionHash",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "1892:23:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2321,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1892:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2325,
2018-05-16 15:46:33 +02:00
"name": "v",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "1917:9:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr",
"typeString": "uint8[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2323,
2018-05-16 15:46:33 +02:00
"name": "uint8",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1917:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
2018-05-27 13:24:10 +02:00
"id": 2324,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1917:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr",
"typeString": "uint8[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2328,
2018-05-16 15:46:33 +02:00
"name": "r",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "1928:11:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2326,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1928:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"id": 2327,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1928:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2331,
2018-05-16 15:46:33 +02:00
"name": "s",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2401,
"src": "1941:11:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
"typeString": "bytes32[]"
},
"typeName": {
"baseType": {
2018-05-27 13:24:10 +02:00
"id": 2329,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "1941:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"id": 2330,
2018-05-16 15:46:33 +02:00
"length": null,
"nodeType": "ArrayTypeName",
2018-05-27 13:24:10 +02:00
"src": "1941:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
"typeString": "bytes32[]"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"src": "1891:62:19"
2018-05-16 15:46:33 +02:00
},
"payable": false,
"returnParameters": {
2018-05-27 13:24:10 +02:00
"id": 2333,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [],
2018-05-27 13:24:10 +02:00
"src": "1988:0:19"
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "1873:645:19",
2018-05-16 15:46:33 +02:00
"stateMutability": "view",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
2018-05-27 13:24:10 +02:00
"id": 2434,
2018-05-16 15:46:33 +02:00
"nodeType": "Block",
2018-05-27 13:24:10 +02:00
"src": "3012:113:19",
2018-05-16 15:46:33 +02:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"arguments": [
{
"argumentTypes": null,
"hexValue": "30783139",
"id": 2420,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3061:4:19",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_25_by_1",
"typeString": "int_const 25"
},
"value": "0x19"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_25_by_1",
"typeString": "int_const 25"
}
],
"id": 2419,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3056:4:19",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": "byte"
},
"id": 2421,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
2018-05-27 13:24:10 +02:00
"kind": "typeConversion",
2018-05-16 15:46:33 +02:00
"lValueRequested": false,
2018-05-27 13:24:10 +02:00
"names": [],
"nodeType": "FunctionCall",
"src": "3056:10:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
2018-05-16 15:46:33 +02:00
}
},
{
"argumentTypes": null,
2018-05-27 13:24:10 +02:00
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2423,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3073:1:19",
"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": 2422,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3068:4:19",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": "byte"
},
"id": 2424,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
2018-05-27 13:24:10 +02:00
"kind": "typeConversion",
2018-05-16 15:46:33 +02:00
"lValueRequested": false,
2018-05-27 13:24:10 +02:00
"names": [],
"nodeType": "FunctionCall",
"src": "3068:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"argumentTypes": null,
"id": 2425,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2649,
"src": "3077:4:19",
"typeDescriptions": {
"typeIdentifier": "t_contract$_StateChannelModule_$2436",
"typeString": "contract StateChannelModule"
}
},
{
"argumentTypes": null,
"id": 2426,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2403,
"src": "3083:2:19",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 2427,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2405,
"src": "3087:5:19",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 2428,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2407,
"src": "3094:4:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
"id": 2429,
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2409,
"src": "3100:9:19",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
"id": 2430,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2411,
"src": "3111:5:19",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2018-05-16 15:46:33 +02:00
}
],
"expression": {
"argumentTypes": [
{
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_contract$_StateChannelModule_$2436",
"typeString": "contract StateChannelModule"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-16 15:46:33 +02:00
}
],
2018-05-27 13:24:10 +02:00
"expression": {
"argumentTypes": null,
"id": 2417,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2585,
"src": "3039:3:19",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 2418,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
2018-05-27 13:24:10 +02:00
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3039:16:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"id": 2431,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
2018-05-27 13:24:10 +02:00
"isPure": false,
"kind": "functionCall",
2018-05-16 15:46:33 +02:00
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "3039:78:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
2018-05-27 13:24:10 +02:00
"id": 2416,
2018-05-16 15:46:33 +02:00
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 2592,
"src": "3029:9:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
"typeString": "function () pure returns (bytes32)"
}
},
2018-05-27 13:24:10 +02:00
"id": 2432,
2018-05-16 15:46:33 +02:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-05-27 13:24:10 +02:00
"src": "3029:89:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-05-27 13:24:10 +02:00
"functionReturnParameters": 2415,
"id": 2433,
2018-05-16 15:46:33 +02:00
"nodeType": "Return",
2018-05-27 13:24:10 +02:00
"src": "3022:96:19"
2018-05-16 15:46:33 +02:00
}
]
},
"documentation": "@dev Returns hash to be signed by owners.\n @param to Destination address.\n @param value Ether value.\n @param data Data payload.\n @param operation Operation type.\n @param nonce Transaction nonce.\n @return Transaction hash.",
2018-05-27 13:24:10 +02:00
"id": 2435,
2018-05-16 15:46:33 +02:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getTransactionHash",
"nodeType": "FunctionDefinition",
"parameters": {
2018-05-27 13:24:10 +02:00
"id": 2412,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2403,
2018-05-16 15:46:33 +02:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2833:10:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2402,
2018-05-16 15:46:33 +02:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2833:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2405,
2018-05-16 15:46:33 +02:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2854:13:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2404,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2854:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2407,
2018-05-16 15:46:33 +02:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2878:10:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2406,
2018-05-16 15:46:33 +02:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2878:5:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2409,
2018-05-16 15:46:33 +02:00
"name": "operation",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2899:24:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
2018-05-27 13:24:10 +02:00
"id": 2408,
2018-05-16 15:46:33 +02:00
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
2018-05-27 13:24:10 +02:00
"referencedDeclaration": 29,
"src": "2899:14:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
2018-05-27 13:24:10 +02:00
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-16 15:46:33 +02:00
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2411,
2018-05-16 15:46:33 +02:00
"name": "nonce",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2934:13:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2410,
2018-05-16 15:46:33 +02:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2934:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"src": "2823:130:19"
2018-05-16 15:46:33 +02:00
},
"payable": false,
"returnParameters": {
2018-05-27 13:24:10 +02:00
"id": 2415,
2018-05-16 15:46:33 +02:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-05-27 13:24:10 +02:00
"id": 2414,
2018-05-16 15:46:33 +02:00
"name": "",
"nodeType": "VariableDeclaration",
2018-05-27 13:24:10 +02:00
"scope": 2435,
"src": "2999:7:19",
2018-05-16 15:46:33 +02:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-05-27 13:24:10 +02:00
"id": 2413,
2018-05-16 15:46:33 +02:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-05-27 13:24:10 +02:00
"src": "2999:7:19",
2018-05-16 15:46:33 +02:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2018-05-27 13:24:10 +02:00
"src": "2998:9:19"
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"scope": 2436,
"src": "2796:329:19",
2018-05-16 15:46:33 +02:00
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
}
],
2018-05-27 13:24:10 +02:00
"scope": 2437,
"src": "269:2858:19"
2018-05-16 15:46:33 +02:00
}
],
2018-05-27 13:24:10 +02:00
"src": "0:3128:19"
2018-05-16 15:46:33 +02:00
},
"compiler": {
"name": "solc",
2018-05-27 13:24:10 +02:00
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
2018-05-16 15:46:33 +02:00
},
"networks": {
"4": {
"events": {},
"links": {},
2018-05-27 13:24:10 +02:00
"address": "0x8790f40ca24d228e6b81870eea3a67f4dc607035",
"transactionHash": "0x6ddc49abc9c794831925c1069990a2074a9700e60084596eef8e43a16c226be2"
2018-05-16 15:46:33 +02:00
},
2018-05-27 13:24:10 +02:00
"1527316019334": {
"events": {},
"links": {},
2018-05-27 13:24:10 +02:00
"address": "0x529daa14f15a5933ca1eccb5ddc077bb4c5c3e1e",
"transactionHash": "0x22f672e547fdb05f8c0c62f8f442864b8f3b650302c22409a90cb7f64adb6fd6"
2018-05-26 09:36:34 +02:00
},
2018-05-27 13:24:10 +02:00
"1527420696956": {
2018-05-26 09:36:34 +02:00
"events": {},
"links": {},
2018-05-27 13:24:10 +02:00
"address": "0xef54fbda842be606286a8cfa51632312bc605b7d",
"transactionHash": "0x7f30a995aef0c0cf18b0ec902dde55e53b6ffd35610b06b23136ca628e430373"
2018-05-16 15:46:33 +02:00
}
},
"schemaVersion": "2.0.0",
2018-05-27 13:24:10 +02:00
"updatedAt": "2018-05-27T11:31:46.242Z"
2018-05-16 15:46:33 +02:00
}