UNPKG

@reality.eth/contracts

Version:

Collection of smart contracts for the Realitio fact verification platform

1,305 lines (1,304 loc) 94.2 kB
{ "contractName": "RealitioSafeMath256", "abi": [], "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820bd9913fcda36d0d107a5e7d044ffa8bb8fb02bd6a07d24f205529467d3c20bc10029", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820bd9913fcda36d0d107a5e7d044ffa8bb8fb02bd6a07d24f205529467d3c20bc10029", "sourceMap": "127:723:3:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24", "deployedSourceMap": "127:723:3:-;;;;;;;;", "source": "pragma solidity ^0.4.24;\n\n/**\n * @title ReailtioSafeMath256\n * @dev Math operations with safety checks that throw on error\n */\nlibrary RealitioSafeMath256 {\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n uint256 c = a * b;\n assert(c / a == b);\n return c;\n }\n\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // assert(b > 0); // Solidity automatically throws when dividing by 0\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n return c;\n }\n\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n assert(c >= a);\n return c;\n }\n}\n", "sourcePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/RealitioSafeMath256.sol", "ast": { "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/RealitioSafeMath256.sol", "exportedSymbols": { "RealitioSafeMath256": [ 2420 ] }, "id": 2421, "nodeType": "SourceUnit", "nodes": [ { "id": 2324, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:3" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": "@title ReailtioSafeMath256\n@dev Math operations with safety checks that throw on error", "fullyImplemented": true, "id": 2420, "linearizedBaseContracts": [ 2420 ], "name": "RealitioSafeMath256", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 2356, "nodeType": "Block", "src": "226:106:3", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2335, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2333, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "236:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2334, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "241:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "236:6:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2339, "nodeType": "IfStatement", "src": "232:35:3", "trueBody": { "id": 2338, "nodeType": "Block", "src": "244:23:3", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", "id": 2336, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "259:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "functionReturnParameters": 2332, "id": 2337, "nodeType": "Return", "src": "252:8:3" } ] } }, { "assignments": [ 2341 ], "declarations": [ { "constant": false, "id": 2341, "name": "c", "nodeType": "VariableDeclaration", "scope": 2357, "src": "272:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2340, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "272:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2345, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2342, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "284:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { "argumentTypes": null, "id": 2343, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "288:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "284:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "272:17:3" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2351, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2347, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2341, "src": "302:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "argumentTypes": null, "id": 2348, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "306:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "302:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 2350, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2328, "src": "311:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "302:10:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 2346, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2451, "src": "295:6:3", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 2352, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "295:18:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2353, "nodeType": "ExpressionStatement", "src": "295:18:3" }, { "expression": { "argumentTypes": null, "id": 2354, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2341, "src": "326:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2332, "id": 2355, "nodeType": "Return", "src": "319:8:3" } ] }, "documentation": null, "id": 2357, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", "parameters": { "id": 2329, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2326, "name": "a", "nodeType": "VariableDeclaration", "scope": 2357, "src": "172:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2325, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "172:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2328, "name": "b", "nodeType": "VariableDeclaration", "scope": 2357, "src": "183:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "183:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "171:22:3" }, "payable": false, "returnParameters": { "id": 2332, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2331, "name": "", "nodeType": "VariableDeclaration", "scope": 2357, "src": "217:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2330, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "216:9:3" }, "scope": 2420, "src": "159:173:3", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 2374, "nodeType": "Block", "src": "403:198:3", "statements": [ { "assignments": [ 2367 ], "declarations": [ { "constant": false, "id": 2367, "name": "c", "nodeType": "VariableDeclaration", "scope": 2375, "src": "483:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2366, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "483:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2371, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2370, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2368, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2359, "src": "495:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { "argumentTypes": null, "id": 2369, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2361, "src": "499:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "495:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "483:17:3" }, { "expression": { "argumentTypes": null, "id": 2372, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2367, "src": "595:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2365, "id": 2373, "nodeType": "Return", "src": "588:8:3" } ] }, "documentation": null, "id": 2375, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { "id": 2362, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2359, "name": "a", "nodeType": "VariableDeclaration", "scope": 2375, "src": "349:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2358, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "349:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2361, "name": "b", "nodeType": "VariableDeclaration", "scope": 2375, "src": "360:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2360, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "360:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "348:22:3" }, "payable": false, "returnParameters": { "id": 2365, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2364, "name": "", "nodeType": "VariableDeclaration", "scope": 2375, "src": "394:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2363, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "394:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "393:9:3" }, "scope": 2420, "src": "336:265:3", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 2394, "nodeType": "Block", "src": "672:43:3", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2387, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2385, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2379, "src": "685:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "id": 2386, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2377, "src": "690:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "685:6:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 2384, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2451, "src": "678:6:3", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 2388, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "678:14:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2389, "nodeType": "ExpressionStatement", "src": "678:14:3" }, { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2392, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2390, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2377, "src": "705:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "id": 2391, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2379, "src": "709:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "705:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2383, "id": 2393, "nodeType": "Return", "src": "698:12:3" } ] }, "documentation": null, "id": 2395, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { "id": 2380, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2377, "name": "a", "nodeType": "VariableDeclaration", "scope": 2395, "src": "618:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2376, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "618:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2379, "name": "b", "nodeType": "VariableDeclaration", "scope": 2395, "src": "629:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2378, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "629:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "617:22:3" }, "payable": false, "returnParameters": { "id": 2383, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2382, "name": "", "nodeType": "VariableDeclaration", "scope": 2395, "src": "663:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2381, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "663:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "662:9:3" }, "scope": 2420, "src": "605:110:3", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { "id": 2418, "nodeType": "Block", "src": "786:62:3", "statements": [ { "assignments": [ 2405 ], "declarations": [ { "constant": false, "id": 2405, "name": "c", "nodeType": "VariableDeclaration", "scope": 2419, "src": "792:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2404, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "792:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2409, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2408, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2406, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2397, "src": "804:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "id": 2407, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2399, "src": "808:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "804:5:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "792:17:3" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2411, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2405, "src": "822:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "argumentTypes": null, "id": 2412, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2397, "src": "827:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "822:6:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 2410, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2451, "src": "815:6:3", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 2414, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "815:14:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2415, "nodeType": "ExpressionStatement", "src": "815:14:3" }, { "expression": { "argumentTypes": null, "id": 2416, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2405, "src": "842:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2403, "id": 2417, "nodeType": "Return", "src": "835:8:3" } ] }, "documentation": null, "id": 2419, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { "id": 2400, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2397, "name": "a", "nodeType": "VariableDeclaration", "scope": 2419, "src": "732:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2396, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "732:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2399, "name": "b", "nodeType": "VariableDeclaration", "scope": 2419, "src": "743:9:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2398, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "743:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "731:22:3" }, "payable": false, "returnParameters": { "id": 2403, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2402, "name": "", "nodeType": "VariableDeclaration", "scope": 2419, "src": "777:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2401, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "777:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "776:9:3" }, "scope": 2420, "src": "719:129:3", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], "scope": 2421, "src": "127:723:3" } ], "src": "0:851:3" }, "legacyAST": { "absolutePath": "/home/ed/working/realitio-contracts-newtest/truffle/contracts/RealitioSafeMath256.sol", "exportedSymbols": { "RealitioSafeMath256": [ 2420 ] }, "id": 2421, "nodeType": "SourceUnit", "nodes": [ { "id": 2324, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:3" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": "@title ReailtioSafeMath256\n@dev Math operations with safety checks that throw on error", "fullyImplemented": true, "id": 2420, "linearizedBaseContracts": [ 2420 ], "name": "RealitioSafeMath256", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 2356, "nodeType": "Block", "src": "226:106:3", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2335, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2333, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2326, "src": "236:1:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation",