{ "contractName": "TestSafeMath", "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_x", "type": "uint256" }, { "internalType": "uint256", "name": "_y", "type": "uint256" } ], "name": "testSafeAdd", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_x", "type": "uint256" }, { "internalType": "uint256", "name": "_y", "type": "uint256" } ], "name": "testSafeSub", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_x", "type": "uint256" }, { "internalType": "uint256", "name": "_y", "type": "uint256" } ], "name": "testSafeMul", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_x", "type": "uint256" }, { "internalType": "uint256", "name": "_y", "type": "uint256" } ], "name": "testSafeDiv", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_y\",\"type\":\"uint256\"}],\"name\":\"testSafeAdd\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_y\",\"type\":\"uint256\"}],\"name\":\"testSafeDiv\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_y\",\"type\":\"uint256\"}],\"name\":\"testSafeMul\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_y\",\"type\":\"uint256\"}],\"name\":\"testSafeSub\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestSafeMath.sol\":\"TestSafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestSafeMath.sol\":{\"keccak256\":\"0x7d2c3f81e225672d7e64e760a5823368bf17695ff01257acd56cdf9366512359\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://9d74b6749f41dfa4720070f8ec9635251719a5b06bfe365cd79dc8f7a0a64b2f\",\"dweb:/ipfs/QmWWEuWEgBGWqVyiJQEPBKQFEGJ1yHLWdkgFhvAdbsf9bx\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/SafeMath.sol\":{\"keccak256\":\"0x1ab7391a19ca8a3ad2f3c4a1074e080d4d76dfdb834637bdd0c1e6b6acdf28af\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://d6d8c99621ca884b72da2d84eddfec8ec8c5533915691d6eec94a07adf445608\",\"dweb:/ipfs/QmaXr6DN7VbfxfMn3PsTy7SAMgZVVXbdeaw11BsAjVL2x1\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b506102b1806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635e47381d146100515780639ee6ff7014610086578063de47864c146100a9578063ec0da330146100cc575b600080fd5b6100746004803603604081101561006757600080fd5b50803590602001356100ef565b60408051918252519081900360200190f35b6100746004803603604081101561009c57600080fd5b5080359060200135610104565b610074600480360360408110156100bf57600080fd5b5080359060200135610110565b610074600480360360408110156100e257600080fd5b508035906020013561011c565b60006100fb8383610128565b90505b92915050565b60006100fb8383610187565b60006100fb83836101e5565b60006100fb838361022e565b6000808211610173576040805162461bcd60e51b81526020600482015260126024820152714552525f4449564944455f42595f5a45524f60701b604482015290519081900360640190fd5b600082848161017e57fe5b04949350505050565b600082610196575060006100fe565b828202828482816101a357fe5b04146100fb576040805162461bcd60e51b815260206004820152600c60248201526b4552525f4f564552464c4f5760a01b604482015290519081900360640190fd5b6000828201838110156100fb576040805162461bcd60e51b815260206004820152600c60248201526b4552525f4f564552464c4f5760a01b604482015290519081900360640190fd5b600081831015610275576040805162461bcd60e51b815260206004820152600d60248201526c4552525f554e444552464c4f5760981b604482015290519081900360640190fd5b5090039056fea2646970667358221220ddcc0a2ad8d4e0d15448f392cd58786f67484ca55ebaadad5e6c1e05dc37ec8464736f6c634300060c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80635e47381d146100515780639ee6ff7014610086578063de47864c146100a9578063ec0da330146100cc575b600080fd5b6100746004803603604081101561006757600080fd5b50803590602001356100ef565b60408051918252519081900360200190f35b6100746004803603604081101561009c57600080fd5b5080359060200135610104565b610074600480360360408110156100bf57600080fd5b5080359060200135610110565b610074600480360360408110156100e257600080fd5b508035906020013561011c565b60006100fb8383610128565b90505b92915050565b60006100fb8383610187565b60006100fb83836101e5565b60006100fb838361022e565b6000808211610173576040805162461bcd60e51b81526020600482015260126024820152714552525f4449564944455f42595f5a45524f60701b604482015290519081900360640190fd5b600082848161017e57fe5b04949350505050565b600082610196575060006100fe565b828202828482816101a357fe5b04146100fb576040805162461bcd60e51b815260206004820152600c60248201526b4552525f4f564552464c4f5760a01b604482015290519081900360640190fd5b6000828201838110156100fb576040805162461bcd60e51b815260206004820152600c60248201526b4552525f4f564552464c4f5760a01b604482015290519081900360640190fd5b600081831015610275576040805162461bcd60e51b815260206004820152600d60248201526c4552525f554e444552464c4f5760981b604482015290519081900360640190fd5b5090039056fea2646970667358221220ddcc0a2ad8d4e0d15448f392cd58786f67484ca55ebaadad5e6c1e05dc37ec8464736f6c634300060c0033", "immutableReferences": {}, "sourceMap": "175:517:44:-:0;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "175:517:44:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;581:109;;;;;;;;;;;;;;;;-1:-1:-1;581:109:44;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;466;;;;;;;;;;;;;;;;-1:-1:-1;466:109:44;;;;;;;:::i;236:::-;;;;;;;;;;;;;;;;-1:-1:-1;236:109:44;;;;;;;:::i;351:::-;;;;;;;;;;;;;;;;-1:-1:-1;351:109:44;;;;;;;:::i;581:::-;647:7;673:10;:2;680;673:6;:10::i;:::-;666:17;;581:109;;;;;:::o;466:::-;532:7;558:10;:2;565;558:6;:10::i;236:109::-;302:7;328:10;:2;335;328:6;:10::i;351:109::-;417:7;443:10;:2;450;443:6;:10::i;1627:174:60:-;1687:7;1720:1;1715:2;:6;1707:37;;;;;-1:-1:-1;;;1707:37:60;;;;;;;;;;;;-1:-1:-1;;;1707:37:60;;;;;;;;;;;;;;;1755:9;1772:2;1767;:7;;;;;;;1627:174;-1:-1:-1;;;;1627:174:60:o;1149:250::-;1209:7;1262;1258:34;;-1:-1:-1;1291:1:60;1284:8;;1258:34;1317:7;;;1322:2;1317;:7;:2;1343:6;;;;;:12;1335:37;;;;;-1:-1:-1;;;1335:37:60;;;;;;;;;;;;-1:-1:-1;;;1335:37:60;;;;;;;;;;;;;;386:169;446:7;478;;;504;;;;496:32;;;;;-1:-1:-1;;;496:32:60;;;;;;;;;;;;-1:-1:-1;;;496:32:60;;;;;;;;;;;;;;778:147;838:7;872:2;866;:8;;858:34;;;;;-1:-1:-1;;;858:34:60;;;;;;;;;;;;-1:-1:-1;;;858:34:60;;;;;;;;;;;;;;;-1:-1:-1;910:7:60;;;778:147::o", "source": "// SPDX-License-Identifier: SEE LICENSE IN LICENSE\npragma solidity 0.6.12;\nimport \"../utility/SafeMath.sol\";\n\n/*\n Utils test helper that exposes the safe math functions\n*/\ncontract TestSafeMath {\n using SafeMath for uint256;\n\n function testSafeAdd(uint256 _x, uint256 _y) public pure returns (uint256) {\n return _x.add(_y);\n }\n\n function testSafeSub(uint256 _x, uint256 _y) public pure returns (uint256) {\n return _x.sub(_y);\n }\n\n function testSafeMul(uint256 _x, uint256 _y) public pure returns (uint256) {\n return _x.mul(_y);\n }\n\n function testSafeDiv(uint256 _x, uint256 _y) public pure returns (uint256) {\n return _x.div(_y);\n }\n}\n", "sourcePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestSafeMath.sol", "ast": { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestSafeMath.sol", "exportedSymbols": { "TestSafeMath": [ 19707 ] }, "id": 19708, "license": "SEE LICENSE IN LICENSE", "nodeType": "SourceUnit", "nodes": [ { "id": 19642, "literals": [ "solidity", "0.6", ".12" ], "nodeType": "PragmaDirective", "src": "51:23:44" }, { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/SafeMath.sol", "file": "../utility/SafeMath.sol", "id": 19643, "nodeType": "ImportDirective", "scope": 19708, "sourceUnit": 22355, "src": "75:33:44", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 19707, "linearizedBaseContracts": [ 19707 ], "name": "TestSafeMath", "nodeType": "ContractDefinition", "nodes": [ { "id": 19646, "libraryName": { "contractScope": null, "id": 19644, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 22354, "src": "209:8:44", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$22354", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "203:27:44", "typeName": { "id": 19645, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "222:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "body": { "id": 19660, "nodeType": "Block", "src": "311:34:44", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19657, "name": "_y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19650, "src": "335:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 19655, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19648, "src": "328:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 22271, "src": "328:6:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19658, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "328:10:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 19654, "id": 19659, "nodeType": "Return", "src": "321:17:44" } ] }, "documentation": null, "functionSelector": "de47864c", "id": 19661, "implemented": true, "kind": "function", "modifiers": [], "name": "testSafeAdd", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19651, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19648, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19661, "src": "257:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19647, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "257:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19650, "mutability": "mutable", "name": "_y", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19661, "src": "269:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19649, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "269:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "256:24:44" }, "returnParameters": { "id": 19654, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19653, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19661, "src": "302:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19652, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "302:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "301:9:44" }, "scope": 19707, "src": "236:109:44", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 19675, "nodeType": "Block", "src": "426:34:44", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19672, "name": "_y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19665, "src": "450:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 19670, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19663, "src": "443:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 22293, "src": "443:6:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19673, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "443:10:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 19669, "id": 19674, "nodeType": "Return", "src": "436:17:44" } ] }, "documentation": null, "functionSelector": "ec0da330", "id": 19676, "implemented": true, "kind": "function", "modifiers": [], "name": "testSafeSub", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19666, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19663, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19676, "src": "372:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19662, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "372:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19665, "mutability": "mutable", "name": "_y", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19676, "src": "384:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19664, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "384:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "371:24:44" }, "returnParameters": { "id": 19669, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19668, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19676, "src": "417:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19667, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "417:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "416:9:44" }, "scope": 19707, "src": "351:109:44", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 19690, "nodeType": "Block", "src": "541:34:44", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19687, "name": "_y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19680, "src": "565:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 19685, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19678, "src": "558:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19686, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 22327, "src": "558:6:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19688, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "558:10:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 19684, "id": 19689, "nodeType": "Return", "src": "551:17:44" } ] }, "documentation": null, "functionSelector": "9ee6ff70", "id": 19691, "implemented": true, "kind": "function", "modifiers": [], "name": "testSafeMul", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19681, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19678, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19691, "src": "487:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19677, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "487:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19680, "mutability": "mutable", "name": "_y", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19691, "src": "499:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19679, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "499:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "486:24:44" }, "returnParameters": { "id": 19684, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19683, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19691, "src": "532:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19682, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "532:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "531:9:44" }, "scope": 19707, "src": "466:109:44", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 19705, "nodeType": "Block", "src": "656:34:44", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19702, "name": "_y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19695, "src": "680:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 19700, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19693, "src": "673:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19701, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", "referencedDeclaration": 22353, "src": "673:6:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19703, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "673:10:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 19699, "id": 19704, "nodeType": "Return", "src": "666:17:44" } ] }, "documentation": null, "functionSelector": "5e47381d", "id": 19706, "implemented": true, "kind": "function", "modifiers": [], "name": "testSafeDiv", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19696, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19693, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19706, "src": "602:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19692, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "602:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19695, "mutability": "mutable", "name": "_y", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19706, "src": "614:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19694, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "614:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "601:24:44" }, "returnParameters": { "id": 19699, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19698, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19706, "src": "647:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19697, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "647:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "646:9:44" }, "scope": 19707, "src": "581:109:44", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], "scope": 19708, "src": "175:517:44" } ], "src": "51:642:44" }, "legacyAST": { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestSafeMath.sol", "exportedSymbols": { "TestSafeMath": [ 19707 ] }, "id": 19708, "license": "SEE LICENSE IN LICENSE", "nodeType": "SourceUnit", "nodes": [ { "id": 19642, "literals": [ "solidity", "0.6", ".12" ], "nodeType": "PragmaDirective", "src": "51:23:44" }, { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/SafeMath.sol", "file": "../utility/SafeMath.sol", "id": 19643, "nodeType": "ImportDirective", "scope": 19708, "sourceUnit": 22355, "src": "75:33:44", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 19707, "linearizedBaseContracts": [ 19707 ], "name": "TestSafeMath", "nodeType": "ContractDefinition", "nodes": [ { "id": 19646, "libraryName": { "contractScope": null, "id": 19644, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 22354, "src": "209:8:44", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$22354", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "203:27:44", "typeName": { "id": 19645, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "222:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "body": { "id": 19660, "nodeType": "Block", "src": "311:34:44", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19657, "name": "_y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19650, "src": "335:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 19655, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19648, "src": "328:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 22271, "src": "328:6:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19658, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "328:10:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 19654, "id": 19659, "nodeType": "Return", "src": "321:17:44" } ] }, "documentation": null, "functionSelector": "de47864c", "id": 19661, "implemented": true, "kind": "function", "modifiers": [], "name": "testSafeAdd", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19651, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19648, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19661, "src": "257:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19647, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "257:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19650, "mutability": "mutable", "name": "_y", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19661, "src": "269:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19649, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "269:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "256:24:44" }, "returnParameters": { "id": 19654, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19653, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19661, "src": "302:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19652, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "302:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "301:9:44" }, "scope": 19707, "src": "236:109:44", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 19675, "nodeType": "Block", "src": "426:34:44", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19672, "name": "_y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19665, "src": "450:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 19670, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19663, "src": "443:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 22293, "src": "443:6:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19673, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "443:10:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 19669, "id": 19674, "nodeType": "Return", "src": "436:17:44" } ] }, "documentation": null, "functionSelector": "ec0da330", "id": 19676, "implemented": true, "kind": "function", "modifiers": [], "name": "testSafeSub", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19666, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19663, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19676, "src": "372:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19662, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "372:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19665, "mutability": "mutable", "name": "_y", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19676, "src": "384:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19664, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "384:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "371:24:44" }, "returnParameters": { "id": 19669, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19668, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19676, "src": "417:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19667, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "417:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "416:9:44" }, "scope": 19707, "src": "351:109:44", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 19690, "nodeType": "Block", "src": "541:34:44", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19687, "name": "_y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19680, "src": "565:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 19685, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19678, "src": "558:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19686, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 22327, "src": "558:6:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19688, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "558:10:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 19684, "id": 19689, "nodeType": "Return", "src": "551:17:44" } ] }, "documentation": null, "functionSelector": "9ee6ff70", "id": 19691, "implemented": true, "kind": "function", "modifiers": [], "name": "testSafeMul", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19681, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19678, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19691, "src": "487:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19677, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "487:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19680, "mutability": "mutable", "name": "_y", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19691, "src": "499:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19679, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "499:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "486:24:44" }, "returnParameters": { "id": 19684, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19683, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19691, "src": "532:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19682, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "532:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "531:9:44" }, "scope": 19707, "src": "466:109:44", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { "id": 19705, "nodeType": "Block", "src": "656:34:44", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19702, "name": "_y", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19695, "src": "680:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 19700, "name": "_x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19693, "src": "673:2:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19701, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "div", "nodeType": "MemberAccess", "referencedDeclaration": 22353, "src": "673:6:44", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19703, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "673:10:44", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 19699, "id": 19704, "nodeType": "Return", "src": "666:17:44" } ] }, "documentation": null, "functionSelector": "5e47381d", "id": 19706, "implemented": true, "kind": "function", "modifiers": [], "name": "testSafeDiv", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19696, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19693, "mutability": "mutable", "name": "_x", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19706, "src": "602:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19692, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "602:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19695, "mutability": "mutable", "name": "_y", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19706, "src": "614:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19694, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "614:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "601:24:44" }, "returnParameters": { "id": 19699, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19698, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19706, "src": "647:7:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19697, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "647:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "646:9:44" }, "scope": 19707, "src": "581:109:44", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], "scope": 19708, "src": "175:517:44" } ], "src": "51:642:44" }, "compiler": { "name": "solc", "version": "0.6.12+commit.27d51765.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.2.3", "updatedAt": "2020-10-20T08:24:47.812Z", "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }