From 9946577807510828439701ff4516b33abc734ff5 Mon Sep 17 00:00:00 2001 From: Nishino0719 Date: Sun, 20 Sep 2020 21:21:10 +0900 Subject: [PATCH 1/4] add ReportInfo.sol --- build/contracts/Address.json | 2118 ++++++------- build/contracts/Context.json | 226 +- build/contracts/ERC20.json | 4954 +++++++++++++++--------------- build/contracts/IERC20.json | 750 ++--- build/contracts/Migrations.json | 18 +- build/contracts/ReportInfo.json | 989 ++++++ build/contracts/ReportToken.json | 2326 +++++++------- build/contracts/SafeMath.json | 1962 ++++++------ contracts/ReportInfo.sol | 19 + migrations/3_ReportInfo.js | 5 + 10 files changed, 7190 insertions(+), 6177 deletions(-) create mode 100644 build/contracts/ReportInfo.json create mode 100644 contracts/ReportInfo.sol create mode 100644 migrations/3_ReportInfo.js diff --git a/build/contracts/Address.json b/build/contracts/Address.json index 157c3c6..532f324 100644 --- a/build/contracts/Address.json +++ b/build/contracts/Address.json @@ -5,23 +5,23 @@ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bc128696d80cead593b795c4d555f373d36ff9ef7b50949e46c9ca980128337c64736f6c634300060c0033", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bc128696d80cead593b795c4d555f373d36ff9ef7b50949e46c9ca980128337c64736f6c634300060c0033", "immutableReferences": {}, - "sourceMap": "126:5951:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "126:5951:6:-:0;;;;;;;;", + "sourceMap": "126:5951:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "126:5951:7:-:0;;;;;;;;", "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.2;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // According to EIP-1052, 0x0 is the value returned for not-yet created accounts\n // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned\n // for accounts without code, i.e. `keccak256('')`\n bytes32 codehash;\n bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;\n // solhint-disable-next-line no-inline-assembly\n assembly { codehash := extcodehash(account) }\n return (codehash != accountHash && codehash != 0x0);\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\n (bool success, ) = recipient.call{ value: amount }(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain`call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCall(target, data, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n return _functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n return _functionCallWithValue(target, data, value, errorMessage);\n }\n\n function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {\n require(isContract(target), \"Address: call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);\n if (success) {\n return returndata;\n } else {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n\n // solhint-disable-next-line no-inline-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n }\n}\n", "sourcePath": "@openzeppelin/contracts/utils/Address.sol", "ast": { "absolutePath": "@openzeppelin/contracts/utils/Address.sol", "exportedSymbols": { "Address": [ - 1275 + 1312 ] }, - "id": 1276, + "id": 1313, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1073, + "id": 1110, "literals": [ "solidity", "^", @@ -29,7 +29,7 @@ ".2" ], "nodeType": "PragmaDirective", - "src": "33:23:6" + "src": "33:23:7" }, { "abstract": false, @@ -37,39 +37,39 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 1074, + "id": 1111, "nodeType": "StructuredDocumentation", - "src": "58:67:6", + "src": "58:67:7", "text": " @dev Collection of functions related to the address type" }, "fullyImplemented": true, - "id": 1275, + "id": 1312, "linearizedBaseContracts": [ - 1275 + 1312 ], "name": "Address", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1099, + "id": 1136, "nodeType": "Block", - "src": "784:544:6", + "src": "784:544:7", "statements": [ { "assignments": [ - 1083 + 1120 ], "declarations": [ { "constant": false, - "id": 1083, + "id": 1120, "mutability": "mutable", "name": "codehash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1099, - "src": "1036:16:6", + "scope": 1136, + "src": "1036:16:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -77,10 +77,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1082, + "id": 1119, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1036:7:6", + "src": "1036:7:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -90,25 +90,25 @@ "visibility": "internal" } ], - "id": 1084, + "id": 1121, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "1036:16:6" + "src": "1036:16:7" }, { "assignments": [ - 1086 + 1123 ], "declarations": [ { "constant": false, - "id": 1086, + "id": 1123, "mutability": "mutable", "name": "accountHash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1099, - "src": "1062:19:6", + "scope": 1136, + "src": "1062:19:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -116,10 +116,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1085, + "id": 1122, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1062:7:6", + "src": "1062:7:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -129,18 +129,18 @@ "visibility": "internal" } ], - "id": 1088, + "id": 1125, "initialValue": { "argumentTypes": null, "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 1087, + "id": 1124, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1084:66:6", + "src": "1084:66:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", @@ -149,37 +149,37 @@ "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" }, "nodeType": "VariableDeclarationStatement", - "src": "1062:88:6" + "src": "1062:88:7" }, { "AST": { "nodeType": "YulBlock", - "src": "1225:36:6", + "src": "1225:36:7", "statements": [ { "nodeType": "YulAssignment", - "src": "1227:32:6", + "src": "1227:32:7", "value": { "arguments": [ { "name": "account", "nodeType": "YulIdentifier", - "src": "1251:7:6" + "src": "1251:7:7" } ], "functionName": { "name": "extcodehash", "nodeType": "YulIdentifier", - "src": "1239:11:6" + "src": "1239:11:7" }, "nodeType": "YulFunctionCall", - "src": "1239:20:6" + "src": "1239:20:7" }, "variableNames": [ { "name": "codehash", "nodeType": "YulIdentifier", - "src": "1227:8:6" + "src": "1227:8:7" } ] } @@ -188,23 +188,23 @@ "evmVersion": "istanbul", "externalReferences": [ { - "declaration": 1077, + "declaration": 1114, "isOffset": false, "isSlot": false, - "src": "1251:7:6", + "src": "1251:7:7", "valueSize": 1 }, { - "declaration": 1083, + "declaration": 1120, "isOffset": false, "isSlot": false, - "src": "1227:8:6", + "src": "1227:8:7", "valueSize": 1 } ], - "id": 1089, + "id": 1126, "nodeType": "InlineAssembly", - "src": "1216:45:6" + "src": "1216:45:7" }, { "expression": { @@ -216,7 +216,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1096, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": false, @@ -227,19 +227,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1092, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1090, + "id": 1127, "name": "codehash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "1278:8:6", + "referencedDeclaration": 1120, + "src": "1278:8:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -249,18 +249,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1091, + "id": 1128, "name": "accountHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "1290:11:6", + "referencedDeclaration": 1123, + "src": "1290:11:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "1278:23:6", + "src": "1278:23:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -274,19 +274,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1095, + "id": 1132, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1093, + "id": 1130, "name": "codehash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "1305:8:6", + "referencedDeclaration": 1120, + "src": "1305:8:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -297,14 +297,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "307830", - "id": 1094, + "id": 1131, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1317:3:6", + "src": "1317:3:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -312,46 +312,46 @@ }, "value": "0x0" }, - "src": "1305:15:6", + "src": "1305:15:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1278:42:6", + "src": "1278:42:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 1097, + "id": 1134, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1277:44:6", + "src": "1277:44:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1081, - "id": 1098, + "functionReturnParameters": 1118, + "id": 1135, "nodeType": "Return", - "src": "1270:51:6" + "src": "1270:51:7" } ] }, "documentation": { - "id": 1075, + "id": 1112, "nodeType": "StructuredDocumentation", - "src": "148:565:6", + "src": "148:565:7", "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ====" }, - "id": 1100, + "id": 1137, "implemented": true, "kind": "function", "modifiers": [], @@ -359,18 +359,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1078, + "id": 1115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1077, + "id": 1114, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1100, - "src": "738:15:6", + "scope": 1137, + "src": "738:15:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -378,10 +378,10 @@ "typeString": "address" }, "typeName": { - "id": 1076, + "id": 1113, "name": "address", "nodeType": "ElementaryTypeName", - "src": "738:7:6", + "src": "738:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -392,21 +392,21 @@ "visibility": "internal" } ], - "src": "737:17:6" + "src": "737:17:7" }, "returnParameters": { - "id": 1081, + "id": 1118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1080, + "id": 1117, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1100, - "src": "778:4:6", + "scope": 1137, + "src": "778:4:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -414,10 +414,10 @@ "typeString": "bool" }, "typeName": { - "id": 1079, + "id": 1116, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "778:4:6", + "src": "778:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -427,19 +427,19 @@ "visibility": "internal" } ], - "src": "777:6:6" + "src": "777:6:7" }, - "scope": 1275, - "src": "718:610:6", + "scope": 1312, + "src": "718:610:7", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1133, + "id": 1170, "nodeType": "Block", - "src": "2316:320:6", + "src": "2316:320:7", "statements": [ { "expression": { @@ -451,7 +451,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1115, + "id": 1152, "isConstant": false, "isLValue": false, "isPure": false, @@ -463,14 +463,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1111, + "id": 1148, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "2342:4:6", + "src": "2342:4:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } } @@ -478,33 +478,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } ], - "id": 1110, + "id": 1147, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2334:7:6", + "src": "2334:7:7", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1109, + "id": 1146, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2334:7:6", + "src": "2334:7:7", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 1112, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": false, @@ -512,14 +512,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2334:13:6", + "src": "2334:13:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1113, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -527,7 +527,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2334:21:6", + "src": "2334:21:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -537,18 +537,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1114, + "id": 1151, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "2359:6:6", + "referencedDeclaration": 1142, + "src": "2359:6:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2334:31:6", + "src": "2334:31:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -557,14 +557,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 1116, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2367:31:6", + "src": "2367:31:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", @@ -584,7 +584,7 @@ "typeString": "literal_string \"Address: insufficient balance\"" } ], - "id": 1108, + "id": 1145, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -592,13 +592,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2326:7:6", + "src": "2326:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1117, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, @@ -606,32 +606,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2326:73:6", + "src": "2326:73:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1118, + "id": 1155, "nodeType": "ExpressionStatement", - "src": "2326:73:6" + "src": "2326:73:7" }, { "assignments": [ - 1120, + 1157, null ], "declarations": [ { "constant": false, - "id": 1120, + "id": 1157, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1133, - "src": "2488:12:6", + "scope": 1170, + "src": "2488:12:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -639,10 +639,10 @@ "typeString": "bool" }, "typeName": { - "id": 1119, + "id": 1156, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2488:4:6", + "src": "2488:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -653,21 +653,21 @@ }, null ], - "id": 1127, + "id": 1164, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 1125, + "id": 1162, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2538:2:6", + "src": "2538:2:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -692,18 +692,18 @@ ], "expression": { "argumentTypes": null, - "id": 1121, + "id": 1158, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1103, - "src": "2506:9:6", + "referencedDeclaration": 1140, + "src": "2506:9:7", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 1122, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, @@ -711,13 +711,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2506:14:6", + "src": "2506:14:7", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 1124, + "id": 1161, "isConstant": false, "isLValue": false, "isPure": false, @@ -729,25 +729,25 @@ "options": [ { "argumentTypes": null, - "id": 1123, + "id": 1160, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "2529:6:6", + "referencedDeclaration": 1142, + "src": "2529:6:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "src": "2506:31:6", + "src": "2506:31:7", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 1126, + "id": 1163, "isConstant": false, "isLValue": false, "isPure": false, @@ -755,7 +755,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2506:35:6", + "src": "2506:35:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -763,7 +763,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2487:54:6" + "src": "2487:54:7" }, { "expression": { @@ -771,12 +771,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1129, + "id": 1166, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "2559:7:6", + "referencedDeclaration": 1157, + "src": "2559:7:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -785,14 +785,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 1130, + "id": 1167, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2568:60:6", + "src": "2568:60:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", @@ -812,7 +812,7 @@ "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" } ], - "id": 1128, + "id": 1165, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -820,13 +820,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2551:7:6", + "src": "2551:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1131, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": false, @@ -834,26 +834,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2551:78:6", + "src": "2551:78:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1132, + "id": 1169, "nodeType": "ExpressionStatement", - "src": "2551:78:6" + "src": "2551:78:7" } ] }, "documentation": { - "id": 1101, + "id": 1138, "nodeType": "StructuredDocumentation", - "src": "1334:906:6", + "src": "1334:906:7", "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." }, - "id": 1134, + "id": 1171, "implemented": true, "kind": "function", "modifiers": [], @@ -861,18 +861,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1106, + "id": 1143, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1103, + "id": 1140, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1134, - "src": "2264:25:6", + "scope": 1171, + "src": "2264:25:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -880,10 +880,10 @@ "typeString": "address payable" }, "typeName": { - "id": 1102, + "id": 1139, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2264:15:6", + "src": "2264:15:7", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -895,13 +895,13 @@ }, { "constant": false, - "id": 1105, + "id": 1142, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1134, - "src": "2291:14:6", + "scope": 1171, + "src": "2291:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -909,10 +909,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1104, + "id": 1141, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2291:7:6", + "src": "2291:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -922,25 +922,25 @@ "visibility": "internal" } ], - "src": "2263:43:6" + "src": "2263:43:7" }, "returnParameters": { - "id": 1107, + "id": 1144, "nodeType": "ParameterList", "parameters": [], - "src": "2316:0:6" + "src": "2316:0:7" }, - "scope": 1275, - "src": "2245:391:6", + "scope": 1312, + "src": "2245:391:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1150, + "id": 1187, "nodeType": "Block", - "src": "3466:82:6", + "src": "3466:82:7", "statements": [ { "expression": { @@ -948,12 +948,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1145, + "id": 1182, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "3494:6:6", + "referencedDeclaration": 1174, + "src": "3494:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -961,12 +961,12 @@ }, { "argumentTypes": null, - "id": 1146, + "id": 1183, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1139, - "src": "3502:4:6", + "referencedDeclaration": 1176, + "src": "3502:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -975,14 +975,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 1147, + "id": 1184, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3508:32:6", + "src": "3508:32:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", @@ -1006,21 +1006,21 @@ "typeString": "literal_string \"Address: low-level call failed\"" } ], - "id": 1144, + "id": 1181, "name": "functionCall", "nodeType": "Identifier", "overloadedDeclarations": [ - 1151, - 1171 + 1188, + 1208 ], - "referencedDeclaration": 1171, - "src": "3481:12:6", + "referencedDeclaration": 1208, + "src": "3481:12:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" } }, - "id": 1148, + "id": 1185, "isConstant": false, "isLValue": false, "isPure": false, @@ -1028,27 +1028,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3481:60:6", + "src": "3481:60:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1143, - "id": 1149, + "functionReturnParameters": 1180, + "id": 1186, "nodeType": "Return", - "src": "3474:67:6" + "src": "3474:67:7" } ] }, "documentation": { - "id": 1135, + "id": 1172, "nodeType": "StructuredDocumentation", - "src": "2642:730:6", + "src": "2642:730:7", "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain`call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" }, - "id": 1151, + "id": 1188, "implemented": true, "kind": "function", "modifiers": [], @@ -1056,18 +1056,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1140, + "id": 1177, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1137, + "id": 1174, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1151, - "src": "3399:14:6", + "scope": 1188, + "src": "3399:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1075,10 +1075,10 @@ "typeString": "address" }, "typeName": { - "id": 1136, + "id": 1173, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3399:7:6", + "src": "3399:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1090,13 +1090,13 @@ }, { "constant": false, - "id": 1139, + "id": 1176, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1151, - "src": "3415:17:6", + "scope": 1188, + "src": "3415:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1104,10 +1104,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1138, + "id": 1175, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3415:5:6", + "src": "3415:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1117,21 +1117,21 @@ "visibility": "internal" } ], - "src": "3398:35:6" + "src": "3398:35:7" }, "returnParameters": { - "id": 1143, + "id": 1180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1142, + "id": 1179, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1151, - "src": "3452:12:6", + "scope": 1188, + "src": "3452:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1139,10 +1139,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1141, + "id": 1178, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3452:5:6", + "src": "3452:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1152,19 +1152,19 @@ "visibility": "internal" } ], - "src": "3451:14:6" + "src": "3451:14:7" }, - "scope": 1275, - "src": "3377:171:6", + "scope": 1312, + "src": "3377:171:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1170, + "id": 1207, "nodeType": "Block", - "src": "3887:77:6", + "src": "3887:77:7", "statements": [ { "expression": { @@ -1172,12 +1172,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1164, + "id": 1201, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "3927:6:6", + "referencedDeclaration": 1191, + "src": "3927:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1185,12 +1185,12 @@ }, { "argumentTypes": null, - "id": 1165, + "id": 1202, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, - "src": "3935:4:6", + "referencedDeclaration": 1193, + "src": "3935:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -1199,14 +1199,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1166, + "id": 1203, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3941:1:6", + "src": "3941:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1216,12 +1216,12 @@ }, { "argumentTypes": null, - "id": 1167, + "id": 1204, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1158, - "src": "3944:12:6", + "referencedDeclaration": 1195, + "src": "3944:12:7", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1247,18 +1247,18 @@ "typeString": "string memory" } ], - "id": 1163, + "id": 1200, "name": "_functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "3904:22:6", + "referencedDeclaration": 1311, + "src": "3904:22:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" } }, - "id": 1168, + "id": 1205, "isConstant": false, "isLValue": false, "isPure": false, @@ -1266,27 +1266,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3904:53:6", + "src": "3904:53:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1162, - "id": 1169, + "functionReturnParameters": 1199, + "id": 1206, "nodeType": "Return", - "src": "3897:60:6" + "src": "3897:60:7" } ] }, "documentation": { - "id": 1152, + "id": 1189, "nodeType": "StructuredDocumentation", - "src": "3554:211:6", + "src": "3554:211:7", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" }, - "id": 1171, + "id": 1208, "implemented": true, "kind": "function", "modifiers": [], @@ -1294,18 +1294,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1159, + "id": 1196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1154, + "id": 1191, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1171, - "src": "3792:14:6", + "scope": 1208, + "src": "3792:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1313,10 +1313,10 @@ "typeString": "address" }, "typeName": { - "id": 1153, + "id": 1190, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3792:7:6", + "src": "3792:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1328,13 +1328,13 @@ }, { "constant": false, - "id": 1156, + "id": 1193, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1171, - "src": "3808:17:6", + "scope": 1208, + "src": "3808:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1342,10 +1342,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1155, + "id": 1192, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3808:5:6", + "src": "3808:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1356,13 +1356,13 @@ }, { "constant": false, - "id": 1158, + "id": 1195, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1171, - "src": "3827:26:6", + "scope": 1208, + "src": "3827:26:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1370,10 +1370,10 @@ "typeString": "string" }, "typeName": { - "id": 1157, + "id": 1194, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3827:6:6", + "src": "3827:6:7", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1383,21 +1383,21 @@ "visibility": "internal" } ], - "src": "3791:63:6" + "src": "3791:63:7" }, "returnParameters": { - "id": 1162, + "id": 1199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1161, + "id": 1198, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1171, - "src": "3873:12:6", + "scope": 1208, + "src": "3873:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1405,10 +1405,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1160, + "id": 1197, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3873:5:6", + "src": "3873:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1418,19 +1418,19 @@ "visibility": "internal" } ], - "src": "3872:14:6" + "src": "3872:14:7" }, - "scope": 1275, - "src": "3770:194:6", + "scope": 1312, + "src": "3770:194:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1190, + "id": 1227, "nodeType": "Block", - "src": "4439:111:6", + "src": "4439:111:7", "statements": [ { "expression": { @@ -1438,12 +1438,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1184, + "id": 1221, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1174, - "src": "4478:6:6", + "referencedDeclaration": 1211, + "src": "4478:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1451,12 +1451,12 @@ }, { "argumentTypes": null, - "id": 1185, + "id": 1222, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1176, - "src": "4486:4:6", + "referencedDeclaration": 1213, + "src": "4486:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -1464,12 +1464,12 @@ }, { "argumentTypes": null, - "id": 1186, + "id": 1223, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1178, - "src": "4492:5:6", + "referencedDeclaration": 1215, + "src": "4492:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1478,14 +1478,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 1187, + "id": 1224, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4499:43:6", + "src": "4499:43:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", @@ -1513,21 +1513,21 @@ "typeString": "literal_string \"Address: low-level call with value failed\"" } ], - "id": 1183, + "id": 1220, "name": "functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [ - 1191, - 1224 + 1228, + 1261 ], - "referencedDeclaration": 1224, - "src": "4456:21:6", + "referencedDeclaration": 1261, + "src": "4456:21:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" } }, - "id": 1188, + "id": 1225, "isConstant": false, "isLValue": false, "isPure": false, @@ -1535,27 +1535,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4456:87:6", + "src": "4456:87:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1182, - "id": 1189, + "functionReturnParameters": 1219, + "id": 1226, "nodeType": "Return", - "src": "4449:94:6" + "src": "4449:94:7" } ] }, "documentation": { - "id": 1172, + "id": 1209, "nodeType": "StructuredDocumentation", - "src": "3970:351:6", + "src": "3970:351:7", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" }, - "id": 1191, + "id": 1228, "implemented": true, "kind": "function", "modifiers": [], @@ -1563,18 +1563,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1179, + "id": 1216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1174, + "id": 1211, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1191, - "src": "4357:14:6", + "scope": 1228, + "src": "4357:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1582,10 +1582,10 @@ "typeString": "address" }, "typeName": { - "id": 1173, + "id": 1210, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4357:7:6", + "src": "4357:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1597,13 +1597,13 @@ }, { "constant": false, - "id": 1176, + "id": 1213, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1191, - "src": "4373:17:6", + "scope": 1228, + "src": "4373:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1611,10 +1611,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1175, + "id": 1212, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4373:5:6", + "src": "4373:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1625,13 +1625,13 @@ }, { "constant": false, - "id": 1178, + "id": 1215, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1191, - "src": "4392:13:6", + "scope": 1228, + "src": "4392:13:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1639,10 +1639,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1177, + "id": 1214, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4392:7:6", + "src": "4392:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1652,21 +1652,21 @@ "visibility": "internal" } ], - "src": "4356:50:6" + "src": "4356:50:7" }, "returnParameters": { - "id": 1182, + "id": 1219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1181, + "id": 1218, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1191, - "src": "4425:12:6", + "scope": 1228, + "src": "4425:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1674,10 +1674,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1180, + "id": 1217, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4425:5:6", + "src": "4425:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -1687,19 +1687,19 @@ "visibility": "internal" } ], - "src": "4424:14:6" + "src": "4424:14:7" }, - "scope": 1275, - "src": "4326:224:6", + "scope": 1312, + "src": "4326:224:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1223, + "id": 1260, "nodeType": "Block", - "src": "4939:172:6", + "src": "4939:172:7", "statements": [ { "expression": { @@ -1711,7 +1711,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1212, + "id": 1249, "isConstant": false, "isLValue": false, "isPure": false, @@ -1723,14 +1723,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1208, + "id": 1245, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "4965:4:6", + "src": "4965:4:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } } @@ -1738,33 +1738,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } ], - "id": 1207, + "id": 1244, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4957:7:6", + "src": "4957:7:7", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1206, + "id": 1243, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4957:7:6", + "src": "4957:7:7", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 1209, + "id": 1246, "isConstant": false, "isLValue": false, "isPure": false, @@ -1772,14 +1772,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4957:13:6", + "src": "4957:13:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1210, + "id": 1247, "isConstant": false, "isLValue": false, "isPure": false, @@ -1787,7 +1787,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4957:21:6", + "src": "4957:21:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1797,18 +1797,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1211, + "id": 1248, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1198, - "src": "4982:5:6", + "referencedDeclaration": 1235, + "src": "4982:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4957:30:6", + "src": "4957:30:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1817,14 +1817,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 1213, + "id": 1250, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4989:40:6", + "src": "4989:40:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", @@ -1844,7 +1844,7 @@ "typeString": "literal_string \"Address: insufficient balance for call\"" } ], - "id": 1205, + "id": 1242, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1852,13 +1852,13 @@ -18 ], "referencedDeclaration": -18, - "src": "4949:7:6", + "src": "4949:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1214, + "id": 1251, "isConstant": false, "isLValue": false, "isPure": false, @@ -1866,16 +1866,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4949:81:6", + "src": "4949:81:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1215, + "id": 1252, "nodeType": "ExpressionStatement", - "src": "4949:81:6" + "src": "4949:81:7" }, { "expression": { @@ -1883,12 +1883,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1217, + "id": 1254, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1194, - "src": "5070:6:6", + "referencedDeclaration": 1231, + "src": "5070:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1896,12 +1896,12 @@ }, { "argumentTypes": null, - "id": 1218, + "id": 1255, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1196, - "src": "5078:4:6", + "referencedDeclaration": 1233, + "src": "5078:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -1909,12 +1909,12 @@ }, { "argumentTypes": null, - "id": 1219, + "id": 1256, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1198, - "src": "5084:5:6", + "referencedDeclaration": 1235, + "src": "5084:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1922,12 +1922,12 @@ }, { "argumentTypes": null, - "id": 1220, + "id": 1257, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1200, - "src": "5091:12:6", + "referencedDeclaration": 1237, + "src": "5091:12:7", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1953,18 +1953,18 @@ "typeString": "string memory" } ], - "id": 1216, + "id": 1253, "name": "_functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "5047:22:6", + "referencedDeclaration": 1311, + "src": "5047:22:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" } }, - "id": 1221, + "id": 1258, "isConstant": false, "isLValue": false, "isPure": false, @@ -1972,27 +1972,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5047:57:6", + "src": "5047:57:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1204, - "id": 1222, + "functionReturnParameters": 1241, + "id": 1259, "nodeType": "Return", - "src": "5040:64:6" + "src": "5040:64:7" } ] }, "documentation": { - "id": 1192, + "id": 1229, "nodeType": "StructuredDocumentation", - "src": "4556:237:6", + "src": "4556:237:7", "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" }, - "id": 1224, + "id": 1261, "implemented": true, "kind": "function", "modifiers": [], @@ -2000,18 +2000,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1201, + "id": 1238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1194, + "id": 1231, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4829:14:6", + "scope": 1261, + "src": "4829:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2019,10 +2019,10 @@ "typeString": "address" }, "typeName": { - "id": 1193, + "id": 1230, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4829:7:6", + "src": "4829:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2034,13 +2034,13 @@ }, { "constant": false, - "id": 1196, + "id": 1233, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4845:17:6", + "scope": 1261, + "src": "4845:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2048,10 +2048,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1195, + "id": 1232, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4845:5:6", + "src": "4845:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2062,13 +2062,13 @@ }, { "constant": false, - "id": 1198, + "id": 1235, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4864:13:6", + "scope": 1261, + "src": "4864:13:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2076,10 +2076,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1197, + "id": 1234, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4864:7:6", + "src": "4864:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2090,13 +2090,13 @@ }, { "constant": false, - "id": 1200, + "id": 1237, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4879:26:6", + "scope": 1261, + "src": "4879:26:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2104,10 +2104,10 @@ "typeString": "string" }, "typeName": { - "id": 1199, + "id": 1236, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4879:6:6", + "src": "4879:6:7", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2117,21 +2117,21 @@ "visibility": "internal" } ], - "src": "4828:78:6" + "src": "4828:78:7" }, "returnParameters": { - "id": 1204, + "id": 1241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1203, + "id": 1240, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4925:12:6", + "scope": 1261, + "src": "4925:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2139,10 +2139,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1202, + "id": 1239, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4925:5:6", + "src": "4925:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2152,19 +2152,19 @@ "visibility": "internal" } ], - "src": "4924:14:6" + "src": "4924:14:7" }, - "scope": 1275, - "src": "4798:313:6", + "scope": 1312, + "src": "4798:313:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1273, + "id": 1310, "nodeType": "Block", - "src": "5261:814:6", + "src": "5261:814:7", "statements": [ { "expression": { @@ -2175,12 +2175,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1239, + "id": 1276, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1226, - "src": "5290:6:6", + "referencedDeclaration": 1263, + "src": "5290:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2194,18 +2194,18 @@ "typeString": "address" } ], - "id": 1238, + "id": 1275, "name": "isContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "5279:10:6", + "referencedDeclaration": 1137, + "src": "5279:10:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 1240, + "id": 1277, "isConstant": false, "isLValue": false, "isPure": false, @@ -2213,7 +2213,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5279:18:6", + "src": "5279:18:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2223,14 +2223,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 1241, + "id": 1278, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5299:31:6", + "src": "5299:31:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", @@ -2250,7 +2250,7 @@ "typeString": "literal_string \"Address: call to non-contract\"" } ], - "id": 1237, + "id": 1274, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2258,13 +2258,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5271:7:6", + "src": "5271:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1242, + "id": 1279, "isConstant": false, "isLValue": false, "isPure": false, @@ -2272,32 +2272,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5271:60:6", + "src": "5271:60:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1243, + "id": 1280, "nodeType": "ExpressionStatement", - "src": "5271:60:6" + "src": "5271:60:7" }, { "assignments": [ - 1245, - 1247 + 1282, + 1284 ], "declarations": [ { "constant": false, - "id": 1245, + "id": 1282, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1273, - "src": "5402:12:6", + "scope": 1310, + "src": "5402:12:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2305,10 +2305,10 @@ "typeString": "bool" }, "typeName": { - "id": 1244, + "id": 1281, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5402:4:6", + "src": "5402:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2319,13 +2319,13 @@ }, { "constant": false, - "id": 1247, + "id": 1284, "mutability": "mutable", "name": "returndata", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1273, - "src": "5416:23:6", + "scope": 1310, + "src": "5416:23:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2333,10 +2333,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1246, + "id": 1283, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5416:5:6", + "src": "5416:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2346,18 +2346,18 @@ "visibility": "internal" } ], - "id": 1254, + "id": 1291, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1252, + "id": 1289, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1228, - "src": "5474:4:6", + "referencedDeclaration": 1265, + "src": "5474:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -2380,18 +2380,18 @@ ], "expression": { "argumentTypes": null, - "id": 1248, + "id": 1285, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1226, - "src": "5443:6:6", + "referencedDeclaration": 1263, + "src": "5443:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1249, + "id": 1286, "isConstant": false, "isLValue": false, "isPure": false, @@ -2399,13 +2399,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5443:11:6", + "src": "5443:11:7", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 1251, + "id": 1288, "isConstant": false, "isLValue": false, "isPure": false, @@ -2417,25 +2417,25 @@ "options": [ { "argumentTypes": null, - "id": 1250, + "id": 1287, "name": "weiValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "5463:8:6", + "referencedDeclaration": 1267, + "src": "5463:8:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "src": "5443:30:6", + "src": "5443:30:7", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 1253, + "id": 1290, "isConstant": false, "isLValue": false, "isPure": false, @@ -2443,7 +2443,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5443:36:6", + "src": "5443:36:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -2451,26 +2451,26 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5401:78:6" + "src": "5401:78:7" }, { "condition": { "argumentTypes": null, - "id": 1255, + "id": 1292, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, - "src": "5493:7:6", + "referencedDeclaration": 1282, + "src": "5493:7:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 1271, + "id": 1308, "nodeType": "Block", - "src": "5550:519:6", + "src": "5550:519:7", "statements": [ { "condition": { @@ -2479,7 +2479,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1262, + "id": 1299, "isConstant": false, "isLValue": false, "isPure": false, @@ -2488,18 +2488,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1259, + "id": 1296, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "5634:10:6", + "referencedDeclaration": 1284, + "src": "5634:10:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1260, + "id": 1297, "isConstant": false, "isLValue": false, "isPure": false, @@ -2507,7 +2507,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5634:17:6", + "src": "5634:17:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2518,14 +2518,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1261, + "id": 1298, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5654:1:6", + "src": "5654:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2533,16 +2533,16 @@ }, "value": "0" }, - "src": "5634:21:6", + "src": "5634:21:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 1269, + "id": 1306, "nodeType": "Block", - "src": "6006:53:6", + "src": "6006:53:7", "statements": [ { "expression": { @@ -2550,12 +2550,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1266, + "id": 1303, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "6031:12:6", + "referencedDeclaration": 1269, + "src": "6031:12:7", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2569,7 +2569,7 @@ "typeString": "string memory" } ], - "id": 1265, + "id": 1302, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2577,13 +2577,13 @@ -19 ], "referencedDeclaration": -19, - "src": "6024:6:6", + "src": "6024:6:7", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 1267, + "id": 1304, "isConstant": false, "isLValue": false, "isPure": false, @@ -2591,56 +2591,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6024:20:6", + "src": "6024:20:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1268, + "id": 1305, "nodeType": "ExpressionStatement", - "src": "6024:20:6" + "src": "6024:20:7" } ] }, - "id": 1270, + "id": 1307, "nodeType": "IfStatement", - "src": "5630:429:6", + "src": "5630:429:7", "trueBody": { - "id": 1264, + "id": 1301, "nodeType": "Block", - "src": "5657:343:6", + "src": "5657:343:7", "statements": [ { "AST": { "nodeType": "YulBlock", - "src": "5841:145:6", + "src": "5841:145:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5863:40:6", + "src": "5863:40:7", "value": { "arguments": [ { "name": "returndata", "nodeType": "YulIdentifier", - "src": "5892:10:6" + "src": "5892:10:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "5886:5:6" + "src": "5886:5:7" }, "nodeType": "YulFunctionCall", - "src": "5886:17:6" + "src": "5886:17:7" }, "variables": [ { "name": "returndata_size", "nodeType": "YulTypedName", - "src": "5867:15:6", + "src": "5867:15:7", "type": "" } ] @@ -2653,95 +2653,95 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5935:2:6", + "src": "5935:2:7", "type": "", "value": "32" }, { "name": "returndata", "nodeType": "YulIdentifier", - "src": "5939:10:6" + "src": "5939:10:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5931:3:6" + "src": "5931:3:7" }, "nodeType": "YulFunctionCall", - "src": "5931:19:6" + "src": "5931:19:7" }, { "name": "returndata_size", "nodeType": "YulIdentifier", - "src": "5952:15:6" + "src": "5952:15:7" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5924:6:6" + "src": "5924:6:7" }, "nodeType": "YulFunctionCall", - "src": "5924:44:6" + "src": "5924:44:7" }, "nodeType": "YulExpressionStatement", - "src": "5924:44:6" + "src": "5924:44:7" } ] }, "evmVersion": "istanbul", "externalReferences": [ { - "declaration": 1247, + "declaration": 1284, "isOffset": false, "isSlot": false, - "src": "5892:10:6", + "src": "5892:10:7", "valueSize": 1 }, { - "declaration": 1247, + "declaration": 1284, "isOffset": false, "isSlot": false, - "src": "5939:10:6", + "src": "5939:10:7", "valueSize": 1 } ], - "id": 1263, + "id": 1300, "nodeType": "InlineAssembly", - "src": "5832:154:6" + "src": "5832:154:7" } ] } } ] }, - "id": 1272, + "id": 1309, "nodeType": "IfStatement", - "src": "5489:580:6", + "src": "5489:580:7", "trueBody": { - "id": 1258, + "id": 1295, "nodeType": "Block", - "src": "5502:42:6", + "src": "5502:42:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1256, + "id": 1293, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "5523:10:6", + "referencedDeclaration": 1284, + "src": "5523:10:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1236, - "id": 1257, + "functionReturnParameters": 1273, + "id": 1294, "nodeType": "Return", - "src": "5516:17:6" + "src": "5516:17:7" } ] } @@ -2749,7 +2749,7 @@ ] }, "documentation": null, - "id": 1274, + "id": 1311, "implemented": true, "kind": "function", "modifiers": [], @@ -2757,18 +2757,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1233, + "id": 1270, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1226, + "id": 1263, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5149:14:6", + "scope": 1311, + "src": "5149:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2776,10 +2776,10 @@ "typeString": "address" }, "typeName": { - "id": 1225, + "id": 1262, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5149:7:6", + "src": "5149:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2791,13 +2791,13 @@ }, { "constant": false, - "id": 1228, + "id": 1265, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5165:17:6", + "scope": 1311, + "src": "5165:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2805,10 +2805,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1227, + "id": 1264, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5165:5:6", + "src": "5165:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2819,13 +2819,13 @@ }, { "constant": false, - "id": 1230, + "id": 1267, "mutability": "mutable", "name": "weiValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5184:16:6", + "scope": 1311, + "src": "5184:16:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2833,10 +2833,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1229, + "id": 1266, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5184:7:6", + "src": "5184:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2847,13 +2847,13 @@ }, { "constant": false, - "id": 1232, + "id": 1269, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5202:26:6", + "scope": 1311, + "src": "5202:26:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2861,10 +2861,10 @@ "typeString": "string" }, "typeName": { - "id": 1231, + "id": 1268, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5202:6:6", + "src": "5202:6:7", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2874,21 +2874,21 @@ "visibility": "internal" } ], - "src": "5148:81:6" + "src": "5148:81:7" }, "returnParameters": { - "id": 1236, + "id": 1273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1235, + "id": 1272, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5247:12:6", + "scope": 1311, + "src": "5247:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2896,10 +2896,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1234, + "id": 1271, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5247:5:6", + "src": "5247:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2909,34 +2909,34 @@ "visibility": "internal" } ], - "src": "5246:14:6" + "src": "5246:14:7" }, - "scope": 1275, - "src": "5117:958:6", + "scope": 1312, + "src": "5117:958:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" } ], - "scope": 1276, - "src": "126:5951:6" + "scope": 1313, + "src": "126:5951:7" } ], - "src": "33:6045:6" + "src": "33:6045:7" }, "legacyAST": { "absolutePath": "@openzeppelin/contracts/utils/Address.sol", "exportedSymbols": { "Address": [ - 1275 + 1312 ] }, - "id": 1276, + "id": 1313, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1073, + "id": 1110, "literals": [ "solidity", "^", @@ -2944,7 +2944,7 @@ ".2" ], "nodeType": "PragmaDirective", - "src": "33:23:6" + "src": "33:23:7" }, { "abstract": false, @@ -2952,39 +2952,39 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 1074, + "id": 1111, "nodeType": "StructuredDocumentation", - "src": "58:67:6", + "src": "58:67:7", "text": " @dev Collection of functions related to the address type" }, "fullyImplemented": true, - "id": 1275, + "id": 1312, "linearizedBaseContracts": [ - 1275 + 1312 ], "name": "Address", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1099, + "id": 1136, "nodeType": "Block", - "src": "784:544:6", + "src": "784:544:7", "statements": [ { "assignments": [ - 1083 + 1120 ], "declarations": [ { "constant": false, - "id": 1083, + "id": 1120, "mutability": "mutable", "name": "codehash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1099, - "src": "1036:16:6", + "scope": 1136, + "src": "1036:16:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2992,10 +2992,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1082, + "id": 1119, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1036:7:6", + "src": "1036:7:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3005,25 +3005,25 @@ "visibility": "internal" } ], - "id": 1084, + "id": 1121, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "1036:16:6" + "src": "1036:16:7" }, { "assignments": [ - 1086 + 1123 ], "declarations": [ { "constant": false, - "id": 1086, + "id": 1123, "mutability": "mutable", "name": "accountHash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1099, - "src": "1062:19:6", + "scope": 1136, + "src": "1062:19:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3031,10 +3031,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1085, + "id": 1122, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1062:7:6", + "src": "1062:7:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3044,18 +3044,18 @@ "visibility": "internal" } ], - "id": 1088, + "id": 1125, "initialValue": { "argumentTypes": null, "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 1087, + "id": 1124, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1084:66:6", + "src": "1084:66:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", @@ -3064,37 +3064,37 @@ "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" }, "nodeType": "VariableDeclarationStatement", - "src": "1062:88:6" + "src": "1062:88:7" }, { "AST": { "nodeType": "YulBlock", - "src": "1225:36:6", + "src": "1225:36:7", "statements": [ { "nodeType": "YulAssignment", - "src": "1227:32:6", + "src": "1227:32:7", "value": { "arguments": [ { "name": "account", "nodeType": "YulIdentifier", - "src": "1251:7:6" + "src": "1251:7:7" } ], "functionName": { "name": "extcodehash", "nodeType": "YulIdentifier", - "src": "1239:11:6" + "src": "1239:11:7" }, "nodeType": "YulFunctionCall", - "src": "1239:20:6" + "src": "1239:20:7" }, "variableNames": [ { "name": "codehash", "nodeType": "YulIdentifier", - "src": "1227:8:6" + "src": "1227:8:7" } ] } @@ -3103,23 +3103,23 @@ "evmVersion": "istanbul", "externalReferences": [ { - "declaration": 1077, + "declaration": 1114, "isOffset": false, "isSlot": false, - "src": "1251:7:6", + "src": "1251:7:7", "valueSize": 1 }, { - "declaration": 1083, + "declaration": 1120, "isOffset": false, "isSlot": false, - "src": "1227:8:6", + "src": "1227:8:7", "valueSize": 1 } ], - "id": 1089, + "id": 1126, "nodeType": "InlineAssembly", - "src": "1216:45:6" + "src": "1216:45:7" }, { "expression": { @@ -3131,7 +3131,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1096, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": false, @@ -3142,19 +3142,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1092, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1090, + "id": 1127, "name": "codehash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "1278:8:6", + "referencedDeclaration": 1120, + "src": "1278:8:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3164,18 +3164,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1091, + "id": 1128, "name": "accountHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1086, - "src": "1290:11:6", + "referencedDeclaration": 1123, + "src": "1290:11:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "1278:23:6", + "src": "1278:23:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3189,19 +3189,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1095, + "id": 1132, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1093, + "id": 1130, "name": "codehash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "1305:8:6", + "referencedDeclaration": 1120, + "src": "1305:8:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3212,14 +3212,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "307830", - "id": 1094, + "id": 1131, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1317:3:6", + "src": "1317:3:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3227,46 +3227,46 @@ }, "value": "0x0" }, - "src": "1305:15:6", + "src": "1305:15:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1278:42:6", + "src": "1278:42:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 1097, + "id": 1134, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1277:44:6", + "src": "1277:44:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1081, - "id": 1098, + "functionReturnParameters": 1118, + "id": 1135, "nodeType": "Return", - "src": "1270:51:6" + "src": "1270:51:7" } ] }, "documentation": { - "id": 1075, + "id": 1112, "nodeType": "StructuredDocumentation", - "src": "148:565:6", + "src": "148:565:7", "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ====" }, - "id": 1100, + "id": 1137, "implemented": true, "kind": "function", "modifiers": [], @@ -3274,18 +3274,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1078, + "id": 1115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1077, + "id": 1114, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1100, - "src": "738:15:6", + "scope": 1137, + "src": "738:15:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3293,10 +3293,10 @@ "typeString": "address" }, "typeName": { - "id": 1076, + "id": 1113, "name": "address", "nodeType": "ElementaryTypeName", - "src": "738:7:6", + "src": "738:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3307,21 +3307,21 @@ "visibility": "internal" } ], - "src": "737:17:6" + "src": "737:17:7" }, "returnParameters": { - "id": 1081, + "id": 1118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1080, + "id": 1117, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1100, - "src": "778:4:6", + "scope": 1137, + "src": "778:4:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3329,10 +3329,10 @@ "typeString": "bool" }, "typeName": { - "id": 1079, + "id": 1116, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "778:4:6", + "src": "778:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3342,19 +3342,19 @@ "visibility": "internal" } ], - "src": "777:6:6" + "src": "777:6:7" }, - "scope": 1275, - "src": "718:610:6", + "scope": 1312, + "src": "718:610:7", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1133, + "id": 1170, "nodeType": "Block", - "src": "2316:320:6", + "src": "2316:320:7", "statements": [ { "expression": { @@ -3366,7 +3366,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1115, + "id": 1152, "isConstant": false, "isLValue": false, "isPure": false, @@ -3378,14 +3378,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1111, + "id": 1148, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "2342:4:6", + "src": "2342:4:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } } @@ -3393,33 +3393,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } ], - "id": 1110, + "id": 1147, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2334:7:6", + "src": "2334:7:7", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1109, + "id": 1146, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2334:7:6", + "src": "2334:7:7", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 1112, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": false, @@ -3427,14 +3427,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2334:13:6", + "src": "2334:13:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1113, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -3442,7 +3442,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2334:21:6", + "src": "2334:21:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3452,18 +3452,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1114, + "id": 1151, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "2359:6:6", + "referencedDeclaration": 1142, + "src": "2359:6:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2334:31:6", + "src": "2334:31:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3472,14 +3472,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 1116, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2367:31:6", + "src": "2367:31:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", @@ -3499,7 +3499,7 @@ "typeString": "literal_string \"Address: insufficient balance\"" } ], - "id": 1108, + "id": 1145, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3507,13 +3507,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2326:7:6", + "src": "2326:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1117, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, @@ -3521,32 +3521,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2326:73:6", + "src": "2326:73:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1118, + "id": 1155, "nodeType": "ExpressionStatement", - "src": "2326:73:6" + "src": "2326:73:7" }, { "assignments": [ - 1120, + 1157, null ], "declarations": [ { "constant": false, - "id": 1120, + "id": 1157, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1133, - "src": "2488:12:6", + "scope": 1170, + "src": "2488:12:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3554,10 +3554,10 @@ "typeString": "bool" }, "typeName": { - "id": 1119, + "id": 1156, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2488:4:6", + "src": "2488:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3568,21 +3568,21 @@ }, null ], - "id": 1127, + "id": 1164, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "", - "id": 1125, + "id": 1162, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2538:2:6", + "src": "2538:2:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", @@ -3607,18 +3607,18 @@ ], "expression": { "argumentTypes": null, - "id": 1121, + "id": 1158, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1103, - "src": "2506:9:6", + "referencedDeclaration": 1140, + "src": "2506:9:7", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 1122, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, @@ -3626,13 +3626,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2506:14:6", + "src": "2506:14:7", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 1124, + "id": 1161, "isConstant": false, "isLValue": false, "isPure": false, @@ -3644,25 +3644,25 @@ "options": [ { "argumentTypes": null, - "id": 1123, + "id": 1160, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1105, - "src": "2529:6:6", + "referencedDeclaration": 1142, + "src": "2529:6:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "src": "2506:31:6", + "src": "2506:31:7", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 1126, + "id": 1163, "isConstant": false, "isLValue": false, "isPure": false, @@ -3670,7 +3670,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2506:35:6", + "src": "2506:35:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -3678,7 +3678,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2487:54:6" + "src": "2487:54:7" }, { "expression": { @@ -3686,12 +3686,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1129, + "id": 1166, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "2559:7:6", + "referencedDeclaration": 1157, + "src": "2559:7:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3700,14 +3700,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 1130, + "id": 1167, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2568:60:6", + "src": "2568:60:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", @@ -3727,7 +3727,7 @@ "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" } ], - "id": 1128, + "id": 1165, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3735,13 +3735,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2551:7:6", + "src": "2551:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1131, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": false, @@ -3749,26 +3749,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2551:78:6", + "src": "2551:78:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1132, + "id": 1169, "nodeType": "ExpressionStatement", - "src": "2551:78:6" + "src": "2551:78:7" } ] }, "documentation": { - "id": 1101, + "id": 1138, "nodeType": "StructuredDocumentation", - "src": "1334:906:6", + "src": "1334:906:7", "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." }, - "id": 1134, + "id": 1171, "implemented": true, "kind": "function", "modifiers": [], @@ -3776,18 +3776,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1106, + "id": 1143, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1103, + "id": 1140, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1134, - "src": "2264:25:6", + "scope": 1171, + "src": "2264:25:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3795,10 +3795,10 @@ "typeString": "address payable" }, "typeName": { - "id": 1102, + "id": 1139, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2264:15:6", + "src": "2264:15:7", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3810,13 +3810,13 @@ }, { "constant": false, - "id": 1105, + "id": 1142, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1134, - "src": "2291:14:6", + "scope": 1171, + "src": "2291:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3824,10 +3824,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1104, + "id": 1141, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2291:7:6", + "src": "2291:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3837,25 +3837,25 @@ "visibility": "internal" } ], - "src": "2263:43:6" + "src": "2263:43:7" }, "returnParameters": { - "id": 1107, + "id": 1144, "nodeType": "ParameterList", "parameters": [], - "src": "2316:0:6" + "src": "2316:0:7" }, - "scope": 1275, - "src": "2245:391:6", + "scope": 1312, + "src": "2245:391:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1150, + "id": 1187, "nodeType": "Block", - "src": "3466:82:6", + "src": "3466:82:7", "statements": [ { "expression": { @@ -3863,12 +3863,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1145, + "id": 1182, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "3494:6:6", + "referencedDeclaration": 1174, + "src": "3494:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3876,12 +3876,12 @@ }, { "argumentTypes": null, - "id": 1146, + "id": 1183, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1139, - "src": "3502:4:6", + "referencedDeclaration": 1176, + "src": "3502:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -3890,14 +3890,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 1147, + "id": 1184, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3508:32:6", + "src": "3508:32:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", @@ -3921,21 +3921,21 @@ "typeString": "literal_string \"Address: low-level call failed\"" } ], - "id": 1144, + "id": 1181, "name": "functionCall", "nodeType": "Identifier", "overloadedDeclarations": [ - 1151, - 1171 + 1188, + 1208 ], - "referencedDeclaration": 1171, - "src": "3481:12:6", + "referencedDeclaration": 1208, + "src": "3481:12:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" } }, - "id": 1148, + "id": 1185, "isConstant": false, "isLValue": false, "isPure": false, @@ -3943,27 +3943,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3481:60:6", + "src": "3481:60:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1143, - "id": 1149, + "functionReturnParameters": 1180, + "id": 1186, "nodeType": "Return", - "src": "3474:67:6" + "src": "3474:67:7" } ] }, "documentation": { - "id": 1135, + "id": 1172, "nodeType": "StructuredDocumentation", - "src": "2642:730:6", + "src": "2642:730:7", "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain`call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" }, - "id": 1151, + "id": 1188, "implemented": true, "kind": "function", "modifiers": [], @@ -3971,18 +3971,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1140, + "id": 1177, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1137, + "id": 1174, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1151, - "src": "3399:14:6", + "scope": 1188, + "src": "3399:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3990,10 +3990,10 @@ "typeString": "address" }, "typeName": { - "id": 1136, + "id": 1173, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3399:7:6", + "src": "3399:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4005,13 +4005,13 @@ }, { "constant": false, - "id": 1139, + "id": 1176, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1151, - "src": "3415:17:6", + "scope": 1188, + "src": "3415:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4019,10 +4019,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1138, + "id": 1175, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3415:5:6", + "src": "3415:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4032,21 +4032,21 @@ "visibility": "internal" } ], - "src": "3398:35:6" + "src": "3398:35:7" }, "returnParameters": { - "id": 1143, + "id": 1180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1142, + "id": 1179, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1151, - "src": "3452:12:6", + "scope": 1188, + "src": "3452:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4054,10 +4054,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1141, + "id": 1178, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3452:5:6", + "src": "3452:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4067,19 +4067,19 @@ "visibility": "internal" } ], - "src": "3451:14:6" + "src": "3451:14:7" }, - "scope": 1275, - "src": "3377:171:6", + "scope": 1312, + "src": "3377:171:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1170, + "id": 1207, "nodeType": "Block", - "src": "3887:77:6", + "src": "3887:77:7", "statements": [ { "expression": { @@ -4087,12 +4087,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1164, + "id": 1201, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "3927:6:6", + "referencedDeclaration": 1191, + "src": "3927:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4100,12 +4100,12 @@ }, { "argumentTypes": null, - "id": 1165, + "id": 1202, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, - "src": "3935:4:6", + "referencedDeclaration": 1193, + "src": "3935:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -4114,14 +4114,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1166, + "id": 1203, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3941:1:6", + "src": "3941:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4131,12 +4131,12 @@ }, { "argumentTypes": null, - "id": 1167, + "id": 1204, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1158, - "src": "3944:12:6", + "referencedDeclaration": 1195, + "src": "3944:12:7", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4162,18 +4162,18 @@ "typeString": "string memory" } ], - "id": 1163, + "id": 1200, "name": "_functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "3904:22:6", + "referencedDeclaration": 1311, + "src": "3904:22:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" } }, - "id": 1168, + "id": 1205, "isConstant": false, "isLValue": false, "isPure": false, @@ -4181,27 +4181,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3904:53:6", + "src": "3904:53:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1162, - "id": 1169, + "functionReturnParameters": 1199, + "id": 1206, "nodeType": "Return", - "src": "3897:60:6" + "src": "3897:60:7" } ] }, "documentation": { - "id": 1152, + "id": 1189, "nodeType": "StructuredDocumentation", - "src": "3554:211:6", + "src": "3554:211:7", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" }, - "id": 1171, + "id": 1208, "implemented": true, "kind": "function", "modifiers": [], @@ -4209,18 +4209,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1159, + "id": 1196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1154, + "id": 1191, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1171, - "src": "3792:14:6", + "scope": 1208, + "src": "3792:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4228,10 +4228,10 @@ "typeString": "address" }, "typeName": { - "id": 1153, + "id": 1190, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3792:7:6", + "src": "3792:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4243,13 +4243,13 @@ }, { "constant": false, - "id": 1156, + "id": 1193, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1171, - "src": "3808:17:6", + "scope": 1208, + "src": "3808:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4257,10 +4257,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1155, + "id": 1192, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3808:5:6", + "src": "3808:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4271,13 +4271,13 @@ }, { "constant": false, - "id": 1158, + "id": 1195, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1171, - "src": "3827:26:6", + "scope": 1208, + "src": "3827:26:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4285,10 +4285,10 @@ "typeString": "string" }, "typeName": { - "id": 1157, + "id": 1194, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3827:6:6", + "src": "3827:6:7", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4298,21 +4298,21 @@ "visibility": "internal" } ], - "src": "3791:63:6" + "src": "3791:63:7" }, "returnParameters": { - "id": 1162, + "id": 1199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1161, + "id": 1198, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1171, - "src": "3873:12:6", + "scope": 1208, + "src": "3873:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4320,10 +4320,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1160, + "id": 1197, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3873:5:6", + "src": "3873:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4333,19 +4333,19 @@ "visibility": "internal" } ], - "src": "3872:14:6" + "src": "3872:14:7" }, - "scope": 1275, - "src": "3770:194:6", + "scope": 1312, + "src": "3770:194:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1190, + "id": 1227, "nodeType": "Block", - "src": "4439:111:6", + "src": "4439:111:7", "statements": [ { "expression": { @@ -4353,12 +4353,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1184, + "id": 1221, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1174, - "src": "4478:6:6", + "referencedDeclaration": 1211, + "src": "4478:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4366,12 +4366,12 @@ }, { "argumentTypes": null, - "id": 1185, + "id": 1222, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1176, - "src": "4486:4:6", + "referencedDeclaration": 1213, + "src": "4486:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -4379,12 +4379,12 @@ }, { "argumentTypes": null, - "id": 1186, + "id": 1223, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1178, - "src": "4492:5:6", + "referencedDeclaration": 1215, + "src": "4492:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4393,14 +4393,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 1187, + "id": 1224, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4499:43:6", + "src": "4499:43:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", @@ -4428,21 +4428,21 @@ "typeString": "literal_string \"Address: low-level call with value failed\"" } ], - "id": 1183, + "id": 1220, "name": "functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [ - 1191, - 1224 + 1228, + 1261 ], - "referencedDeclaration": 1224, - "src": "4456:21:6", + "referencedDeclaration": 1261, + "src": "4456:21:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" } }, - "id": 1188, + "id": 1225, "isConstant": false, "isLValue": false, "isPure": false, @@ -4450,27 +4450,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4456:87:6", + "src": "4456:87:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1182, - "id": 1189, + "functionReturnParameters": 1219, + "id": 1226, "nodeType": "Return", - "src": "4449:94:6" + "src": "4449:94:7" } ] }, "documentation": { - "id": 1172, + "id": 1209, "nodeType": "StructuredDocumentation", - "src": "3970:351:6", + "src": "3970:351:7", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" }, - "id": 1191, + "id": 1228, "implemented": true, "kind": "function", "modifiers": [], @@ -4478,18 +4478,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1179, + "id": 1216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1174, + "id": 1211, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1191, - "src": "4357:14:6", + "scope": 1228, + "src": "4357:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4497,10 +4497,10 @@ "typeString": "address" }, "typeName": { - "id": 1173, + "id": 1210, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4357:7:6", + "src": "4357:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4512,13 +4512,13 @@ }, { "constant": false, - "id": 1176, + "id": 1213, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1191, - "src": "4373:17:6", + "scope": 1228, + "src": "4373:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4526,10 +4526,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1175, + "id": 1212, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4373:5:6", + "src": "4373:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4540,13 +4540,13 @@ }, { "constant": false, - "id": 1178, + "id": 1215, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1191, - "src": "4392:13:6", + "scope": 1228, + "src": "4392:13:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4554,10 +4554,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1177, + "id": 1214, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4392:7:6", + "src": "4392:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4567,21 +4567,21 @@ "visibility": "internal" } ], - "src": "4356:50:6" + "src": "4356:50:7" }, "returnParameters": { - "id": 1182, + "id": 1219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1181, + "id": 1218, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1191, - "src": "4425:12:6", + "scope": 1228, + "src": "4425:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4589,10 +4589,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1180, + "id": 1217, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4425:5:6", + "src": "4425:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4602,19 +4602,19 @@ "visibility": "internal" } ], - "src": "4424:14:6" + "src": "4424:14:7" }, - "scope": 1275, - "src": "4326:224:6", + "scope": 1312, + "src": "4326:224:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1223, + "id": 1260, "nodeType": "Block", - "src": "4939:172:6", + "src": "4939:172:7", "statements": [ { "expression": { @@ -4626,7 +4626,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1212, + "id": 1249, "isConstant": false, "isLValue": false, "isPure": false, @@ -4638,14 +4638,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1208, + "id": 1245, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "4965:4:6", + "src": "4965:4:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } } @@ -4653,33 +4653,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } ], - "id": 1207, + "id": 1244, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4957:7:6", + "src": "4957:7:7", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1206, + "id": 1243, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4957:7:6", + "src": "4957:7:7", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 1209, + "id": 1246, "isConstant": false, "isLValue": false, "isPure": false, @@ -4687,14 +4687,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4957:13:6", + "src": "4957:13:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1210, + "id": 1247, "isConstant": false, "isLValue": false, "isPure": false, @@ -4702,7 +4702,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4957:21:6", + "src": "4957:21:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4712,18 +4712,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1211, + "id": 1248, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1198, - "src": "4982:5:6", + "referencedDeclaration": 1235, + "src": "4982:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4957:30:6", + "src": "4957:30:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4732,14 +4732,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 1213, + "id": 1250, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4989:40:6", + "src": "4989:40:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", @@ -4759,7 +4759,7 @@ "typeString": "literal_string \"Address: insufficient balance for call\"" } ], - "id": 1205, + "id": 1242, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4767,13 +4767,13 @@ -18 ], "referencedDeclaration": -18, - "src": "4949:7:6", + "src": "4949:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1214, + "id": 1251, "isConstant": false, "isLValue": false, "isPure": false, @@ -4781,16 +4781,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4949:81:6", + "src": "4949:81:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1215, + "id": 1252, "nodeType": "ExpressionStatement", - "src": "4949:81:6" + "src": "4949:81:7" }, { "expression": { @@ -4798,12 +4798,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1217, + "id": 1254, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1194, - "src": "5070:6:6", + "referencedDeclaration": 1231, + "src": "5070:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4811,12 +4811,12 @@ }, { "argumentTypes": null, - "id": 1218, + "id": 1255, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1196, - "src": "5078:4:6", + "referencedDeclaration": 1233, + "src": "5078:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -4824,12 +4824,12 @@ }, { "argumentTypes": null, - "id": 1219, + "id": 1256, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1198, - "src": "5084:5:6", + "referencedDeclaration": 1235, + "src": "5084:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4837,12 +4837,12 @@ }, { "argumentTypes": null, - "id": 1220, + "id": 1257, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1200, - "src": "5091:12:6", + "referencedDeclaration": 1237, + "src": "5091:12:7", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4868,18 +4868,18 @@ "typeString": "string memory" } ], - "id": 1216, + "id": 1253, "name": "_functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "5047:22:6", + "referencedDeclaration": 1311, + "src": "5047:22:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" } }, - "id": 1221, + "id": 1258, "isConstant": false, "isLValue": false, "isPure": false, @@ -4887,27 +4887,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5047:57:6", + "src": "5047:57:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1204, - "id": 1222, + "functionReturnParameters": 1241, + "id": 1259, "nodeType": "Return", - "src": "5040:64:6" + "src": "5040:64:7" } ] }, "documentation": { - "id": 1192, + "id": 1229, "nodeType": "StructuredDocumentation", - "src": "4556:237:6", + "src": "4556:237:7", "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" }, - "id": 1224, + "id": 1261, "implemented": true, "kind": "function", "modifiers": [], @@ -4915,18 +4915,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1201, + "id": 1238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1194, + "id": 1231, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4829:14:6", + "scope": 1261, + "src": "4829:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4934,10 +4934,10 @@ "typeString": "address" }, "typeName": { - "id": 1193, + "id": 1230, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4829:7:6", + "src": "4829:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4949,13 +4949,13 @@ }, { "constant": false, - "id": 1196, + "id": 1233, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4845:17:6", + "scope": 1261, + "src": "4845:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4963,10 +4963,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1195, + "id": 1232, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4845:5:6", + "src": "4845:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4977,13 +4977,13 @@ }, { "constant": false, - "id": 1198, + "id": 1235, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4864:13:6", + "scope": 1261, + "src": "4864:13:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4991,10 +4991,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1197, + "id": 1234, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4864:7:6", + "src": "4864:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5005,13 +5005,13 @@ }, { "constant": false, - "id": 1200, + "id": 1237, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4879:26:6", + "scope": 1261, + "src": "4879:26:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5019,10 +5019,10 @@ "typeString": "string" }, "typeName": { - "id": 1199, + "id": 1236, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4879:6:6", + "src": "4879:6:7", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5032,21 +5032,21 @@ "visibility": "internal" } ], - "src": "4828:78:6" + "src": "4828:78:7" }, "returnParameters": { - "id": 1204, + "id": 1241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1203, + "id": 1240, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1224, - "src": "4925:12:6", + "scope": 1261, + "src": "4925:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5054,10 +5054,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1202, + "id": 1239, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4925:5:6", + "src": "4925:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5067,19 +5067,19 @@ "visibility": "internal" } ], - "src": "4924:14:6" + "src": "4924:14:7" }, - "scope": 1275, - "src": "4798:313:6", + "scope": 1312, + "src": "4798:313:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1273, + "id": 1310, "nodeType": "Block", - "src": "5261:814:6", + "src": "5261:814:7", "statements": [ { "expression": { @@ -5090,12 +5090,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1239, + "id": 1276, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1226, - "src": "5290:6:6", + "referencedDeclaration": 1263, + "src": "5290:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5109,18 +5109,18 @@ "typeString": "address" } ], - "id": 1238, + "id": 1275, "name": "isContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "5279:10:6", + "referencedDeclaration": 1137, + "src": "5279:10:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 1240, + "id": 1277, "isConstant": false, "isLValue": false, "isPure": false, @@ -5128,7 +5128,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5279:18:6", + "src": "5279:18:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5138,14 +5138,14 @@ { "argumentTypes": null, "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 1241, + "id": 1278, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5299:31:6", + "src": "5299:31:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", @@ -5165,7 +5165,7 @@ "typeString": "literal_string \"Address: call to non-contract\"" } ], - "id": 1237, + "id": 1274, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5173,13 +5173,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5271:7:6", + "src": "5271:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1242, + "id": 1279, "isConstant": false, "isLValue": false, "isPure": false, @@ -5187,32 +5187,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5271:60:6", + "src": "5271:60:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1243, + "id": 1280, "nodeType": "ExpressionStatement", - "src": "5271:60:6" + "src": "5271:60:7" }, { "assignments": [ - 1245, - 1247 + 1282, + 1284 ], "declarations": [ { "constant": false, - "id": 1245, + "id": 1282, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1273, - "src": "5402:12:6", + "scope": 1310, + "src": "5402:12:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5220,10 +5220,10 @@ "typeString": "bool" }, "typeName": { - "id": 1244, + "id": 1281, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5402:4:6", + "src": "5402:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5234,13 +5234,13 @@ }, { "constant": false, - "id": 1247, + "id": 1284, "mutability": "mutable", "name": "returndata", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1273, - "src": "5416:23:6", + "scope": 1310, + "src": "5416:23:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5248,10 +5248,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1246, + "id": 1283, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5416:5:6", + "src": "5416:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5261,18 +5261,18 @@ "visibility": "internal" } ], - "id": 1254, + "id": 1291, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1252, + "id": 1289, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1228, - "src": "5474:4:6", + "referencedDeclaration": 1265, + "src": "5474:4:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -5295,18 +5295,18 @@ ], "expression": { "argumentTypes": null, - "id": 1248, + "id": 1285, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1226, - "src": "5443:6:6", + "referencedDeclaration": 1263, + "src": "5443:6:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1249, + "id": 1286, "isConstant": false, "isLValue": false, "isPure": false, @@ -5314,13 +5314,13 @@ "memberName": "call", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5443:11:6", + "src": "5443:11:7", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 1251, + "id": 1288, "isConstant": false, "isLValue": false, "isPure": false, @@ -5332,25 +5332,25 @@ "options": [ { "argumentTypes": null, - "id": 1250, + "id": 1287, "name": "weiValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "5463:8:6", + "referencedDeclaration": 1267, + "src": "5463:8:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "src": "5443:30:6", + "src": "5443:30:7", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 1253, + "id": 1290, "isConstant": false, "isLValue": false, "isPure": false, @@ -5358,7 +5358,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5443:36:6", + "src": "5443:36:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -5366,26 +5366,26 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5401:78:6" + "src": "5401:78:7" }, { "condition": { "argumentTypes": null, - "id": 1255, + "id": 1292, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, - "src": "5493:7:6", + "referencedDeclaration": 1282, + "src": "5493:7:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 1271, + "id": 1308, "nodeType": "Block", - "src": "5550:519:6", + "src": "5550:519:7", "statements": [ { "condition": { @@ -5394,7 +5394,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1262, + "id": 1299, "isConstant": false, "isLValue": false, "isPure": false, @@ -5403,18 +5403,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1259, + "id": 1296, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "5634:10:6", + "referencedDeclaration": 1284, + "src": "5634:10:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1260, + "id": 1297, "isConstant": false, "isLValue": false, "isPure": false, @@ -5422,7 +5422,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5634:17:6", + "src": "5634:17:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5433,14 +5433,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1261, + "id": 1298, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5654:1:6", + "src": "5654:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5448,16 +5448,16 @@ }, "value": "0" }, - "src": "5634:21:6", + "src": "5634:21:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 1269, + "id": 1306, "nodeType": "Block", - "src": "6006:53:6", + "src": "6006:53:7", "statements": [ { "expression": { @@ -5465,12 +5465,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1266, + "id": 1303, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "6031:12:6", + "referencedDeclaration": 1269, + "src": "6031:12:7", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5484,7 +5484,7 @@ "typeString": "string memory" } ], - "id": 1265, + "id": 1302, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5492,13 +5492,13 @@ -19 ], "referencedDeclaration": -19, - "src": "6024:6:6", + "src": "6024:6:7", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 1267, + "id": 1304, "isConstant": false, "isLValue": false, "isPure": false, @@ -5506,56 +5506,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6024:20:6", + "src": "6024:20:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1268, + "id": 1305, "nodeType": "ExpressionStatement", - "src": "6024:20:6" + "src": "6024:20:7" } ] }, - "id": 1270, + "id": 1307, "nodeType": "IfStatement", - "src": "5630:429:6", + "src": "5630:429:7", "trueBody": { - "id": 1264, + "id": 1301, "nodeType": "Block", - "src": "5657:343:6", + "src": "5657:343:7", "statements": [ { "AST": { "nodeType": "YulBlock", - "src": "5841:145:6", + "src": "5841:145:7", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5863:40:6", + "src": "5863:40:7", "value": { "arguments": [ { "name": "returndata", "nodeType": "YulIdentifier", - "src": "5892:10:6" + "src": "5892:10:7" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "5886:5:6" + "src": "5886:5:7" }, "nodeType": "YulFunctionCall", - "src": "5886:17:6" + "src": "5886:17:7" }, "variables": [ { "name": "returndata_size", "nodeType": "YulTypedName", - "src": "5867:15:6", + "src": "5867:15:7", "type": "" } ] @@ -5568,95 +5568,95 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "5935:2:6", + "src": "5935:2:7", "type": "", "value": "32" }, { "name": "returndata", "nodeType": "YulIdentifier", - "src": "5939:10:6" + "src": "5939:10:7" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5931:3:6" + "src": "5931:3:7" }, "nodeType": "YulFunctionCall", - "src": "5931:19:6" + "src": "5931:19:7" }, { "name": "returndata_size", "nodeType": "YulIdentifier", - "src": "5952:15:6" + "src": "5952:15:7" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "5924:6:6" + "src": "5924:6:7" }, "nodeType": "YulFunctionCall", - "src": "5924:44:6" + "src": "5924:44:7" }, "nodeType": "YulExpressionStatement", - "src": "5924:44:6" + "src": "5924:44:7" } ] }, "evmVersion": "istanbul", "externalReferences": [ { - "declaration": 1247, + "declaration": 1284, "isOffset": false, "isSlot": false, - "src": "5892:10:6", + "src": "5892:10:7", "valueSize": 1 }, { - "declaration": 1247, + "declaration": 1284, "isOffset": false, "isSlot": false, - "src": "5939:10:6", + "src": "5939:10:7", "valueSize": 1 } ], - "id": 1263, + "id": 1300, "nodeType": "InlineAssembly", - "src": "5832:154:6" + "src": "5832:154:7" } ] } } ] }, - "id": 1272, + "id": 1309, "nodeType": "IfStatement", - "src": "5489:580:6", + "src": "5489:580:7", "trueBody": { - "id": 1258, + "id": 1295, "nodeType": "Block", - "src": "5502:42:6", + "src": "5502:42:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1256, + "id": 1293, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "5523:10:6", + "referencedDeclaration": 1284, + "src": "5523:10:7", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 1236, - "id": 1257, + "functionReturnParameters": 1273, + "id": 1294, "nodeType": "Return", - "src": "5516:17:6" + "src": "5516:17:7" } ] } @@ -5664,7 +5664,7 @@ ] }, "documentation": null, - "id": 1274, + "id": 1311, "implemented": true, "kind": "function", "modifiers": [], @@ -5672,18 +5672,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1233, + "id": 1270, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1226, + "id": 1263, "mutability": "mutable", "name": "target", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5149:14:6", + "scope": 1311, + "src": "5149:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5691,10 +5691,10 @@ "typeString": "address" }, "typeName": { - "id": 1225, + "id": 1262, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5149:7:6", + "src": "5149:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5706,13 +5706,13 @@ }, { "constant": false, - "id": 1228, + "id": 1265, "mutability": "mutable", "name": "data", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5165:17:6", + "scope": 1311, + "src": "5165:17:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5720,10 +5720,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1227, + "id": 1264, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5165:5:6", + "src": "5165:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5734,13 +5734,13 @@ }, { "constant": false, - "id": 1230, + "id": 1267, "mutability": "mutable", "name": "weiValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5184:16:6", + "scope": 1311, + "src": "5184:16:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5748,10 +5748,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1229, + "id": 1266, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5184:7:6", + "src": "5184:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5762,13 +5762,13 @@ }, { "constant": false, - "id": 1232, + "id": 1269, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5202:26:6", + "scope": 1311, + "src": "5202:26:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5776,10 +5776,10 @@ "typeString": "string" }, "typeName": { - "id": 1231, + "id": 1268, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5202:6:6", + "src": "5202:6:7", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5789,21 +5789,21 @@ "visibility": "internal" } ], - "src": "5148:81:6" + "src": "5148:81:7" }, "returnParameters": { - "id": 1236, + "id": 1273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1235, + "id": 1272, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1274, - "src": "5247:12:6", + "scope": 1311, + "src": "5247:12:7", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5811,10 +5811,10 @@ "typeString": "bytes" }, "typeName": { - "id": 1234, + "id": 1271, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5247:5:6", + "src": "5247:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -5824,20 +5824,20 @@ "visibility": "internal" } ], - "src": "5246:14:6" + "src": "5246:14:7" }, - "scope": 1275, - "src": "5117:958:6", + "scope": 1312, + "src": "5117:958:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" } ], - "scope": 1276, - "src": "126:5951:6" + "scope": 1313, + "src": "126:5951:7" } ], - "src": "33:6045:6" + "src": "33:6045:7" }, "compiler": { "name": "solc", @@ -5845,7 +5845,7 @@ }, "networks": {}, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-18T06:25:03.669Z", + "updatedAt": "2020-09-20T09:59:34.430Z", "devdoc": { "details": "Collection of functions related to the address type", "kind": "dev", diff --git a/build/contracts/Context.json b/build/contracts/Context.json index a8c7dc6..9a8e512 100644 --- a/build/contracts/Context.json +++ b/build/contracts/Context.json @@ -13,15 +13,15 @@ "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "exportedSymbols": { "Context": [ - 290 + 327 ] }, - "id": 291, + "id": 328, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 269, + "id": 306, "literals": [ "solidity", "^", @@ -29,7 +29,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:2" + "src": "33:23:3" }, { "abstract": true, @@ -38,36 +38,36 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 290, + "id": 327, "linearizedBaseContracts": [ - 290 + 327 ], "name": "Context", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 277, + "id": 314, "nodeType": "Block", - "src": "660:34:2", + "src": "660:34:3", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 274, + "id": 311, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "677:3:2", + "src": "677:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 275, + "id": 312, "isConstant": false, "isLValue": false, "isPure": false, @@ -75,21 +75,21 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "677:10:2", + "src": "677:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "functionReturnParameters": 273, - "id": 276, + "functionReturnParameters": 310, + "id": 313, "nodeType": "Return", - "src": "670:17:2" + "src": "670:17:3" } ] }, "documentation": null, - "id": 278, + "id": 315, "implemented": true, "kind": "function", "modifiers": [], @@ -97,24 +97,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 270, + "id": 307, "nodeType": "ParameterList", "parameters": [], - "src": "609:2:2" + "src": "609:2:3" }, "returnParameters": { - "id": 273, + "id": 310, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 272, + "id": 309, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 278, - "src": "643:15:2", + "scope": 315, + "src": "643:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -122,10 +122,10 @@ "typeString": "address payable" }, "typeName": { - "id": 271, + "id": 308, "name": "address", "nodeType": "ElementaryTypeName", - "src": "643:15:2", + "src": "643:15:3", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -136,55 +136,55 @@ "visibility": "internal" } ], - "src": "642:17:2" + "src": "642:17:3" }, - "scope": 290, - "src": "590:104:2", + "scope": 327, + "src": "590:104:3", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 288, + "id": 325, "nodeType": "Block", - "src": "765:165:2", + "src": "765:165:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 283, + "id": 320, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "775:4:2", + "src": "775:4:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$290", + "typeIdentifier": "t_contract$_Context_$327", "typeString": "contract Context" } }, - "id": 284, + "id": 321, "nodeType": "ExpressionStatement", - "src": "775:4:2" + "src": "775:4:3" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 285, + "id": 322, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "915:3:2", + "src": "915:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 286, + "id": 323, "isConstant": false, "isLValue": false, "isPure": false, @@ -192,21 +192,21 @@ "memberName": "data", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "915:8:2", + "src": "915:8:3", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, - "functionReturnParameters": 282, - "id": 287, + "functionReturnParameters": 319, + "id": 324, "nodeType": "Return", - "src": "908:15:2" + "src": "908:15:3" } ] }, "documentation": null, - "id": 289, + "id": 326, "implemented": true, "kind": "function", "modifiers": [], @@ -214,24 +214,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 279, + "id": 316, "nodeType": "ParameterList", "parameters": [], - "src": "717:2:2" + "src": "717:2:3" }, "returnParameters": { - "id": 282, + "id": 319, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 281, + "id": 318, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 289, - "src": "751:12:2", + "scope": 326, + "src": "751:12:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -239,10 +239,10 @@ "typeString": "bytes" }, "typeName": { - "id": 280, + "id": 317, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "751:5:2", + "src": "751:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -252,34 +252,34 @@ "visibility": "internal" } ], - "src": "750:14:2" + "src": "750:14:3" }, - "scope": 290, - "src": "700:230:2", + "scope": 327, + "src": "700:230:3", "stateMutability": "view", "virtual": true, "visibility": "internal" } ], - "scope": 291, - "src": "558:374:2" + "scope": 328, + "src": "558:374:3" } ], - "src": "33:900:2" + "src": "33:900:3" }, "legacyAST": { "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "exportedSymbols": { "Context": [ - 290 + 327 ] }, - "id": 291, + "id": 328, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 269, + "id": 306, "literals": [ "solidity", "^", @@ -287,7 +287,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:2" + "src": "33:23:3" }, { "abstract": true, @@ -296,36 +296,36 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 290, + "id": 327, "linearizedBaseContracts": [ - 290 + 327 ], "name": "Context", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 277, + "id": 314, "nodeType": "Block", - "src": "660:34:2", + "src": "660:34:3", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 274, + "id": 311, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "677:3:2", + "src": "677:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 275, + "id": 312, "isConstant": false, "isLValue": false, "isPure": false, @@ -333,21 +333,21 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "677:10:2", + "src": "677:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "functionReturnParameters": 273, - "id": 276, + "functionReturnParameters": 310, + "id": 313, "nodeType": "Return", - "src": "670:17:2" + "src": "670:17:3" } ] }, "documentation": null, - "id": 278, + "id": 315, "implemented": true, "kind": "function", "modifiers": [], @@ -355,24 +355,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 270, + "id": 307, "nodeType": "ParameterList", "parameters": [], - "src": "609:2:2" + "src": "609:2:3" }, "returnParameters": { - "id": 273, + "id": 310, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 272, + "id": 309, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 278, - "src": "643:15:2", + "scope": 315, + "src": "643:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -380,10 +380,10 @@ "typeString": "address payable" }, "typeName": { - "id": 271, + "id": 308, "name": "address", "nodeType": "ElementaryTypeName", - "src": "643:15:2", + "src": "643:15:3", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -394,55 +394,55 @@ "visibility": "internal" } ], - "src": "642:17:2" + "src": "642:17:3" }, - "scope": 290, - "src": "590:104:2", + "scope": 327, + "src": "590:104:3", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 288, + "id": 325, "nodeType": "Block", - "src": "765:165:2", + "src": "765:165:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 283, + "id": 320, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "775:4:2", + "src": "775:4:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$290", + "typeIdentifier": "t_contract$_Context_$327", "typeString": "contract Context" } }, - "id": 284, + "id": 321, "nodeType": "ExpressionStatement", - "src": "775:4:2" + "src": "775:4:3" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 285, + "id": 322, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "915:3:2", + "src": "915:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 286, + "id": 323, "isConstant": false, "isLValue": false, "isPure": false, @@ -450,21 +450,21 @@ "memberName": "data", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "915:8:2", + "src": "915:8:3", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, - "functionReturnParameters": 282, - "id": 287, + "functionReturnParameters": 319, + "id": 324, "nodeType": "Return", - "src": "908:15:2" + "src": "908:15:3" } ] }, "documentation": null, - "id": 289, + "id": 326, "implemented": true, "kind": "function", "modifiers": [], @@ -472,24 +472,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 279, + "id": 316, "nodeType": "ParameterList", "parameters": [], - "src": "717:2:2" + "src": "717:2:3" }, "returnParameters": { - "id": 282, + "id": 319, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 281, + "id": 318, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 289, - "src": "751:12:2", + "scope": 326, + "src": "751:12:3", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -497,10 +497,10 @@ "typeString": "bytes" }, "typeName": { - "id": 280, + "id": 317, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "751:5:2", + "src": "751:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -510,20 +510,20 @@ "visibility": "internal" } ], - "src": "750:14:2" + "src": "750:14:3" }, - "scope": 290, - "src": "700:230:2", + "scope": 327, + "src": "700:230:3", "stateMutability": "view", "virtual": true, "visibility": "internal" } ], - "scope": 291, - "src": "558:374:2" + "scope": 328, + "src": "558:374:3" } ], - "src": "33:900:2" + "src": "33:900:3" }, "compiler": { "name": "solc", @@ -531,7 +531,7 @@ }, "networks": {}, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-18T06:25:03.661Z", + "updatedAt": "2020-09-20T09:59:34.414Z", "devdoc": { "kind": "dev", "methods": {}, diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json index 50ddfcb..00dbfc9 100644 --- a/build/contracts/ERC20.json +++ b/build/contracts/ERC20.json @@ -292,23 +292,23 @@ "bytecode": "0x60806040523480156200001157600080fd5b50604051620013a5380380620013a5833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b506040525050508160039080519060200190620001cd9291906200020b565b508060049080519060200190620001e69291906200020b565b506012600560006101000a81548160ff021916908360ff1602179055505050620002b1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024e57805160ff19168380011785556200027f565b828001600101855582156200027f579182015b828111156200027e57825182559160200191906001019062000261565b5b5090506200028e919062000292565b5090565b5b80821115620002ad57600081600090555060010162000293565b5090565b6110e480620002c16000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025857806370a08231146102bc57806395d89b4114610314578063a457c2d714610397578063a9059cbb146103fb578063dd62ed3e1461045f576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019557806323b872dd146101b3578063313ce56714610237575b600080fd5b6100b66104d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610579565b60405180821515815260200191505060405180910390f35b61019d610597565b6040518082815260200191505060405180910390f35b61021f600480360360608110156101c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105a1565b60405180821515815260200191505060405180910390f35b61023f61067a565b604051808260ff16815260200191505060405180910390f35b6102a46004803603604081101561026e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610691565b60405180821515815260200191505060405180910390f35b6102fe600480360360208110156102d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610744565b6040518082815260200191505060405180910390f35b61031c61078c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035c578082015181840152602081019050610341565b50505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103e3600480360360408110156103ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061082e565b60405180821515815260200191505060405180910390f35b6104476004803603604081101561041157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108fb565b60405180821515815260200191505060405180910390f35b6104c16004803603604081101561047557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610919565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561056f5780601f106105445761010080835404028352916020019161056f565b820191906000526020600020905b81548152906001019060200180831161055257829003601f168201915b5050505050905090565b600061058d6105866109a0565b84846109a8565b6001905092915050565b6000600254905090565b60006105ae848484610b9f565b61066f846105ba6109a0565b61066a8560405180606001604052806028815260200161101960289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106206109a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e609092919063ffffffff16565b6109a8565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061073a61069e6109a0565b8461073585600160006106af6109a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2090919063ffffffff16565b6109a8565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108245780601f106107f957610100808354040283529160200191610824565b820191906000526020600020905b81548152906001019060200180831161080757829003601f168201915b5050505050905090565b60006108f161083b6109a0565b846108ec8560405180606001604052806025815260200161108a60259139600160006108656109a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e609092919063ffffffff16565b6109a8565b6001905092915050565b600061090f6109086109a0565b8484610b9f565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110666024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fd16022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110416025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fae6023913960400191505060405180910390fd5b610cb6838383610fa8565b610d2181604051806060016040528060268152602001610ff3602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e609092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed2578082015181840152602081019050610eb7565b50505050905090810190601f168015610eff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f5ac41f376783c540b6f8acaba8c8e3031902f1f19c4e501cdfe80b4560edc9264736f6c634300060c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025857806370a08231146102bc57806395d89b4114610314578063a457c2d714610397578063a9059cbb146103fb578063dd62ed3e1461045f576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019557806323b872dd146101b3578063313ce56714610237575b600080fd5b6100b66104d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610579565b60405180821515815260200191505060405180910390f35b61019d610597565b6040518082815260200191505060405180910390f35b61021f600480360360608110156101c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105a1565b60405180821515815260200191505060405180910390f35b61023f61067a565b604051808260ff16815260200191505060405180910390f35b6102a46004803603604081101561026e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610691565b60405180821515815260200191505060405180910390f35b6102fe600480360360208110156102d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610744565b6040518082815260200191505060405180910390f35b61031c61078c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035c578082015181840152602081019050610341565b50505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103e3600480360360408110156103ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061082e565b60405180821515815260200191505060405180910390f35b6104476004803603604081101561041157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108fb565b60405180821515815260200191505060405180910390f35b6104c16004803603604081101561047557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610919565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561056f5780601f106105445761010080835404028352916020019161056f565b820191906000526020600020905b81548152906001019060200180831161055257829003601f168201915b5050505050905090565b600061058d6105866109a0565b84846109a8565b6001905092915050565b6000600254905090565b60006105ae848484610b9f565b61066f846105ba6109a0565b61066a8560405180606001604052806028815260200161101960289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106206109a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e609092919063ffffffff16565b6109a8565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061073a61069e6109a0565b8461073585600160006106af6109a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2090919063ffffffff16565b6109a8565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108245780601f106107f957610100808354040283529160200191610824565b820191906000526020600020905b81548152906001019060200180831161080757829003601f168201915b5050505050905090565b60006108f161083b6109a0565b846108ec8560405180606001604052806025815260200161108a60259139600160006108656109a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e609092919063ffffffff16565b6109a8565b6001905092915050565b600061090f6109086109a0565b8484610b9f565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110666024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fd16022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110416025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fae6023913960400191505060405180910390fd5b610cb6838383610fa8565b610d2181604051806060016040528060268152602001610ff3602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e609092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed2578082015181840152602081019050610eb7565b50505050905090810190601f168015610eff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f5ac41f376783c540b6f8acaba8c8e3031902f1f19c4e501cdfe80b4560edc9264736f6c634300060c0033", "immutableReferences": {}, - "sourceMap": "1345:9446:4:-:0;;;2013:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2093:4;2085:5;:12;;;;;;;;;;;;:::i;:::-;;2117:6;2107:7;:16;;;;;;;;;;;;:::i;:::-;;2145:2;2133:9;;:14;;;;;;;;;;;;;;;;;;2013:141;;1345:9446;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "1345:9446:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4255:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3262:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4881:317;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3121:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5593:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3418:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2413:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6295:266;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3738:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3968:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2219:81;2256:13;2288:5;2281:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;:::o;4255:166::-;4338:4;4354:39;4363:12;:10;:12::i;:::-;4377:7;4386:6;4354:8;:39::i;:::-;4410:4;4403:11;;4255:166;;;;:::o;3262:98::-;3315:7;3341:12;;3334:19;;3262:98;:::o;4881:317::-;4987:4;5003:36;5013:6;5021:9;5032:6;5003:9;:36::i;:::-;5049:121;5058:6;5066:12;:10;:12::i;:::-;5080:89;5118:6;5080:89;;;;;;;;;;;;;;;;;:11;:19;5092:6;5080:19;;;;;;;;;;;;;;;:33;5100:12;:10;:12::i;:::-;5080:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5049:8;:121::i;:::-;5187:4;5180:11;;4881:317;;;;;:::o;3121:81::-;3162:5;3186:9;;;;;;;;;;;3179:16;;3121:81;:::o;5593:215::-;5681:4;5697:83;5706:12;:10;:12::i;:::-;5720:7;5729:50;5768:10;5729:11;:25;5741:12;:10;:12::i;:::-;5729:25;;;;;;;;;;;;;;;:34;5755:7;5729:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;5697:8;:83::i;:::-;5797:4;5790:11;;5593:215;;;;:::o;3418:117::-;3484:7;3510:9;:18;3520:7;3510:18;;;;;;;;;;;;;;;;3503:25;;3418:117;;;:::o;2413:85::-;2452:13;2484:7;2477:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:85;:::o;6295:266::-;6388:4;6404:129;6413:12;:10;:12::i;:::-;6427:7;6436:96;6475:15;6436:96;;;;;;;;;;;;;;;;;:11;:25;6448:12;:10;:12::i;:::-;6436:25;;;;;;;;;;;;;;;:34;6462:7;6436:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;6404:8;:129::i;:::-;6550:4;6543:11;;6295:266;;;;:::o;3738:172::-;3824:4;3840:42;3850:12;:10;:12::i;:::-;3864:9;3875:6;3840:9;:42::i;:::-;3899:4;3892:11;;3738:172;;;;:::o;3968:149::-;4057:7;4083:11;:18;4095:5;4083:18;;;;;;;;;;;;;;;:27;4102:7;4083:27;;;;;;;;;;;;;;;;4076:34;;3968:149;;;;:::o;590:104:2:-;643:15;677:10;670:17;;590:104;:::o;9359:340:4:-;9477:1;9460:19;;:5;:19;;;;9452:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9557:1;9538:21;;:7;:21;;;;9530:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9639:6;9609:11;:18;9621:5;9609:18;;;;;;;;;;;;;;;:27;9628:7;9609:27;;;;;;;;;;;;;;;:36;;;;9676:7;9660:32;;9669:5;9660:32;;;9685:6;9660:32;;;;;;;;;;;;;;;;;;9359:340;;;:::o;7035:530::-;7158:1;7140:20;;:6;:20;;;;7132:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7241:1;7220:23;;:9;:23;;;;7212:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7294:47;7315:6;7323:9;7334:6;7294:20;:47::i;:::-;7372:71;7394:6;7372:71;;;;;;;;;;;;;;;;;:9;:17;7382:6;7372:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;7352:9;:17;7362:6;7352:17;;;;;;;;;;;;;;;:91;;;;7476:32;7501:6;7476:9;:20;7486:9;7476:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7453:9;:20;7463:9;7453:20;;;;;;;;;;;;;;;:55;;;;7540:9;7523:35;;7532:6;7523:35;;;7551:6;7523:35;;;;;;;;;;;;;;;;;;7035:530;;;:::o;1746:187:3:-;1832:7;1864:1;1859;:6;;1867:12;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:9;1906:1;1902;:5;1890:17;;1925:1;1918:8;;;1746:187;;;;;:::o;874:176::-;932:7;951:9;967:1;963;:5;951:17;;991:1;986;:6;;978:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;1035:8;;;874:176;;;;:::o;10697:92:4:-;;;;:::o", + "sourceMap": "1345:9446:5:-:0;;;2013:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2093:4;2085:5;:12;;;;;;;;;;;;:::i;:::-;;2117:6;2107:7;:16;;;;;;;;;;;;:::i;:::-;;2145:2;2133:9;;:14;;;;;;;;;;;;;;;;;;2013:141;;1345:9446;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "1345:9446:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4255:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3262:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4881:317;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3121:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5593:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3418:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2413:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6295:266;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3738:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3968:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2219:81;2256:13;2288:5;2281:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;:::o;4255:166::-;4338:4;4354:39;4363:12;:10;:12::i;:::-;4377:7;4386:6;4354:8;:39::i;:::-;4410:4;4403:11;;4255:166;;;;:::o;3262:98::-;3315:7;3341:12;;3334:19;;3262:98;:::o;4881:317::-;4987:4;5003:36;5013:6;5021:9;5032:6;5003:9;:36::i;:::-;5049:121;5058:6;5066:12;:10;:12::i;:::-;5080:89;5118:6;5080:89;;;;;;;;;;;;;;;;;:11;:19;5092:6;5080:19;;;;;;;;;;;;;;;:33;5100:12;:10;:12::i;:::-;5080:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5049:8;:121::i;:::-;5187:4;5180:11;;4881:317;;;;;:::o;3121:81::-;3162:5;3186:9;;;;;;;;;;;3179:16;;3121:81;:::o;5593:215::-;5681:4;5697:83;5706:12;:10;:12::i;:::-;5720:7;5729:50;5768:10;5729:11;:25;5741:12;:10;:12::i;:::-;5729:25;;;;;;;;;;;;;;;:34;5755:7;5729:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;5697:8;:83::i;:::-;5797:4;5790:11;;5593:215;;;;:::o;3418:117::-;3484:7;3510:9;:18;3520:7;3510:18;;;;;;;;;;;;;;;;3503:25;;3418:117;;;:::o;2413:85::-;2452:13;2484:7;2477:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:85;:::o;6295:266::-;6388:4;6404:129;6413:12;:10;:12::i;:::-;6427:7;6436:96;6475:15;6436:96;;;;;;;;;;;;;;;;;:11;:25;6448:12;:10;:12::i;:::-;6436:25;;;;;;;;;;;;;;;:34;6462:7;6436:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;6404:8;:129::i;:::-;6550:4;6543:11;;6295:266;;;;:::o;3738:172::-;3824:4;3840:42;3850:12;:10;:12::i;:::-;3864:9;3875:6;3840:9;:42::i;:::-;3899:4;3892:11;;3738:172;;;;:::o;3968:149::-;4057:7;4083:11;:18;4095:5;4083:18;;;;;;;;;;;;;;;:27;4102:7;4083:27;;;;;;;;;;;;;;;;4076:34;;3968:149;;;;:::o;590:104:3:-;643:15;677:10;670:17;;590:104;:::o;9359:340:5:-;9477:1;9460:19;;:5;:19;;;;9452:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9557:1;9538:21;;:7;:21;;;;9530:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9639:6;9609:11;:18;9621:5;9609:18;;;;;;;;;;;;;;;:27;9628:7;9609:27;;;;;;;;;;;;;;;:36;;;;9676:7;9660:32;;9669:5;9660:32;;;9685:6;9660:32;;;;;;;;;;;;;;;;;;9359:340;;;:::o;7035:530::-;7158:1;7140:20;;:6;:20;;;;7132:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7241:1;7220:23;;:9;:23;;;;7212:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7294:47;7315:6;7323:9;7334:6;7294:20;:47::i;:::-;7372:71;7394:6;7372:71;;;;;;;;;;;;;;;;;:9;:17;7382:6;7372:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;7352:9;:17;7362:6;7352:17;;;;;;;;;;;;;;;:91;;;;7476:32;7501:6;7476:9;:20;7486:9;7476:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7453:9;:20;7463:9;7453:20;;;;;;;;;;;;;;;:55;;;;7540:9;7523:35;;7532:6;7523:35;;;7551:6;7523:35;;;;;;;;;;;;;;;;;;7035:530;;;:::o;1746:187:4:-;1832:7;1864:1;1859;:6;;1867:12;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:9;1906:1;1902;:5;1890:17;;1925:1;1918:8;;;1746:187;;;;;:::o;874:176::-;932:7;951:9;967:1;963;:5;951:17;;991:1;986;:6;;978:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;1035:8;;;874:176;;;;:::o;10697:92:5:-;;;;:::o", "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\nimport \"../../GSN/Context.sol\";\nimport \"./IERC20.sol\";\nimport \"../../math/SafeMath.sol\";\nimport \"../../utils/Address.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n using SafeMath for uint256;\n using Address for address;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n uint8 private _decimals;\n\n /**\n * @dev Sets the values for {name} and {symbol}, initializes {decimals} with\n * a default value of 18.\n *\n * To select a different value for {decimals}, use {_setupDecimals}.\n *\n * All three of these values are immutable: they can only be set once during\n * construction.\n */\n constructor (string memory name, string memory symbol) public {\n _name = name;\n _symbol = symbol;\n _decimals = 18;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5,05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\n * called.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view returns (uint8) {\n return _decimals;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20};\n *\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for ``sender``'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(sender, recipient, amount);\n _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, \"ERC20: transfer amount exceeds allowance\"));\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, \"ERC20: decreased allowance below zero\"));\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal virtual {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(sender, recipient, amount);\n\n _balances[sender] = _balances[sender].sub(amount, \"ERC20: transfer amount exceeds balance\");\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n _balances[account] = _balances[account].sub(amount, \"ERC20: burn amount exceeds balance\");\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n *\n * This is internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(address owner, address spender, uint256 amount) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Sets {decimals} to a value other than the default one of 18.\n *\n * WARNING: This function should only be called from the constructor. Most\n * applications that interact with token contracts will not expect\n * {decimals} to ever change, and may work incorrectly if it does.\n */\n function _setupDecimals(uint8 decimals_) internal {\n _decimals = decimals_;\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be to transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }\n}\n", "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "ast": { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 993 + 1030 ] }, - "id": 994, + "id": 1031, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 488, + "id": 525, "literals": [ "solidity", "^", @@ -316,49 +316,49 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:4" + "src": "33:23:5" }, { "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "id": 489, + "id": 526, "nodeType": "ImportDirective", - "scope": 994, - "sourceUnit": 291, - "src": "58:31:4", + "scope": 1031, + "sourceUnit": 328, + "src": "58:31:5", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 490, + "id": 527, "nodeType": "ImportDirective", - "scope": 994, - "sourceUnit": 1072, - "src": "90:22:4", + "scope": 1031, + "sourceUnit": 1109, + "src": "90:22:5", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 491, + "id": 528, "nodeType": "ImportDirective", - "scope": 994, - "sourceUnit": 487, - "src": "113:33:4", + "scope": 1031, + "sourceUnit": 524, + "src": "113:33:5", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/Address.sol", "file": "../../utils/Address.sol", - "id": 492, + "id": 529, "nodeType": "ImportDirective", - "scope": 994, - "sourceUnit": 1276, - "src": "147:33:4", + "scope": 1031, + "sourceUnit": 1313, + "src": "147:33:5", "symbolAliases": [], "unitAlias": "" }, @@ -369,81 +369,81 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 494, + "id": 531, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 290, - "src": "1363:7:4", + "referencedDeclaration": 327, + "src": "1363:7:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$290", + "typeIdentifier": "t_contract$_Context_$327", "typeString": "contract Context" } }, - "id": 495, + "id": 532, "nodeType": "InheritanceSpecifier", - "src": "1363:7:4" + "src": "1363:7:5" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 496, + "id": 533, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1071, - "src": "1372:6:4", + "referencedDeclaration": 1108, + "src": "1372:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1071", + "typeIdentifier": "t_contract$_IERC20_$1108", "typeString": "contract IERC20" } }, - "id": 497, + "id": 534, "nodeType": "InheritanceSpecifier", - "src": "1372:6:4" + "src": "1372:6:5" } ], "contractDependencies": [ - 290, - 1071 + 327, + 1108 ], "contractKind": "contract", "documentation": { - "id": 493, + "id": 530, "nodeType": "StructuredDocumentation", - "src": "182:1162:4", + "src": "182:1162:5", "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin guidelines: functions revert instead\n of returning `false` on failure. This behavior is nonetheless conventional\n and does not conflict with the expectations of ERC20 applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." }, "fullyImplemented": true, - "id": 993, + "id": 1030, "linearizedBaseContracts": [ - 993, - 1071, - 290 + 1030, + 1108, + 327 ], "name": "ERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 500, + "id": 537, "libraryName": { "contractScope": null, - "id": 498, + "id": 535, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 486, - "src": "1391:8:4", + "referencedDeclaration": 523, + "src": "1391:8:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$486", + "typeIdentifier": "t_contract$_SafeMath_$523", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "1385:27:4", + "src": "1385:27:5", "typeName": { - "id": 499, + "id": 536, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1404:7:4", + "src": "1404:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -451,26 +451,26 @@ } }, { - "id": 503, + "id": 540, "libraryName": { "contractScope": null, - "id": 501, + "id": 538, "name": "Address", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1275, - "src": "1423:7:4", + "referencedDeclaration": 1312, + "src": "1423:7:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } }, "nodeType": "UsingForDirective", - "src": "1417:26:4", + "src": "1417:26:5", "typeName": { - "id": 502, + "id": 539, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1435:7:4", + "src": "1435:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -480,13 +480,13 @@ }, { "constant": false, - "id": 507, + "id": 544, "mutability": "mutable", "name": "_balances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1449:46:4", + "scope": 1030, + "src": "1449:46:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -494,28 +494,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 506, + "id": 543, "keyType": { - "id": 504, + "id": 541, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1458:7:4", + "src": "1458:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1449:28:4", + "src": "1449:28:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 505, + "id": 542, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1469:7:4", + "src": "1469:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -527,13 +527,13 @@ }, { "constant": false, - "id": 513, + "id": 550, "mutability": "mutable", "name": "_allowances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1502:69:4", + "scope": 1030, + "src": "1502:69:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -541,46 +541,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 512, + "id": 549, "keyType": { - "id": 508, + "id": 545, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1511:7:4", + "src": "1511:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1502:49:4", + "src": "1502:49:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 511, + "id": 548, "keyType": { - "id": 509, + "id": 546, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1531:7:4", + "src": "1531:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1522:28:4", + "src": "1522:28:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 510, + "id": 547, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1542:7:4", + "src": "1542:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -593,13 +593,13 @@ }, { "constant": false, - "id": 515, + "id": 552, "mutability": "mutable", "name": "_totalSupply", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1578:28:4", + "scope": 1030, + "src": "1578:28:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -607,10 +607,10 @@ "typeString": "uint256" }, "typeName": { - "id": 514, + "id": 551, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1578:7:4", + "src": "1578:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -621,13 +621,13 @@ }, { "constant": false, - "id": 517, + "id": 554, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1613:20:4", + "scope": 1030, + "src": "1613:20:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -635,10 +635,10 @@ "typeString": "string" }, "typeName": { - "id": 516, + "id": 553, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1613:6:4", + "src": "1613:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -649,13 +649,13 @@ }, { "constant": false, - "id": 519, + "id": 556, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1639:22:4", + "scope": 1030, + "src": "1639:22:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -663,10 +663,10 @@ "typeString": "string" }, "typeName": { - "id": 518, + "id": 555, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1639:6:4", + "src": "1639:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -677,13 +677,13 @@ }, { "constant": false, - "id": 521, + "id": 558, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1667:23:4", + "scope": 1030, + "src": "1667:23:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -691,10 +691,10 @@ "typeString": "uint8" }, "typeName": { - "id": 520, + "id": 557, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1667:5:4", + "src": "1667:5:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -705,26 +705,26 @@ }, { "body": { - "id": 541, + "id": 578, "nodeType": "Block", - "src": "2075:79:4", + "src": "2075:79:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 531, + "id": 568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 529, + "id": 566, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "2085:5:4", + "referencedDeclaration": 554, + "src": "2085:5:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -734,43 +734,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 530, + "id": 567, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "2093:4:4", + "referencedDeclaration": 561, + "src": "2093:4:5", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2085:12:4", + "src": "2085:12:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 532, + "id": 569, "nodeType": "ExpressionStatement", - "src": "2085:12:4" + "src": "2085:12:5" }, { "expression": { "argumentTypes": null, - "id": 535, + "id": 572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 533, + "id": 570, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "2107:7:4", + "referencedDeclaration": 556, + "src": "2107:7:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -780,43 +780,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 534, + "id": 571, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "2117:6:4", + "referencedDeclaration": 563, + "src": "2117:6:5", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2107:16:4", + "src": "2107:16:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 536, + "id": 573, "nodeType": "ExpressionStatement", - "src": "2107:16:4" + "src": "2107:16:5" }, { "expression": { "argumentTypes": null, - "id": 539, + "id": 576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 537, + "id": 574, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "2133:9:4", + "referencedDeclaration": 558, + "src": "2133:9:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -827,14 +827,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3138", - "id": 538, + "id": 575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2145:2:4", + "src": "2145:2:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -842,25 +842,25 @@ }, "value": "18" }, - "src": "2133:14:4", + "src": "2133:14:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 540, + "id": 577, "nodeType": "ExpressionStatement", - "src": "2133:14:4" + "src": "2133:14:5" } ] }, "documentation": { - "id": 522, + "id": 559, "nodeType": "StructuredDocumentation", - "src": "1697:311:4", + "src": "1697:311:5", "text": " @dev Sets the values for {name} and {symbol}, initializes {decimals} with\n a default value of 18.\n To select a different value for {decimals}, use {_setupDecimals}.\n All three of these values are immutable: they can only be set once during\n construction." }, - "id": 542, + "id": 579, "implemented": true, "kind": "constructor", "modifiers": [], @@ -868,18 +868,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 527, + "id": 564, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 524, + "id": 561, "mutability": "mutable", "name": "name", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 542, - "src": "2026:18:4", + "scope": 579, + "src": "2026:18:5", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -887,10 +887,10 @@ "typeString": "string" }, "typeName": { - "id": 523, + "id": 560, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2026:6:4", + "src": "2026:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -901,13 +901,13 @@ }, { "constant": false, - "id": 526, + "id": 563, "mutability": "mutable", "name": "symbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 542, - "src": "2046:20:4", + "scope": 579, + "src": "2046:20:5", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -915,10 +915,10 @@ "typeString": "string" }, "typeName": { - "id": 525, + "id": 562, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2046:6:4", + "src": "2046:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -928,55 +928,55 @@ "visibility": "internal" } ], - "src": "2025:42:4" + "src": "2025:42:5" }, "returnParameters": { - "id": 528, + "id": 565, "nodeType": "ParameterList", "parameters": [], - "src": "2075:0:4" + "src": "2075:0:5" }, - "scope": 993, - "src": "2013:141:4", + "scope": 1030, + "src": "2013:141:5", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 550, + "id": 587, "nodeType": "Block", - "src": "2271:29:4", + "src": "2271:29:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 548, + "id": 585, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "2288:5:4", + "referencedDeclaration": 554, + "src": "2288:5:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 547, - "id": 549, + "functionReturnParameters": 584, + "id": 586, "nodeType": "Return", - "src": "2281:12:4" + "src": "2281:12:5" } ] }, "documentation": { - "id": 543, + "id": 580, "nodeType": "StructuredDocumentation", - "src": "2160:54:4", + "src": "2160:54:5", "text": " @dev Returns the name of the token." }, "functionSelector": "06fdde03", - "id": 551, + "id": 588, "implemented": true, "kind": "function", "modifiers": [], @@ -984,24 +984,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 544, + "id": 581, "nodeType": "ParameterList", "parameters": [], - "src": "2232:2:4" + "src": "2232:2:5" }, "returnParameters": { - "id": 547, + "id": 584, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 546, + "id": 583, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 551, - "src": "2256:13:4", + "scope": 588, + "src": "2256:13:5", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1009,10 +1009,10 @@ "typeString": "string" }, "typeName": { - "id": 545, + "id": 582, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2256:6:4", + "src": "2256:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1022,49 +1022,49 @@ "visibility": "internal" } ], - "src": "2255:15:4" + "src": "2255:15:5" }, - "scope": 993, - "src": "2219:81:4", + "scope": 1030, + "src": "2219:81:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 559, + "id": 596, "nodeType": "Block", - "src": "2467:31:4", + "src": "2467:31:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 557, + "id": 594, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "2484:7:4", + "referencedDeclaration": 556, + "src": "2484:7:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 556, - "id": 558, + "functionReturnParameters": 593, + "id": 595, "nodeType": "Return", - "src": "2477:14:4" + "src": "2477:14:5" } ] }, "documentation": { - "id": 552, + "id": 589, "nodeType": "StructuredDocumentation", - "src": "2306:102:4", + "src": "2306:102:5", "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." }, "functionSelector": "95d89b41", - "id": 560, + "id": 597, "implemented": true, "kind": "function", "modifiers": [], @@ -1072,24 +1072,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 553, + "id": 590, "nodeType": "ParameterList", "parameters": [], - "src": "2428:2:4" + "src": "2428:2:5" }, "returnParameters": { - "id": 556, + "id": 593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 555, + "id": 592, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 560, - "src": "2452:13:4", + "scope": 597, + "src": "2452:13:5", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1097,10 +1097,10 @@ "typeString": "string" }, "typeName": { - "id": 554, + "id": 591, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2452:6:4", + "src": "2452:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1110,49 +1110,49 @@ "visibility": "internal" } ], - "src": "2451:15:4" + "src": "2451:15:5" }, - "scope": 993, - "src": "2413:85:4", + "scope": 1030, + "src": "2413:85:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 568, + "id": 605, "nodeType": "Block", - "src": "3169:33:4", + "src": "3169:33:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 566, + "id": 603, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "3186:9:4", + "referencedDeclaration": 558, + "src": "3186:9:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 565, - "id": 567, + "functionReturnParameters": 602, + "id": 604, "nodeType": "Return", - "src": "3179:16:4" + "src": "3179:16:5" } ] }, "documentation": { - "id": 561, + "id": 598, "nodeType": "StructuredDocumentation", - "src": "2504:612:4", + "src": "2504:612:5", "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5,05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\n called.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." }, "functionSelector": "313ce567", - "id": 569, + "id": 606, "implemented": true, "kind": "function", "modifiers": [], @@ -1160,24 +1160,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 562, + "id": 599, "nodeType": "ParameterList", "parameters": [], - "src": "3138:2:4" + "src": "3138:2:5" }, "returnParameters": { - "id": 565, + "id": 602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 564, + "id": 601, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 569, - "src": "3162:5:4", + "scope": 606, + "src": "3162:5:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1185,10 +1185,10 @@ "typeString": "uint8" }, "typeName": { - "id": 563, + "id": 600, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3162:5:4", + "src": "3162:5:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1198,82 +1198,82 @@ "visibility": "internal" } ], - "src": "3161:7:4" + "src": "3161:7:5" }, - "scope": 993, - "src": "3121:81:4", + "scope": 1030, + "src": "3121:81:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 1002 + 1039 ], "body": { - "id": 578, + "id": 615, "nodeType": "Block", - "src": "3324:36:4", + "src": "3324:36:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 576, + "id": 613, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "3341:12:4", + "referencedDeclaration": 552, + "src": "3341:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 575, - "id": 577, + "functionReturnParameters": 612, + "id": 614, "nodeType": "Return", - "src": "3334:19:4" + "src": "3334:19:5" } ] }, "documentation": { - "id": 570, + "id": 607, "nodeType": "StructuredDocumentation", - "src": "3208:49:4", + "src": "3208:49:5", "text": " @dev See {IERC20-totalSupply}." }, "functionSelector": "18160ddd", - "id": 579, + "id": 616, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "overrides": { - "id": 572, + "id": 609, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3297:8:4" + "src": "3297:8:5" }, "parameters": { - "id": 571, + "id": 608, "nodeType": "ParameterList", "parameters": [], - "src": "3282:2:4" + "src": "3282:2:5" }, "returnParameters": { - "id": 575, + "id": 612, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 574, + "id": 611, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 579, - "src": "3315:7:4", + "scope": 616, + "src": "3315:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1281,10 +1281,10 @@ "typeString": "uint256" }, "typeName": { - "id": 573, + "id": 610, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3315:7:4", + "src": "3315:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1294,48 +1294,48 @@ "visibility": "internal" } ], - "src": "3314:9:4" + "src": "3314:9:5" }, - "scope": 993, - "src": "3262:98:4", + "scope": 1030, + "src": "3262:98:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 1010 + 1047 ], "body": { - "id": 592, + "id": 629, "nodeType": "Block", - "src": "3493:42:4", + "src": "3493:42:5", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 588, + "id": 625, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "3510:9:4", + "referencedDeclaration": 544, + "src": "3510:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 590, + "id": 627, "indexExpression": { "argumentTypes": null, - "id": 589, + "id": 626, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "3520:7:4", + "referencedDeclaration": 619, + "src": "3520:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1346,51 +1346,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3510:18:4", + "src": "3510:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 587, - "id": 591, + "functionReturnParameters": 624, + "id": 628, "nodeType": "Return", - "src": "3503:25:4" + "src": "3503:25:5" } ] }, "documentation": { - "id": 580, + "id": 617, "nodeType": "StructuredDocumentation", - "src": "3366:47:4", + "src": "3366:47:5", "text": " @dev See {IERC20-balanceOf}." }, "functionSelector": "70a08231", - "id": 593, + "id": 630, "implemented": true, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "overrides": { - "id": 584, + "id": 621, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3466:8:4" + "src": "3466:8:5" }, "parameters": { - "id": 583, + "id": 620, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 582, + "id": 619, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 593, - "src": "3437:15:4", + "scope": 630, + "src": "3437:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1398,10 +1398,10 @@ "typeString": "address" }, "typeName": { - "id": 581, + "id": 618, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3437:7:4", + "src": "3437:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1412,21 +1412,21 @@ "visibility": "internal" } ], - "src": "3436:17:4" + "src": "3436:17:5" }, "returnParameters": { - "id": 587, + "id": 624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 586, + "id": 623, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 593, - "src": "3484:7:4", + "scope": 630, + "src": "3484:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1434,10 +1434,10 @@ "typeString": "uint256" }, "typeName": { - "id": 585, + "id": 622, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3484:7:4", + "src": "3484:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1447,22 +1447,22 @@ "visibility": "internal" } ], - "src": "3483:9:4" + "src": "3483:9:5" }, - "scope": 993, - "src": "3418:117:4", + "scope": 1030, + "src": "3418:117:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 1020 + 1057 ], "body": { - "id": 613, + "id": 650, "nodeType": "Block", - "src": "3830:80:4", + "src": "3830:80:5", "statements": [ { "expression": { @@ -1473,18 +1473,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 605, + "id": 642, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "3850:10:4", + "referencedDeclaration": 315, + "src": "3850:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 606, + "id": 643, "isConstant": false, "isLValue": false, "isPure": false, @@ -1492,7 +1492,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3850:12:4", + "src": "3850:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -1501,12 +1501,12 @@ }, { "argumentTypes": null, - "id": 607, + "id": 644, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "3864:9:4", + "referencedDeclaration": 633, + "src": "3864:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1514,12 +1514,12 @@ }, { "argumentTypes": null, - "id": 608, + "id": 645, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "3875:6:4", + "referencedDeclaration": 635, + "src": "3875:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1541,18 +1541,18 @@ "typeString": "uint256" } ], - "id": 604, + "id": 641, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "3840:9:4", + "referencedDeclaration": 851, + "src": "3840:9:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 609, + "id": 646, "isConstant": false, "isLValue": false, "isPure": false, @@ -1560,29 +1560,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3840:42:4", + "src": "3840:42:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 610, + "id": 647, "nodeType": "ExpressionStatement", - "src": "3840:42:4" + "src": "3840:42:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 611, + "id": 648, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3899:4:4", + "src": "3899:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1590,45 +1590,45 @@ }, "value": "true" }, - "functionReturnParameters": 603, - "id": 612, + "functionReturnParameters": 640, + "id": 649, "nodeType": "Return", - "src": "3892:11:4" + "src": "3892:11:5" } ] }, "documentation": { - "id": 594, + "id": 631, "nodeType": "StructuredDocumentation", - "src": "3541:192:4", + "src": "3541:192:5", "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `recipient` cannot be the zero address.\n - the caller must have a balance of at least `amount`." }, "functionSelector": "a9059cbb", - "id": 614, + "id": 651, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": { - "id": 600, + "id": 637, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3806:8:4" + "src": "3806:8:5" }, "parameters": { - "id": 599, + "id": 636, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 596, + "id": 633, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 614, - "src": "3756:17:4", + "scope": 651, + "src": "3756:17:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1636,10 +1636,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 632, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3756:7:4", + "src": "3756:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1651,13 +1651,13 @@ }, { "constant": false, - "id": 598, + "id": 635, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 614, - "src": "3775:14:4", + "scope": 651, + "src": "3775:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1665,10 +1665,10 @@ "typeString": "uint256" }, "typeName": { - "id": 597, + "id": 634, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3775:7:4", + "src": "3775:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1678,21 +1678,21 @@ "visibility": "internal" } ], - "src": "3755:35:4" + "src": "3755:35:5" }, "returnParameters": { - "id": 603, + "id": 640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 602, + "id": 639, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 614, - "src": "3824:4:4", + "scope": 651, + "src": "3824:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1700,10 +1700,10 @@ "typeString": "bool" }, "typeName": { - "id": 601, + "id": 638, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3824:4:4", + "src": "3824:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1713,22 +1713,22 @@ "visibility": "internal" } ], - "src": "3823:6:4" + "src": "3823:6:5" }, - "scope": 993, - "src": "3738:172:4", + "scope": 1030, + "src": "3738:172:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1030 + 1067 ], "body": { - "id": 631, + "id": 668, "nodeType": "Block", - "src": "4066:51:4", + "src": "4066:51:5", "statements": [ { "expression": { @@ -1737,26 +1737,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 625, + "id": 662, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "4083:11:4", + "referencedDeclaration": 550, + "src": "4083:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 627, + "id": 664, "indexExpression": { "argumentTypes": null, - "id": 626, + "id": 663, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 617, - "src": "4095:5:4", + "referencedDeclaration": 654, + "src": "4095:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1767,21 +1767,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4083:18:4", + "src": "4083:18:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 629, + "id": 666, "indexExpression": { "argumentTypes": null, - "id": 628, + "id": 665, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 619, - "src": "4102:7:4", + "referencedDeclaration": 656, + "src": "4102:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1792,51 +1792,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4083:27:4", + "src": "4083:27:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 624, - "id": 630, + "functionReturnParameters": 661, + "id": 667, "nodeType": "Return", - "src": "4076:34:4" + "src": "4076:34:5" } ] }, "documentation": { - "id": 615, + "id": 652, "nodeType": "StructuredDocumentation", - "src": "3916:47:4", + "src": "3916:47:5", "text": " @dev See {IERC20-allowance}." }, "functionSelector": "dd62ed3e", - "id": 632, + "id": 669, "implemented": true, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "overrides": { - "id": 621, + "id": 658, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4039:8:4" + "src": "4039:8:5" }, "parameters": { - "id": 620, + "id": 657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 617, + "id": 654, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 632, - "src": "3987:13:4", + "scope": 669, + "src": "3987:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1844,10 +1844,10 @@ "typeString": "address" }, "typeName": { - "id": 616, + "id": 653, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3987:7:4", + "src": "3987:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1859,13 +1859,13 @@ }, { "constant": false, - "id": 619, + "id": 656, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 632, - "src": "4002:15:4", + "scope": 669, + "src": "4002:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1873,10 +1873,10 @@ "typeString": "address" }, "typeName": { - "id": 618, + "id": 655, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4002:7:4", + "src": "4002:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1887,21 +1887,21 @@ "visibility": "internal" } ], - "src": "3986:32:4" + "src": "3986:32:5" }, "returnParameters": { - "id": 624, + "id": 661, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 623, + "id": 660, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 632, - "src": "4057:7:4", + "scope": 669, + "src": "4057:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1909,10 +1909,10 @@ "typeString": "uint256" }, "typeName": { - "id": 622, + "id": 659, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4057:7:4", + "src": "4057:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1922,22 +1922,22 @@ "visibility": "internal" } ], - "src": "4056:9:4" + "src": "4056:9:5" }, - "scope": 993, - "src": "3968:149:4", + "scope": 1030, + "src": "3968:149:5", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1040 + 1077 ], "body": { - "id": 652, + "id": 689, "nodeType": "Block", - "src": "4344:77:4", + "src": "4344:77:5", "statements": [ { "expression": { @@ -1948,18 +1948,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 644, + "id": 681, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "4363:10:4", + "referencedDeclaration": 315, + "src": "4363:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 645, + "id": 682, "isConstant": false, "isLValue": false, "isPure": false, @@ -1967,7 +1967,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4363:12:4", + "src": "4363:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -1976,12 +1976,12 @@ }, { "argumentTypes": null, - "id": 646, + "id": 683, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "4377:7:4", + "referencedDeclaration": 672, + "src": "4377:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1989,12 +1989,12 @@ }, { "argumentTypes": null, - "id": 647, + "id": 684, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4386:6:4", + "referencedDeclaration": 674, + "src": "4386:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2016,18 +2016,18 @@ "typeString": "uint256" } ], - "id": 643, + "id": 680, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4354:8:4", + "referencedDeclaration": 1007, + "src": "4354:8:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 648, + "id": 685, "isConstant": false, "isLValue": false, "isPure": false, @@ -2035,29 +2035,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4354:39:4", + "src": "4354:39:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 649, + "id": 686, "nodeType": "ExpressionStatement", - "src": "4354:39:4" + "src": "4354:39:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 650, + "id": 687, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4410:4:4", + "src": "4410:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2065,45 +2065,45 @@ }, "value": "true" }, - "functionReturnParameters": 642, - "id": 651, + "functionReturnParameters": 679, + "id": 688, "nodeType": "Return", - "src": "4403:11:4" + "src": "4403:11:5" } ] }, "documentation": { - "id": 633, + "id": 670, "nodeType": "StructuredDocumentation", - "src": "4123:127:4", + "src": "4123:127:5", "text": " @dev See {IERC20-approve}.\n Requirements:\n - `spender` cannot be the zero address." }, "functionSelector": "095ea7b3", - "id": 653, + "id": 690, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": { - "id": 639, + "id": 676, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4320:8:4" + "src": "4320:8:5" }, "parameters": { - "id": 638, + "id": 675, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 635, + "id": 672, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 653, - "src": "4272:15:4", + "scope": 690, + "src": "4272:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2111,10 +2111,10 @@ "typeString": "address" }, "typeName": { - "id": 634, + "id": 671, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4272:7:4", + "src": "4272:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2126,13 +2126,13 @@ }, { "constant": false, - "id": 637, + "id": 674, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 653, - "src": "4289:14:4", + "scope": 690, + "src": "4289:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2140,10 +2140,10 @@ "typeString": "uint256" }, "typeName": { - "id": 636, + "id": 673, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4289:7:4", + "src": "4289:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2153,21 +2153,21 @@ "visibility": "internal" } ], - "src": "4271:33:4" + "src": "4271:33:5" }, "returnParameters": { - "id": 642, + "id": 679, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 641, + "id": 678, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 653, - "src": "4338:4:4", + "scope": 690, + "src": "4338:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2175,10 +2175,10 @@ "typeString": "bool" }, "typeName": { - "id": 640, + "id": 677, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4338:4:4", + "src": "4338:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2188,22 +2188,22 @@ "visibility": "internal" } ], - "src": "4337:6:4" + "src": "4337:6:5" }, - "scope": 993, - "src": "4255:166:4", + "scope": 1030, + "src": "4255:166:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1052 + 1089 ], "body": { - "id": 690, + "id": 727, "nodeType": "Block", - "src": "4993:205:4", + "src": "4993:205:5", "statements": [ { "expression": { @@ -2211,12 +2211,12 @@ "arguments": [ { "argumentTypes": null, - "id": 667, + "id": 704, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5013:6:4", + "referencedDeclaration": 693, + "src": "5013:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2224,12 +2224,12 @@ }, { "argumentTypes": null, - "id": 668, + "id": 705, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "5021:9:4", + "referencedDeclaration": 695, + "src": "5021:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2237,12 +2237,12 @@ }, { "argumentTypes": null, - "id": 669, + "id": 706, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "5032:6:4", + "referencedDeclaration": 697, + "src": "5032:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2264,18 +2264,18 @@ "typeString": "uint256" } ], - "id": 666, + "id": 703, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "5003:9:4", + "referencedDeclaration": 851, + "src": "5003:9:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 670, + "id": 707, "isConstant": false, "isLValue": false, "isPure": false, @@ -2283,16 +2283,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5003:36:4", + "src": "5003:36:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 671, + "id": 708, "nodeType": "ExpressionStatement", - "src": "5003:36:4" + "src": "5003:36:5" }, { "expression": { @@ -2300,12 +2300,12 @@ "arguments": [ { "argumentTypes": null, - "id": 673, + "id": 710, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5058:6:4", + "referencedDeclaration": 693, + "src": "5058:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2316,18 +2316,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 674, + "id": 711, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "5066:10:4", + "referencedDeclaration": 315, + "src": "5066:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 675, + "id": 712, "isConstant": false, "isLValue": false, "isPure": false, @@ -2335,7 +2335,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5066:12:4", + "src": "5066:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2347,12 +2347,12 @@ "arguments": [ { "argumentTypes": null, - "id": 683, + "id": 720, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "5118:6:4", + "referencedDeclaration": 697, + "src": "5118:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2361,14 +2361,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 684, + "id": 721, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5126:42:4", + "src": "5126:42:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", @@ -2394,26 +2394,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 676, + "id": 713, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "5080:11:4", + "referencedDeclaration": 550, + "src": "5080:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 678, + "id": 715, "indexExpression": { "argumentTypes": null, - "id": 677, + "id": 714, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5092:6:4", + "referencedDeclaration": 693, + "src": "5092:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2424,30 +2424,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5080:19:4", + "src": "5080:19:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 681, + "id": 718, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 679, + "id": 716, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "5100:10:4", + "referencedDeclaration": 315, + "src": "5100:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 680, + "id": 717, "isConstant": false, "isLValue": false, "isPure": false, @@ -2455,7 +2455,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5100:12:4", + "src": "5100:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2467,27 +2467,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5080:33:4", + "src": "5080:33:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 682, + "id": 719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 364, - "src": "5080:37:4", + "referencedDeclaration": 401, + "src": "5080:37:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 685, + "id": 722, "isConstant": false, "isLValue": false, "isPure": false, @@ -2495,7 +2495,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5080:89:4", + "src": "5080:89:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2518,18 +2518,18 @@ "typeString": "uint256" } ], - "id": 672, + "id": 709, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "5049:8:4", + "referencedDeclaration": 1007, + "src": "5049:8:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 686, + "id": 723, "isConstant": false, "isLValue": false, "isPure": false, @@ -2537,29 +2537,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5049:121:4", + "src": "5049:121:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 687, + "id": 724, "nodeType": "ExpressionStatement", - "src": "5049:121:4" + "src": "5049:121:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 688, + "id": 725, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5187:4:4", + "src": "5187:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2567,45 +2567,45 @@ }, "value": "true" }, - "functionReturnParameters": 665, - "id": 689, + "functionReturnParameters": 702, + "id": 726, "nodeType": "Return", - "src": "5180:11:4" + "src": "5180:11:5" } ] }, "documentation": { - "id": 654, + "id": 691, "nodeType": "StructuredDocumentation", - "src": "4427:449:4", + "src": "4427:449:5", "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20};\n Requirements:\n - `sender` and `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`.\n - the caller must have allowance for ``sender``'s tokens of at least\n `amount`." }, "functionSelector": "23b872dd", - "id": 691, + "id": 728, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": { - "id": 662, + "id": 699, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4969:8:4" + "src": "4969:8:5" }, "parameters": { - "id": 661, + "id": 698, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 656, + "id": 693, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 691, - "src": "4903:14:4", + "scope": 728, + "src": "4903:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2613,10 +2613,10 @@ "typeString": "address" }, "typeName": { - "id": 655, + "id": 692, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4903:7:4", + "src": "4903:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2628,13 +2628,13 @@ }, { "constant": false, - "id": 658, + "id": 695, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 691, - "src": "4919:17:4", + "scope": 728, + "src": "4919:17:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2642,10 +2642,10 @@ "typeString": "address" }, "typeName": { - "id": 657, + "id": 694, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4919:7:4", + "src": "4919:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2657,13 +2657,13 @@ }, { "constant": false, - "id": 660, + "id": 697, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 691, - "src": "4938:14:4", + "scope": 728, + "src": "4938:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2671,10 +2671,10 @@ "typeString": "uint256" }, "typeName": { - "id": 659, + "id": 696, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4938:7:4", + "src": "4938:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2684,21 +2684,21 @@ "visibility": "internal" } ], - "src": "4902:51:4" + "src": "4902:51:5" }, "returnParameters": { - "id": 665, + "id": 702, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 664, + "id": 701, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 691, - "src": "4987:4:4", + "scope": 728, + "src": "4987:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2706,10 +2706,10 @@ "typeString": "bool" }, "typeName": { - "id": 663, + "id": 700, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4987:4:4", + "src": "4987:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2719,19 +2719,19 @@ "visibility": "internal" } ], - "src": "4986:6:4" + "src": "4986:6:5" }, - "scope": 993, - "src": "4881:317:4", + "scope": 1030, + "src": "4881:317:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 718, + "id": 755, "nodeType": "Block", - "src": "5687:121:4", + "src": "5687:121:5", "statements": [ { "expression": { @@ -2742,18 +2742,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 702, + "id": 739, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "5706:10:4", + "referencedDeclaration": 315, + "src": "5706:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 703, + "id": 740, "isConstant": false, "isLValue": false, "isPure": false, @@ -2761,7 +2761,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5706:12:4", + "src": "5706:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2770,12 +2770,12 @@ }, { "argumentTypes": null, - "id": 704, + "id": 741, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "5720:7:4", + "referencedDeclaration": 731, + "src": "5720:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2786,12 +2786,12 @@ "arguments": [ { "argumentTypes": null, - "id": 712, + "id": 749, "name": "addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 696, - "src": "5768:10:4", + "referencedDeclaration": 733, + "src": "5768:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2811,35 +2811,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 705, + "id": 742, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "5729:11:4", + "referencedDeclaration": 550, + "src": "5729:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 708, + "id": 745, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 706, + "id": 743, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "5741:10:4", + "referencedDeclaration": 315, + "src": "5741:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 707, + "id": 744, "isConstant": false, "isLValue": false, "isPure": false, @@ -2847,7 +2847,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5741:12:4", + "src": "5741:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2859,21 +2859,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5729:25:4", + "src": "5729:25:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 710, + "id": 747, "indexExpression": { "argumentTypes": null, - "id": 709, + "id": 746, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "5755:7:4", + "referencedDeclaration": 731, + "src": "5755:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2884,27 +2884,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5729:34:4", + "src": "5729:34:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 711, + "id": 748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 319, - "src": "5729:38:4", + "referencedDeclaration": 356, + "src": "5729:38:5", "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": 713, + "id": 750, "isConstant": false, "isLValue": false, "isPure": false, @@ -2912,7 +2912,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5729:50:4", + "src": "5729:50:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2935,18 +2935,18 @@ "typeString": "uint256" } ], - "id": 701, + "id": 738, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "5697:8:4", + "referencedDeclaration": 1007, + "src": "5697:8:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 714, + "id": 751, "isConstant": false, "isLValue": false, "isPure": false, @@ -2954,29 +2954,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5697:83:4", + "src": "5697:83:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 715, + "id": 752, "nodeType": "ExpressionStatement", - "src": "5697:83:4" + "src": "5697:83:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 716, + "id": 753, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5797:4:4", + "src": "5797:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2984,21 +2984,21 @@ }, "value": "true" }, - "functionReturnParameters": 700, - "id": 717, + "functionReturnParameters": 737, + "id": 754, "nodeType": "Return", - "src": "5790:11:4" + "src": "5790:11:5" } ] }, "documentation": { - "id": 692, + "id": 729, "nodeType": "StructuredDocumentation", - "src": "5204:384:4", + "src": "5204:384:5", "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." }, "functionSelector": "39509351", - "id": 719, + "id": 756, "implemented": true, "kind": "function", "modifiers": [], @@ -3006,18 +3006,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 697, + "id": 734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 694, + "id": 731, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 719, - "src": "5620:15:4", + "scope": 756, + "src": "5620:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3025,10 +3025,10 @@ "typeString": "address" }, "typeName": { - "id": 693, + "id": 730, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5620:7:4", + "src": "5620:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3040,13 +3040,13 @@ }, { "constant": false, - "id": 696, + "id": 733, "mutability": "mutable", "name": "addedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 719, - "src": "5637:18:4", + "scope": 756, + "src": "5637:18:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3054,10 +3054,10 @@ "typeString": "uint256" }, "typeName": { - "id": 695, + "id": 732, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5637:7:4", + "src": "5637:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3067,21 +3067,21 @@ "visibility": "internal" } ], - "src": "5619:37:4" + "src": "5619:37:5" }, "returnParameters": { - "id": 700, + "id": 737, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 699, + "id": 736, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 719, - "src": "5681:4:4", + "scope": 756, + "src": "5681:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3089,10 +3089,10 @@ "typeString": "bool" }, "typeName": { - "id": 698, + "id": 735, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5681:4:4", + "src": "5681:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3102,19 +3102,19 @@ "visibility": "internal" } ], - "src": "5680:6:4" + "src": "5680:6:5" }, - "scope": 993, - "src": "5593:215:4", + "scope": 1030, + "src": "5593:215:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 747, + "id": 784, "nodeType": "Block", - "src": "6394:167:4", + "src": "6394:167:5", "statements": [ { "expression": { @@ -3125,18 +3125,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 730, + "id": 767, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "6413:10:4", + "referencedDeclaration": 315, + "src": "6413:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 731, + "id": 768, "isConstant": false, "isLValue": false, "isPure": false, @@ -3144,7 +3144,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6413:12:4", + "src": "6413:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3153,12 +3153,12 @@ }, { "argumentTypes": null, - "id": 732, + "id": 769, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "6427:7:4", + "referencedDeclaration": 759, + "src": "6427:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3169,12 +3169,12 @@ "arguments": [ { "argumentTypes": null, - "id": 740, + "id": 777, "name": "subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6475:15:4", + "referencedDeclaration": 761, + "src": "6475:15:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3183,14 +3183,14 @@ { "argumentTypes": null, "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 741, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6492:39:4", + "src": "6492:39:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", @@ -3216,35 +3216,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 733, + "id": 770, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "6436:11:4", + "referencedDeclaration": 550, + "src": "6436:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 736, + "id": 773, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 734, + "id": 771, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "6448:10:4", + "referencedDeclaration": 315, + "src": "6448:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 735, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -3252,7 +3252,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6448:12:4", + "src": "6448:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3264,21 +3264,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6436:25:4", + "src": "6436:25:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 738, + "id": 775, "indexExpression": { "argumentTypes": null, - "id": 737, + "id": 774, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "6462:7:4", + "referencedDeclaration": 759, + "src": "6462:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3289,27 +3289,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6436:34:4", + "src": "6436:34:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 739, + "id": 776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 364, - "src": "6436:38:4", + "referencedDeclaration": 401, + "src": "6436:38:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 742, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, @@ -3317,7 +3317,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6436:96:4", + "src": "6436:96:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3340,18 +3340,18 @@ "typeString": "uint256" } ], - "id": 729, + "id": 766, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "6404:8:4", + "referencedDeclaration": 1007, + "src": "6404:8:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 743, + "id": 780, "isConstant": false, "isLValue": false, "isPure": false, @@ -3359,29 +3359,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6404:129:4", + "src": "6404:129:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 744, + "id": 781, "nodeType": "ExpressionStatement", - "src": "6404:129:4" + "src": "6404:129:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 745, + "id": 782, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6550:4:4", + "src": "6550:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3389,21 +3389,21 @@ }, "value": "true" }, - "functionReturnParameters": 728, - "id": 746, + "functionReturnParameters": 765, + "id": 783, "nodeType": "Return", - "src": "6543:11:4" + "src": "6543:11:5" } ] }, "documentation": { - "id": 720, + "id": 757, "nodeType": "StructuredDocumentation", - "src": "5814:476:4", + "src": "5814:476:5", "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." }, "functionSelector": "a457c2d7", - "id": 748, + "id": 785, "implemented": true, "kind": "function", "modifiers": [], @@ -3411,18 +3411,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 725, + "id": 762, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 722, + "id": 759, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 748, - "src": "6322:15:4", + "scope": 785, + "src": "6322:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3430,10 +3430,10 @@ "typeString": "address" }, "typeName": { - "id": 721, + "id": 758, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6322:7:4", + "src": "6322:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3445,13 +3445,13 @@ }, { "constant": false, - "id": 724, + "id": 761, "mutability": "mutable", "name": "subtractedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 748, - "src": "6339:23:4", + "scope": 785, + "src": "6339:23:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3459,10 +3459,10 @@ "typeString": "uint256" }, "typeName": { - "id": 723, + "id": 760, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6339:7:4", + "src": "6339:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3472,21 +3472,21 @@ "visibility": "internal" } ], - "src": "6321:42:4" + "src": "6321:42:5" }, "returnParameters": { - "id": 728, + "id": 765, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 727, + "id": 764, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 748, - "src": "6388:4:4", + "scope": 785, + "src": "6388:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3494,10 +3494,10 @@ "typeString": "bool" }, "typeName": { - "id": 726, + "id": 763, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6388:4:4", + "src": "6388:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3507,19 +3507,19 @@ "visibility": "internal" } ], - "src": "6387:6:4" + "src": "6387:6:5" }, - "scope": 993, - "src": "6295:266:4", + "scope": 1030, + "src": "6295:266:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 813, + "id": 850, "nodeType": "Block", - "src": "7122:443:4", + "src": "7122:443:5", "statements": [ { "expression": { @@ -3531,19 +3531,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 764, + "id": 801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 759, + "id": 796, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7140:6:4", + "referencedDeclaration": 788, + "src": "7140:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3557,14 +3557,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 762, + "id": 799, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7158:1:4", + "src": "7158:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3580,29 +3580,29 @@ "typeString": "int_const 0" } ], - "id": 761, + "id": 798, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7150:7:4", + "src": "7150:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 760, + "id": 797, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7150:7:4", + "src": "7150:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 763, + "id": 800, "isConstant": false, "isLValue": false, "isPure": true, @@ -3610,14 +3610,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7150:10:4", + "src": "7150:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7140:20:4", + "src": "7140:20:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3626,14 +3626,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 765, + "id": 802, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7162:39:4", + "src": "7162:39:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", @@ -3653,7 +3653,7 @@ "typeString": "literal_string \"ERC20: transfer from the zero address\"" } ], - "id": 758, + "id": 795, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3661,13 +3661,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7132:7:4", + "src": "7132:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 766, + "id": 803, "isConstant": false, "isLValue": false, "isPure": false, @@ -3675,16 +3675,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7132:70:4", + "src": "7132:70:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 767, + "id": 804, "nodeType": "ExpressionStatement", - "src": "7132:70:4" + "src": "7132:70:5" }, { "expression": { @@ -3696,19 +3696,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 774, + "id": 811, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 769, + "id": 806, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7220:9:4", + "referencedDeclaration": 790, + "src": "7220:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3722,14 +3722,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 772, + "id": 809, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7241:1:4", + "src": "7241:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3745,29 +3745,29 @@ "typeString": "int_const 0" } ], - "id": 771, + "id": 808, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7233:7:4", + "src": "7233:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 770, + "id": 807, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7233:7:4", + "src": "7233:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 773, + "id": 810, "isConstant": false, "isLValue": false, "isPure": true, @@ -3775,14 +3775,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7233:10:4", + "src": "7233:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7220:23:4", + "src": "7220:23:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3791,14 +3791,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 775, + "id": 812, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7245:37:4", + "src": "7245:37:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", @@ -3818,7 +3818,7 @@ "typeString": "literal_string \"ERC20: transfer to the zero address\"" } ], - "id": 768, + "id": 805, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3826,13 +3826,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7212:7:4", + "src": "7212:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 776, + "id": 813, "isConstant": false, "isLValue": false, "isPure": false, @@ -3840,16 +3840,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7212:71:4", + "src": "7212:71:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 777, + "id": 814, "nodeType": "ExpressionStatement", - "src": "7212:71:4" + "src": "7212:71:5" }, { "expression": { @@ -3857,12 +3857,12 @@ "arguments": [ { "argumentTypes": null, - "id": 779, + "id": 816, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7315:6:4", + "referencedDeclaration": 788, + "src": "7315:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3870,12 +3870,12 @@ }, { "argumentTypes": null, - "id": 780, + "id": 817, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7323:9:4", + "referencedDeclaration": 790, + "src": "7323:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3883,12 +3883,12 @@ }, { "argumentTypes": null, - "id": 781, + "id": 818, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "7334:6:4", + "referencedDeclaration": 792, + "src": "7334:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3910,18 +3910,18 @@ "typeString": "uint256" } ], - "id": 778, + "id": 815, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "7294:20:4", + "referencedDeclaration": 1029, + "src": "7294:20:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 782, + "id": 819, "isConstant": false, "isLValue": false, "isPure": false, @@ -3929,21 +3929,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7294:47:4", + "src": "7294:47:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 783, + "id": 820, "nodeType": "ExpressionStatement", - "src": "7294:47:4" + "src": "7294:47:5" }, { "expression": { "argumentTypes": null, - "id": 794, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -3952,26 +3952,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 784, + "id": 821, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "7352:9:4", + "referencedDeclaration": 544, + "src": "7352:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 786, + "id": 823, "indexExpression": { "argumentTypes": null, - "id": 785, + "id": 822, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7362:6:4", + "referencedDeclaration": 788, + "src": "7362:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3982,7 +3982,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7352:17:4", + "src": "7352:17:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3995,12 +3995,12 @@ "arguments": [ { "argumentTypes": null, - "id": 791, + "id": 828, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "7394:6:4", + "referencedDeclaration": 792, + "src": "7394:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4009,14 +4009,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 792, + "id": 829, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7402:40:4", + "src": "7402:40:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", @@ -4040,26 +4040,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 787, + "id": 824, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "7372:9:4", + "referencedDeclaration": 544, + "src": "7372:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 789, + "id": 826, "indexExpression": { "argumentTypes": null, - "id": 788, + "id": 825, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7382:6:4", + "referencedDeclaration": 788, + "src": "7382:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4070,27 +4070,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7372:17:4", + "src": "7372:17:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 790, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 364, - "src": "7372:21:4", + "referencedDeclaration": 401, + "src": "7372:21:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 793, + "id": 830, "isConstant": false, "isLValue": false, "isPure": false, @@ -4098,27 +4098,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7372:71:4", + "src": "7372:71:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7352:91:4", + "src": "7352:91:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 795, + "id": 832, "nodeType": "ExpressionStatement", - "src": "7352:91:4" + "src": "7352:91:5" }, { "expression": { "argumentTypes": null, - "id": 805, + "id": 842, "isConstant": false, "isLValue": false, "isPure": false, @@ -4127,26 +4127,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 796, + "id": 833, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "7453:9:4", + "referencedDeclaration": 544, + "src": "7453:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 798, + "id": 835, "indexExpression": { "argumentTypes": null, - "id": 797, + "id": 834, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7463:9:4", + "referencedDeclaration": 790, + "src": "7463:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4157,7 +4157,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7453:20:4", + "src": "7453:20:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4170,12 +4170,12 @@ "arguments": [ { "argumentTypes": null, - "id": 803, + "id": 840, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "7501:6:4", + "referencedDeclaration": 792, + "src": "7501:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4193,26 +4193,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 799, + "id": 836, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "7476:9:4", + "referencedDeclaration": 544, + "src": "7476:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 801, + "id": 838, "indexExpression": { "argumentTypes": null, - "id": 800, + "id": 837, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7486:9:4", + "referencedDeclaration": 790, + "src": "7486:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4223,27 +4223,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7476:20:4", + "src": "7476:20:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 802, + "id": 839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 319, - "src": "7476:24:4", + "referencedDeclaration": 356, + "src": "7476:24:5", "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": 804, + "id": 841, "isConstant": false, "isLValue": false, "isPure": false, @@ -4251,22 +4251,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7476:32:4", + "src": "7476:32:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7453:55:4", + "src": "7453:55:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 806, + "id": 843, "nodeType": "ExpressionStatement", - "src": "7453:55:4" + "src": "7453:55:5" }, { "eventCall": { @@ -4274,12 +4274,12 @@ "arguments": [ { "argumentTypes": null, - "id": 808, + "id": 845, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7532:6:4", + "referencedDeclaration": 788, + "src": "7532:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4287,12 +4287,12 @@ }, { "argumentTypes": null, - "id": 809, + "id": 846, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7540:9:4", + "referencedDeclaration": 790, + "src": "7540:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4300,12 +4300,12 @@ }, { "argumentTypes": null, - "id": 810, + "id": 847, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "7551:6:4", + "referencedDeclaration": 792, + "src": "7551:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4327,18 +4327,18 @@ "typeString": "uint256" } ], - "id": 807, + "id": 844, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "7523:8:4", + "referencedDeclaration": 1098, + "src": "7523:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 811, + "id": 848, "isConstant": false, "isLValue": false, "isPure": false, @@ -4346,26 +4346,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7523:35:4", + "src": "7523:35:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 812, + "id": 849, "nodeType": "EmitStatement", - "src": "7518:40:4" + "src": "7518:40:5" } ] }, "documentation": { - "id": 749, + "id": 786, "nodeType": "StructuredDocumentation", - "src": "6567:463:4", + "src": "6567:463:5", "text": " @dev Moves tokens `amount` from `sender` to `recipient`.\n This is internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `sender` cannot be the zero address.\n - `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`." }, - "id": 814, + "id": 851, "implemented": true, "kind": "function", "modifiers": [], @@ -4373,18 +4373,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 756, + "id": 793, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 751, + "id": 788, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 814, - "src": "7054:14:4", + "scope": 851, + "src": "7054:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4392,10 +4392,10 @@ "typeString": "address" }, "typeName": { - "id": 750, + "id": 787, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7054:7:4", + "src": "7054:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4407,13 +4407,13 @@ }, { "constant": false, - "id": 753, + "id": 790, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 814, - "src": "7070:17:4", + "scope": 851, + "src": "7070:17:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4421,10 +4421,10 @@ "typeString": "address" }, "typeName": { - "id": 752, + "id": 789, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7070:7:4", + "src": "7070:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4436,13 +4436,13 @@ }, { "constant": false, - "id": 755, + "id": 792, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 814, - "src": "7089:14:4", + "scope": 851, + "src": "7089:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4450,10 +4450,10 @@ "typeString": "uint256" }, "typeName": { - "id": 754, + "id": 791, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7089:7:4", + "src": "7089:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4463,25 +4463,25 @@ "visibility": "internal" } ], - "src": "7053:51:4" + "src": "7053:51:5" }, "returnParameters": { - "id": 757, + "id": 794, "nodeType": "ParameterList", "parameters": [], - "src": "7122:0:4" + "src": "7122:0:5" }, - "scope": 993, - "src": "7035:530:4", + "scope": 1030, + "src": "7035:530:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 868, + "id": 905, "nodeType": "Block", - "src": "7900:305:4", + "src": "7900:305:5", "statements": [ { "expression": { @@ -4493,19 +4493,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 828, + "id": 865, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 823, + "id": 860, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "7918:7:4", + "referencedDeclaration": 854, + "src": "7918:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4519,14 +4519,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 826, + "id": 863, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7937:1:4", + "src": "7937:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4542,29 +4542,29 @@ "typeString": "int_const 0" } ], - "id": 825, + "id": 862, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7929:7:4", + "src": "7929:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 824, + "id": 861, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7929:7:4", + "src": "7929:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 827, + "id": 864, "isConstant": false, "isLValue": false, "isPure": true, @@ -4572,14 +4572,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7929:10:4", + "src": "7929:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7918:21:4", + "src": "7918:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4588,14 +4588,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 829, + "id": 866, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7941:33:4", + "src": "7941:33:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", @@ -4615,7 +4615,7 @@ "typeString": "literal_string \"ERC20: mint to the zero address\"" } ], - "id": 822, + "id": 859, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4623,13 +4623,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7910:7:4", + "src": "7910:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 830, + "id": 867, "isConstant": false, "isLValue": false, "isPure": false, @@ -4637,16 +4637,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7910:65:4", + "src": "7910:65:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 831, + "id": 868, "nodeType": "ExpressionStatement", - "src": "7910:65:4" + "src": "7910:65:5" }, { "expression": { @@ -4658,14 +4658,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 835, + "id": 872, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8015:1:4", + "src": "8015:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4681,29 +4681,29 @@ "typeString": "int_const 0" } ], - "id": 834, + "id": 871, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8007:7:4", + "src": "8007:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 833, + "id": 870, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8007:7:4", + "src": "8007:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 836, + "id": 873, "isConstant": false, "isLValue": false, "isPure": true, @@ -4711,7 +4711,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8007:10:4", + "src": "8007:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -4720,12 +4720,12 @@ }, { "argumentTypes": null, - "id": 837, + "id": 874, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "8019:7:4", + "referencedDeclaration": 854, + "src": "8019:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4733,12 +4733,12 @@ }, { "argumentTypes": null, - "id": 838, + "id": 875, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "8028:6:4", + "referencedDeclaration": 856, + "src": "8028:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4760,18 +4760,18 @@ "typeString": "uint256" } ], - "id": 832, + "id": 869, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "7986:20:4", + "referencedDeclaration": 1029, + "src": "7986:20:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 839, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, @@ -4779,33 +4779,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7986:49:4", + "src": "7986:49:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 840, + "id": 877, "nodeType": "ExpressionStatement", - "src": "7986:49:4" + "src": "7986:49:5" }, { "expression": { "argumentTypes": null, - "id": 846, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 841, + "id": 878, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "8046:12:4", + "referencedDeclaration": 552, + "src": "8046:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4818,12 +4818,12 @@ "arguments": [ { "argumentTypes": null, - "id": 844, + "id": 881, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "8078:6:4", + "referencedDeclaration": 856, + "src": "8078:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4839,32 +4839,32 @@ ], "expression": { "argumentTypes": null, - "id": 842, + "id": 879, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "8061:12:4", + "referencedDeclaration": 552, + "src": "8061:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 843, + "id": 880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 319, - "src": "8061:16:4", + "referencedDeclaration": 356, + "src": "8061:16:5", "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": 845, + "id": 882, "isConstant": false, "isLValue": false, "isPure": false, @@ -4872,27 +4872,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8061:24:4", + "src": "8061:24:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8046:39:4", + "src": "8046:39:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 847, + "id": 884, "nodeType": "ExpressionStatement", - "src": "8046:39:4" + "src": "8046:39:5" }, { "expression": { "argumentTypes": null, - "id": 857, + "id": 894, "isConstant": false, "isLValue": false, "isPure": false, @@ -4901,26 +4901,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 848, + "id": 885, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "8095:9:4", + "referencedDeclaration": 544, + "src": "8095:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 850, + "id": 887, "indexExpression": { "argumentTypes": null, - "id": 849, + "id": 886, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "8105:7:4", + "referencedDeclaration": 854, + "src": "8105:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4931,7 +4931,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8095:18:4", + "src": "8095:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4944,12 +4944,12 @@ "arguments": [ { "argumentTypes": null, - "id": 855, + "id": 892, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "8139:6:4", + "referencedDeclaration": 856, + "src": "8139:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4967,26 +4967,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 851, + "id": 888, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "8116:9:4", + "referencedDeclaration": 544, + "src": "8116:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 853, + "id": 890, "indexExpression": { "argumentTypes": null, - "id": 852, + "id": 889, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "8126:7:4", + "referencedDeclaration": 854, + "src": "8126:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4997,27 +4997,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8116:18:4", + "src": "8116:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 854, + "id": 891, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 319, - "src": "8116:22:4", + "referencedDeclaration": 356, + "src": "8116:22:5", "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": 856, + "id": 893, "isConstant": false, "isLValue": false, "isPure": false, @@ -5025,22 +5025,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8116:30:4", + "src": "8116:30:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8095:51:4", + "src": "8095:51:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 858, + "id": 895, "nodeType": "ExpressionStatement", - "src": "8095:51:4" + "src": "8095:51:5" }, { "eventCall": { @@ -5052,14 +5052,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 862, + "id": 899, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8178:1:4", + "src": "8178:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5075,29 +5075,29 @@ "typeString": "int_const 0" } ], - "id": 861, + "id": 898, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8170:7:4", + "src": "8170:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 860, + "id": 897, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8170:7:4", + "src": "8170:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 863, + "id": 900, "isConstant": false, "isLValue": false, "isPure": true, @@ -5105,7 +5105,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8170:10:4", + "src": "8170:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -5114,12 +5114,12 @@ }, { "argumentTypes": null, - "id": 864, + "id": 901, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "8182:7:4", + "referencedDeclaration": 854, + "src": "8182:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5127,12 +5127,12 @@ }, { "argumentTypes": null, - "id": 865, + "id": 902, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "8191:6:4", + "referencedDeclaration": 856, + "src": "8191:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5154,18 +5154,18 @@ "typeString": "uint256" } ], - "id": 859, + "id": 896, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "8161:8:4", + "referencedDeclaration": 1098, + "src": "8161:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 866, + "id": 903, "isConstant": false, "isLValue": false, "isPure": false, @@ -5173,26 +5173,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8161:37:4", + "src": "8161:37:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 867, + "id": 904, "nodeType": "EmitStatement", - "src": "8156:42:4" + "src": "8156:42:5" } ] }, "documentation": { - "id": 815, + "id": 852, "nodeType": "StructuredDocumentation", - "src": "7571:259:4", + "src": "7571:259:5", "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements\n - `to` cannot be the zero address." }, - "id": 869, + "id": 906, "implemented": true, "kind": "function", "modifiers": [], @@ -5200,18 +5200,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 820, + "id": 857, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 817, + "id": 854, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 869, - "src": "7850:15:4", + "scope": 906, + "src": "7850:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5219,10 +5219,10 @@ "typeString": "address" }, "typeName": { - "id": 816, + "id": 853, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7850:7:4", + "src": "7850:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5234,13 +5234,13 @@ }, { "constant": false, - "id": 819, + "id": 856, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 869, - "src": "7867:14:4", + "scope": 906, + "src": "7867:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5248,10 +5248,10 @@ "typeString": "uint256" }, "typeName": { - "id": 818, + "id": 855, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7867:7:4", + "src": "7867:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5261,25 +5261,25 @@ "visibility": "internal" } ], - "src": "7849:33:4" + "src": "7849:33:5" }, "returnParameters": { - "id": 821, + "id": 858, "nodeType": "ParameterList", "parameters": [], - "src": "7900:0:4" + "src": "7900:0:5" }, - "scope": 993, - "src": "7835:370:4", + "scope": 1030, + "src": "7835:370:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 924, + "id": 961, "nodeType": "Block", - "src": "8589:345:4", + "src": "8589:345:5", "statements": [ { "expression": { @@ -5291,19 +5291,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 883, + "id": 920, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 878, + "id": 915, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8607:7:4", + "referencedDeclaration": 909, + "src": "8607:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5317,14 +5317,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 881, + "id": 918, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8626:1:4", + "src": "8626:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5340,29 +5340,29 @@ "typeString": "int_const 0" } ], - "id": 880, + "id": 917, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8618:7:4", + "src": "8618:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 879, + "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8618:7:4", + "src": "8618:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 882, + "id": 919, "isConstant": false, "isLValue": false, "isPure": true, @@ -5370,14 +5370,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8618:10:4", + "src": "8618:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "8607:21:4", + "src": "8607:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5386,14 +5386,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 884, + "id": 921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8630:35:4", + "src": "8630:35:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", @@ -5413,7 +5413,7 @@ "typeString": "literal_string \"ERC20: burn from the zero address\"" } ], - "id": 877, + "id": 914, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5421,13 +5421,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8599:7:4", + "src": "8599:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 885, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -5435,16 +5435,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8599:67:4", + "src": "8599:67:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 886, + "id": 923, "nodeType": "ExpressionStatement", - "src": "8599:67:4" + "src": "8599:67:5" }, { "expression": { @@ -5452,12 +5452,12 @@ "arguments": [ { "argumentTypes": null, - "id": 888, + "id": 925, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8698:7:4", + "referencedDeclaration": 909, + "src": "8698:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5469,14 +5469,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 891, + "id": 928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8715:1:4", + "src": "8715:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5492,29 +5492,29 @@ "typeString": "int_const 0" } ], - "id": 890, + "id": 927, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8707:7:4", + "src": "8707:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 889, + "id": 926, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8707:7:4", + "src": "8707:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 892, + "id": 929, "isConstant": false, "isLValue": false, "isPure": true, @@ -5522,7 +5522,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8707:10:4", + "src": "8707:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -5531,12 +5531,12 @@ }, { "argumentTypes": null, - "id": 893, + "id": 930, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "8719:6:4", + "referencedDeclaration": 911, + "src": "8719:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5558,18 +5558,18 @@ "typeString": "uint256" } ], - "id": 887, + "id": 924, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "8677:20:4", + "referencedDeclaration": 1029, + "src": "8677:20:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 894, + "id": 931, "isConstant": false, "isLValue": false, "isPure": false, @@ -5577,21 +5577,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8677:49:4", + "src": "8677:49:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 895, + "id": 932, "nodeType": "ExpressionStatement", - "src": "8677:49:4" + "src": "8677:49:5" }, { "expression": { "argumentTypes": null, - "id": 906, + "id": 943, "isConstant": false, "isLValue": false, "isPure": false, @@ -5600,26 +5600,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 896, + "id": 933, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "8737:9:4", + "referencedDeclaration": 544, + "src": "8737:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 898, + "id": 935, "indexExpression": { "argumentTypes": null, - "id": 897, + "id": 934, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8747:7:4", + "referencedDeclaration": 909, + "src": "8747:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5630,7 +5630,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8737:18:4", + "src": "8737:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5643,12 +5643,12 @@ "arguments": [ { "argumentTypes": null, - "id": 903, + "id": 940, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "8781:6:4", + "referencedDeclaration": 911, + "src": "8781:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5657,14 +5657,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 904, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8789:36:4", + "src": "8789:36:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", @@ -5688,26 +5688,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 899, + "id": 936, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "8758:9:4", + "referencedDeclaration": 544, + "src": "8758:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 901, + "id": 938, "indexExpression": { "argumentTypes": null, - "id": 900, + "id": 937, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8768:7:4", + "referencedDeclaration": 909, + "src": "8768:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5718,27 +5718,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8758:18:4", + "src": "8758:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 902, + "id": 939, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 364, - "src": "8758:22:4", + "referencedDeclaration": 401, + "src": "8758:22:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 905, + "id": 942, "isConstant": false, "isLValue": false, "isPure": false, @@ -5746,39 +5746,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8758:68:4", + "src": "8758:68:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8737:89:4", + "src": "8737:89:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 907, + "id": 944, "nodeType": "ExpressionStatement", - "src": "8737:89:4" + "src": "8737:89:5" }, { "expression": { "argumentTypes": null, - "id": 913, + "id": 950, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 908, + "id": 945, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "8836:12:4", + "referencedDeclaration": 552, + "src": "8836:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5791,12 +5791,12 @@ "arguments": [ { "argumentTypes": null, - "id": 911, + "id": 948, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "8868:6:4", + "referencedDeclaration": 911, + "src": "8868:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5812,32 +5812,32 @@ ], "expression": { "argumentTypes": null, - "id": 909, + "id": 946, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "8851:12:4", + "referencedDeclaration": 552, + "src": "8851:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 910, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 336, - "src": "8851:16:4", + "referencedDeclaration": 373, + "src": "8851:16:5", "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": 912, + "id": 949, "isConstant": false, "isLValue": false, "isPure": false, @@ -5845,22 +5845,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8851:24:4", + "src": "8851:24:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8836:39:4", + "src": "8836:39:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 914, + "id": 951, "nodeType": "ExpressionStatement", - "src": "8836:39:4" + "src": "8836:39:5" }, { "eventCall": { @@ -5868,12 +5868,12 @@ "arguments": [ { "argumentTypes": null, - "id": 916, + "id": 953, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8899:7:4", + "referencedDeclaration": 909, + "src": "8899:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5885,14 +5885,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 919, + "id": 956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8916:1:4", + "src": "8916:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5908,29 +5908,29 @@ "typeString": "int_const 0" } ], - "id": 918, + "id": 955, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8908:7:4", + "src": "8908:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 917, + "id": 954, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8908:7:4", + "src": "8908:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 920, + "id": 957, "isConstant": false, "isLValue": false, "isPure": true, @@ -5938,7 +5938,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8908:10:4", + "src": "8908:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -5947,12 +5947,12 @@ }, { "argumentTypes": null, - "id": 921, + "id": 958, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "8920:6:4", + "referencedDeclaration": 911, + "src": "8920:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5974,18 +5974,18 @@ "typeString": "uint256" } ], - "id": 915, + "id": 952, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "8890:8:4", + "referencedDeclaration": 1098, + "src": "8890:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 922, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -5993,26 +5993,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8890:37:4", + "src": "8890:37:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 923, + "id": 960, "nodeType": "EmitStatement", - "src": "8885:42:4" + "src": "8885:42:5" } ] }, "documentation": { - "id": 870, + "id": 907, "nodeType": "StructuredDocumentation", - "src": "8211:308:4", + "src": "8211:308:5", "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." }, - "id": 925, + "id": 962, "implemented": true, "kind": "function", "modifiers": [], @@ -6020,18 +6020,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 875, + "id": 912, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 872, + "id": 909, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 925, - "src": "8539:15:4", + "scope": 962, + "src": "8539:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6039,10 +6039,10 @@ "typeString": "address" }, "typeName": { - "id": 871, + "id": 908, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8539:7:4", + "src": "8539:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6054,13 +6054,13 @@ }, { "constant": false, - "id": 874, + "id": 911, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 925, - "src": "8556:14:4", + "scope": 962, + "src": "8556:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6068,10 +6068,10 @@ "typeString": "uint256" }, "typeName": { - "id": 873, + "id": 910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8556:7:4", + "src": "8556:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6081,25 +6081,25 @@ "visibility": "internal" } ], - "src": "8538:33:4" + "src": "8538:33:5" }, "returnParameters": { - "id": 876, + "id": 913, "nodeType": "ParameterList", "parameters": [], - "src": "8589:0:4" + "src": "8589:0:5" }, - "scope": 993, - "src": "8524:410:4", + "scope": 1030, + "src": "8524:410:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 969, + "id": 1006, "nodeType": "Block", - "src": "9442:257:4", + "src": "9442:257:5", "statements": [ { "expression": { @@ -6111,19 +6111,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 941, + "id": 978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 936, + "id": 973, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "9460:5:4", + "referencedDeclaration": 965, + "src": "9460:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6137,14 +6137,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 939, + "id": 976, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9477:1:4", + "src": "9477:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6160,29 +6160,29 @@ "typeString": "int_const 0" } ], - "id": 938, + "id": 975, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9469:7:4", + "src": "9469:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 937, + "id": 974, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9469:7:4", + "src": "9469:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 940, + "id": 977, "isConstant": false, "isLValue": false, "isPure": true, @@ -6190,14 +6190,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9469:10:4", + "src": "9469:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9460:19:4", + "src": "9460:19:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6206,14 +6206,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 942, + "id": 979, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9481:38:4", + "src": "9481:38:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", @@ -6233,7 +6233,7 @@ "typeString": "literal_string \"ERC20: approve from the zero address\"" } ], - "id": 935, + "id": 972, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -6241,13 +6241,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9452:7:4", + "src": "9452:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 943, + "id": 980, "isConstant": false, "isLValue": false, "isPure": false, @@ -6255,16 +6255,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9452:68:4", + "src": "9452:68:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 944, + "id": 981, "nodeType": "ExpressionStatement", - "src": "9452:68:4" + "src": "9452:68:5" }, { "expression": { @@ -6276,19 +6276,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 951, + "id": 988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 946, + "id": 983, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 930, - "src": "9538:7:4", + "referencedDeclaration": 967, + "src": "9538:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6302,14 +6302,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 949, + "id": 986, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9557:1:4", + "src": "9557:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6325,29 +6325,29 @@ "typeString": "int_const 0" } ], - "id": 948, + "id": 985, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9549:7:4", + "src": "9549:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 947, + "id": 984, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9549:7:4", + "src": "9549:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 950, + "id": 987, "isConstant": false, "isLValue": false, "isPure": true, @@ -6355,14 +6355,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9549:10:4", + "src": "9549:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9538:21:4", + "src": "9538:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6371,14 +6371,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 952, + "id": 989, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9561:36:4", + "src": "9561:36:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", @@ -6398,7 +6398,7 @@ "typeString": "literal_string \"ERC20: approve to the zero address\"" } ], - "id": 945, + "id": 982, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -6406,13 +6406,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9530:7:4", + "src": "9530:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 953, + "id": 990, "isConstant": false, "isLValue": false, "isPure": false, @@ -6420,21 +6420,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9530:68:4", + "src": "9530:68:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 954, + "id": 991, "nodeType": "ExpressionStatement", - "src": "9530:68:4" + "src": "9530:68:5" }, { "expression": { "argumentTypes": null, - "id": 961, + "id": 998, "isConstant": false, "isLValue": false, "isPure": false, @@ -6445,26 +6445,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 955, + "id": 992, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "9609:11:4", + "referencedDeclaration": 550, + "src": "9609:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 958, + "id": 995, "indexExpression": { "argumentTypes": null, - "id": 956, + "id": 993, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "9621:5:4", + "referencedDeclaration": 965, + "src": "9621:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6475,21 +6475,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9609:18:4", + "src": "9609:18:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 959, + "id": 996, "indexExpression": { "argumentTypes": null, - "id": 957, + "id": 994, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 930, - "src": "9628:7:4", + "referencedDeclaration": 967, + "src": "9628:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6500,7 +6500,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9609:27:4", + "src": "9609:27:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6510,26 +6510,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 960, + "id": 997, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 932, - "src": "9639:6:4", + "referencedDeclaration": 969, + "src": "9639:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9609:36:4", + "src": "9609:36:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 962, + "id": 999, "nodeType": "ExpressionStatement", - "src": "9609:36:4" + "src": "9609:36:5" }, { "eventCall": { @@ -6537,12 +6537,12 @@ "arguments": [ { "argumentTypes": null, - "id": 964, + "id": 1001, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "9669:5:4", + "referencedDeclaration": 965, + "src": "9669:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6550,12 +6550,12 @@ }, { "argumentTypes": null, - "id": 965, + "id": 1002, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 930, - "src": "9676:7:4", + "referencedDeclaration": 967, + "src": "9676:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6563,12 +6563,12 @@ }, { "argumentTypes": null, - "id": 966, + "id": 1003, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 932, - "src": "9685:6:4", + "referencedDeclaration": 969, + "src": "9685:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6590,18 +6590,18 @@ "typeString": "uint256" } ], - "id": 963, + "id": 1000, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "9660:8:4", + "referencedDeclaration": 1107, + "src": "9660:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 967, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -6609,26 +6609,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9660:32:4", + "src": "9660:32:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 968, + "id": 1005, "nodeType": "EmitStatement", - "src": "9655:37:4" + "src": "9655:37:5" } ] }, "documentation": { - "id": 926, + "id": 963, "nodeType": "StructuredDocumentation", - "src": "8940:414:4", + "src": "8940:414:5", "text": " @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n This is internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." }, - "id": 970, + "id": 1007, "implemented": true, "kind": "function", "modifiers": [], @@ -6636,18 +6636,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 933, + "id": 970, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 928, + "id": 965, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 970, - "src": "9377:13:4", + "scope": 1007, + "src": "9377:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6655,10 +6655,10 @@ "typeString": "address" }, "typeName": { - "id": 927, + "id": 964, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9377:7:4", + "src": "9377:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6670,13 +6670,13 @@ }, { "constant": false, - "id": 930, + "id": 967, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 970, - "src": "9392:15:4", + "scope": 1007, + "src": "9392:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6684,10 +6684,10 @@ "typeString": "address" }, "typeName": { - "id": 929, + "id": 966, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9392:7:4", + "src": "9392:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6699,13 +6699,13 @@ }, { "constant": false, - "id": 932, + "id": 969, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 970, - "src": "9409:14:4", + "scope": 1007, + "src": "9409:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6713,10 +6713,10 @@ "typeString": "uint256" }, "typeName": { - "id": 931, + "id": 968, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9409:7:4", + "src": "9409:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6726,42 +6726,42 @@ "visibility": "internal" } ], - "src": "9376:48:4" + "src": "9376:48:5" }, "returnParameters": { - "id": 934, + "id": 971, "nodeType": "ParameterList", "parameters": [], - "src": "9442:0:4" + "src": "9442:0:5" }, - "scope": 993, - "src": "9359:340:4", + "scope": 1030, + "src": "9359:340:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 980, + "id": 1017, "nodeType": "Block", - "src": "10072:38:4", + "src": "10072:38:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 978, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 976, + "id": 1013, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "10082:9:4", + "referencedDeclaration": 558, + "src": "10082:9:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6771,36 +6771,36 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 977, + "id": 1014, "name": "decimals_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "10094:9:4", + "referencedDeclaration": 1010, + "src": "10094:9:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "10082:21:4", + "src": "10082:21:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 979, + "id": 1016, "nodeType": "ExpressionStatement", - "src": "10082:21:4" + "src": "10082:21:5" } ] }, "documentation": { - "id": 971, + "id": 1008, "nodeType": "StructuredDocumentation", - "src": "9705:312:4", + "src": "9705:312:5", "text": " @dev Sets {decimals} to a value other than the default one of 18.\n WARNING: This function should only be called from the constructor. Most\n applications that interact with token contracts will not expect\n {decimals} to ever change, and may work incorrectly if it does." }, - "id": 981, + "id": 1018, "implemented": true, "kind": "function", "modifiers": [], @@ -6808,18 +6808,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 974, + "id": 1011, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 973, + "id": 1010, "mutability": "mutable", "name": "decimals_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 981, - "src": "10046:15:4", + "scope": 1018, + "src": "10046:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6827,10 +6827,10 @@ "typeString": "uint8" }, "typeName": { - "id": 972, + "id": 1009, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10046:5:4", + "src": "10046:5:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6840,34 +6840,34 @@ "visibility": "internal" } ], - "src": "10045:17:4" + "src": "10045:17:5" }, "returnParameters": { - "id": 975, + "id": 1012, "nodeType": "ParameterList", "parameters": [], - "src": "10072:0:4" + "src": "10072:0:5" }, - "scope": 993, - "src": "10022:88:4", + "scope": 1030, + "src": "10022:88:5", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 991, + "id": 1028, "nodeType": "Block", - "src": "10786:3:4", + "src": "10786:3:5", "statements": [] }, "documentation": { - "id": 982, + "id": 1019, "nodeType": "StructuredDocumentation", - "src": "10116:576:4", + "src": "10116:576:5", "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be to transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." }, - "id": 992, + "id": 1029, "implemented": true, "kind": "function", "modifiers": [], @@ -6875,18 +6875,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 989, + "id": 1026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 984, + "id": 1021, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 992, - "src": "10727:12:4", + "scope": 1029, + "src": "10727:12:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6894,10 +6894,10 @@ "typeString": "address" }, "typeName": { - "id": 983, + "id": 1020, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10727:7:4", + "src": "10727:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6909,13 +6909,13 @@ }, { "constant": false, - "id": 986, + "id": 1023, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 992, - "src": "10741:10:4", + "scope": 1029, + "src": "10741:10:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6923,10 +6923,10 @@ "typeString": "address" }, "typeName": { - "id": 985, + "id": 1022, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10741:7:4", + "src": "10741:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6938,13 +6938,13 @@ }, { "constant": false, - "id": 988, + "id": 1025, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 992, - "src": "10753:14:4", + "scope": 1029, + "src": "10753:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6952,10 +6952,10 @@ "typeString": "uint256" }, "typeName": { - "id": 987, + "id": 1024, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10753:7:4", + "src": "10753:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6965,40 +6965,40 @@ "visibility": "internal" } ], - "src": "10726:42:4" + "src": "10726:42:5" }, "returnParameters": { - "id": 990, + "id": 1027, "nodeType": "ParameterList", "parameters": [], - "src": "10786:0:4" + "src": "10786:0:5" }, - "scope": 993, - "src": "10697:92:4", + "scope": 1030, + "src": "10697:92:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" } ], - "scope": 994, - "src": "1345:9446:4" + "scope": 1031, + "src": "1345:9446:5" } ], - "src": "33:10759:4" + "src": "33:10759:5" }, "legacyAST": { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 993 + 1030 ] }, - "id": 994, + "id": 1031, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 488, + "id": 525, "literals": [ "solidity", "^", @@ -7006,49 +7006,49 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:4" + "src": "33:23:5" }, { "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "id": 489, + "id": 526, "nodeType": "ImportDirective", - "scope": 994, - "sourceUnit": 291, - "src": "58:31:4", + "scope": 1031, + "sourceUnit": 328, + "src": "58:31:5", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 490, + "id": 527, "nodeType": "ImportDirective", - "scope": 994, - "sourceUnit": 1072, - "src": "90:22:4", + "scope": 1031, + "sourceUnit": 1109, + "src": "90:22:5", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 491, + "id": 528, "nodeType": "ImportDirective", - "scope": 994, - "sourceUnit": 487, - "src": "113:33:4", + "scope": 1031, + "sourceUnit": 524, + "src": "113:33:5", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/Address.sol", "file": "../../utils/Address.sol", - "id": 492, + "id": 529, "nodeType": "ImportDirective", - "scope": 994, - "sourceUnit": 1276, - "src": "147:33:4", + "scope": 1031, + "sourceUnit": 1313, + "src": "147:33:5", "symbolAliases": [], "unitAlias": "" }, @@ -7059,81 +7059,81 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 494, + "id": 531, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 290, - "src": "1363:7:4", + "referencedDeclaration": 327, + "src": "1363:7:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$290", + "typeIdentifier": "t_contract$_Context_$327", "typeString": "contract Context" } }, - "id": 495, + "id": 532, "nodeType": "InheritanceSpecifier", - "src": "1363:7:4" + "src": "1363:7:5" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 496, + "id": 533, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1071, - "src": "1372:6:4", + "referencedDeclaration": 1108, + "src": "1372:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1071", + "typeIdentifier": "t_contract$_IERC20_$1108", "typeString": "contract IERC20" } }, - "id": 497, + "id": 534, "nodeType": "InheritanceSpecifier", - "src": "1372:6:4" + "src": "1372:6:5" } ], "contractDependencies": [ - 290, - 1071 + 327, + 1108 ], "contractKind": "contract", "documentation": { - "id": 493, + "id": 530, "nodeType": "StructuredDocumentation", - "src": "182:1162:4", + "src": "182:1162:5", "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin guidelines: functions revert instead\n of returning `false` on failure. This behavior is nonetheless conventional\n and does not conflict with the expectations of ERC20 applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." }, "fullyImplemented": true, - "id": 993, + "id": 1030, "linearizedBaseContracts": [ - 993, - 1071, - 290 + 1030, + 1108, + 327 ], "name": "ERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 500, + "id": 537, "libraryName": { "contractScope": null, - "id": 498, + "id": 535, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 486, - "src": "1391:8:4", + "referencedDeclaration": 523, + "src": "1391:8:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$486", + "typeIdentifier": "t_contract$_SafeMath_$523", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "1385:27:4", + "src": "1385:27:5", "typeName": { - "id": 499, + "id": 536, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1404:7:4", + "src": "1404:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7141,26 +7141,26 @@ } }, { - "id": 503, + "id": 540, "libraryName": { "contractScope": null, - "id": 501, + "id": 538, "name": "Address", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1275, - "src": "1423:7:4", + "referencedDeclaration": 1312, + "src": "1423:7:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$1275", + "typeIdentifier": "t_contract$_Address_$1312", "typeString": "library Address" } }, "nodeType": "UsingForDirective", - "src": "1417:26:4", + "src": "1417:26:5", "typeName": { - "id": 502, + "id": 539, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1435:7:4", + "src": "1435:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7170,13 +7170,13 @@ }, { "constant": false, - "id": 507, + "id": 544, "mutability": "mutable", "name": "_balances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1449:46:4", + "scope": 1030, + "src": "1449:46:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7184,28 +7184,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 506, + "id": 543, "keyType": { - "id": 504, + "id": 541, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1458:7:4", + "src": "1458:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1449:28:4", + "src": "1449:28:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 505, + "id": 542, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1469:7:4", + "src": "1469:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7217,13 +7217,13 @@ }, { "constant": false, - "id": 513, + "id": 550, "mutability": "mutable", "name": "_allowances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1502:69:4", + "scope": 1030, + "src": "1502:69:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7231,46 +7231,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 512, + "id": 549, "keyType": { - "id": 508, + "id": 545, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1511:7:4", + "src": "1511:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1502:49:4", + "src": "1502:49:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 511, + "id": 548, "keyType": { - "id": 509, + "id": 546, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1531:7:4", + "src": "1531:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1522:28:4", + "src": "1522:28:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 510, + "id": 547, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1542:7:4", + "src": "1542:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7283,13 +7283,13 @@ }, { "constant": false, - "id": 515, + "id": 552, "mutability": "mutable", "name": "_totalSupply", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1578:28:4", + "scope": 1030, + "src": "1578:28:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7297,10 +7297,10 @@ "typeString": "uint256" }, "typeName": { - "id": 514, + "id": 551, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1578:7:4", + "src": "1578:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7311,13 +7311,13 @@ }, { "constant": false, - "id": 517, + "id": 554, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1613:20:4", + "scope": 1030, + "src": "1613:20:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7325,10 +7325,10 @@ "typeString": "string" }, "typeName": { - "id": 516, + "id": 553, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1613:6:4", + "src": "1613:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7339,13 +7339,13 @@ }, { "constant": false, - "id": 519, + "id": 556, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1639:22:4", + "scope": 1030, + "src": "1639:22:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7353,10 +7353,10 @@ "typeString": "string" }, "typeName": { - "id": 518, + "id": 555, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1639:6:4", + "src": "1639:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7367,13 +7367,13 @@ }, { "constant": false, - "id": 521, + "id": 558, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 993, - "src": "1667:23:4", + "scope": 1030, + "src": "1667:23:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7381,10 +7381,10 @@ "typeString": "uint8" }, "typeName": { - "id": 520, + "id": 557, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1667:5:4", + "src": "1667:5:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7395,26 +7395,26 @@ }, { "body": { - "id": 541, + "id": 578, "nodeType": "Block", - "src": "2075:79:4", + "src": "2075:79:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 531, + "id": 568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 529, + "id": 566, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "2085:5:4", + "referencedDeclaration": 554, + "src": "2085:5:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -7424,43 +7424,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 530, + "id": 567, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "2093:4:4", + "referencedDeclaration": 561, + "src": "2093:4:5", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2085:12:4", + "src": "2085:12:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 532, + "id": 569, "nodeType": "ExpressionStatement", - "src": "2085:12:4" + "src": "2085:12:5" }, { "expression": { "argumentTypes": null, - "id": 535, + "id": 572, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 533, + "id": 570, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "2107:7:4", + "referencedDeclaration": 556, + "src": "2107:7:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -7470,43 +7470,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 534, + "id": 571, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 526, - "src": "2117:6:4", + "referencedDeclaration": 563, + "src": "2117:6:5", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2107:16:4", + "src": "2107:16:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 536, + "id": 573, "nodeType": "ExpressionStatement", - "src": "2107:16:4" + "src": "2107:16:5" }, { "expression": { "argumentTypes": null, - "id": 539, + "id": 576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 537, + "id": 574, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "2133:9:4", + "referencedDeclaration": 558, + "src": "2133:9:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7517,14 +7517,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "3138", - "id": 538, + "id": 575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2145:2:4", + "src": "2145:2:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -7532,25 +7532,25 @@ }, "value": "18" }, - "src": "2133:14:4", + "src": "2133:14:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 540, + "id": 577, "nodeType": "ExpressionStatement", - "src": "2133:14:4" + "src": "2133:14:5" } ] }, "documentation": { - "id": 522, + "id": 559, "nodeType": "StructuredDocumentation", - "src": "1697:311:4", + "src": "1697:311:5", "text": " @dev Sets the values for {name} and {symbol}, initializes {decimals} with\n a default value of 18.\n To select a different value for {decimals}, use {_setupDecimals}.\n All three of these values are immutable: they can only be set once during\n construction." }, - "id": 542, + "id": 579, "implemented": true, "kind": "constructor", "modifiers": [], @@ -7558,18 +7558,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 527, + "id": 564, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 524, + "id": 561, "mutability": "mutable", "name": "name", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 542, - "src": "2026:18:4", + "scope": 579, + "src": "2026:18:5", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7577,10 +7577,10 @@ "typeString": "string" }, "typeName": { - "id": 523, + "id": 560, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2026:6:4", + "src": "2026:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7591,13 +7591,13 @@ }, { "constant": false, - "id": 526, + "id": 563, "mutability": "mutable", "name": "symbol", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 542, - "src": "2046:20:4", + "scope": 579, + "src": "2046:20:5", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7605,10 +7605,10 @@ "typeString": "string" }, "typeName": { - "id": 525, + "id": 562, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2046:6:4", + "src": "2046:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7618,55 +7618,55 @@ "visibility": "internal" } ], - "src": "2025:42:4" + "src": "2025:42:5" }, "returnParameters": { - "id": 528, + "id": 565, "nodeType": "ParameterList", "parameters": [], - "src": "2075:0:4" + "src": "2075:0:5" }, - "scope": 993, - "src": "2013:141:4", + "scope": 1030, + "src": "2013:141:5", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 550, + "id": 587, "nodeType": "Block", - "src": "2271:29:4", + "src": "2271:29:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 548, + "id": 585, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "2288:5:4", + "referencedDeclaration": 554, + "src": "2288:5:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 547, - "id": 549, + "functionReturnParameters": 584, + "id": 586, "nodeType": "Return", - "src": "2281:12:4" + "src": "2281:12:5" } ] }, "documentation": { - "id": 543, + "id": 580, "nodeType": "StructuredDocumentation", - "src": "2160:54:4", + "src": "2160:54:5", "text": " @dev Returns the name of the token." }, "functionSelector": "06fdde03", - "id": 551, + "id": 588, "implemented": true, "kind": "function", "modifiers": [], @@ -7674,24 +7674,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 544, + "id": 581, "nodeType": "ParameterList", "parameters": [], - "src": "2232:2:4" + "src": "2232:2:5" }, "returnParameters": { - "id": 547, + "id": 584, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 546, + "id": 583, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 551, - "src": "2256:13:4", + "scope": 588, + "src": "2256:13:5", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7699,10 +7699,10 @@ "typeString": "string" }, "typeName": { - "id": 545, + "id": 582, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2256:6:4", + "src": "2256:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7712,49 +7712,49 @@ "visibility": "internal" } ], - "src": "2255:15:4" + "src": "2255:15:5" }, - "scope": 993, - "src": "2219:81:4", + "scope": 1030, + "src": "2219:81:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 559, + "id": 596, "nodeType": "Block", - "src": "2467:31:4", + "src": "2467:31:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 557, + "id": 594, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "2484:7:4", + "referencedDeclaration": 556, + "src": "2484:7:5", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 556, - "id": 558, + "functionReturnParameters": 593, + "id": 595, "nodeType": "Return", - "src": "2477:14:4" + "src": "2477:14:5" } ] }, "documentation": { - "id": 552, + "id": 589, "nodeType": "StructuredDocumentation", - "src": "2306:102:4", + "src": "2306:102:5", "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." }, "functionSelector": "95d89b41", - "id": 560, + "id": 597, "implemented": true, "kind": "function", "modifiers": [], @@ -7762,24 +7762,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 553, + "id": 590, "nodeType": "ParameterList", "parameters": [], - "src": "2428:2:4" + "src": "2428:2:5" }, "returnParameters": { - "id": 556, + "id": 593, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 555, + "id": 592, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 560, - "src": "2452:13:4", + "scope": 597, + "src": "2452:13:5", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7787,10 +7787,10 @@ "typeString": "string" }, "typeName": { - "id": 554, + "id": 591, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2452:6:4", + "src": "2452:6:5", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7800,49 +7800,49 @@ "visibility": "internal" } ], - "src": "2451:15:4" + "src": "2451:15:5" }, - "scope": 993, - "src": "2413:85:4", + "scope": 1030, + "src": "2413:85:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 568, + "id": 605, "nodeType": "Block", - "src": "3169:33:4", + "src": "3169:33:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 566, + "id": 603, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "3186:9:4", + "referencedDeclaration": 558, + "src": "3186:9:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 565, - "id": 567, + "functionReturnParameters": 602, + "id": 604, "nodeType": "Return", - "src": "3179:16:4" + "src": "3179:16:5" } ] }, "documentation": { - "id": 561, + "id": 598, "nodeType": "StructuredDocumentation", - "src": "2504:612:4", + "src": "2504:612:5", "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5,05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\n called.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." }, "functionSelector": "313ce567", - "id": 569, + "id": 606, "implemented": true, "kind": "function", "modifiers": [], @@ -7850,24 +7850,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 562, + "id": 599, "nodeType": "ParameterList", "parameters": [], - "src": "3138:2:4" + "src": "3138:2:5" }, "returnParameters": { - "id": 565, + "id": 602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 564, + "id": 601, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 569, - "src": "3162:5:4", + "scope": 606, + "src": "3162:5:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7875,10 +7875,10 @@ "typeString": "uint8" }, "typeName": { - "id": 563, + "id": 600, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3162:5:4", + "src": "3162:5:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7888,82 +7888,82 @@ "visibility": "internal" } ], - "src": "3161:7:4" + "src": "3161:7:5" }, - "scope": 993, - "src": "3121:81:4", + "scope": 1030, + "src": "3121:81:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 1002 + 1039 ], "body": { - "id": 578, + "id": 615, "nodeType": "Block", - "src": "3324:36:4", + "src": "3324:36:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 576, + "id": 613, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "3341:12:4", + "referencedDeclaration": 552, + "src": "3341:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 575, - "id": 577, + "functionReturnParameters": 612, + "id": 614, "nodeType": "Return", - "src": "3334:19:4" + "src": "3334:19:5" } ] }, "documentation": { - "id": 570, + "id": 607, "nodeType": "StructuredDocumentation", - "src": "3208:49:4", + "src": "3208:49:5", "text": " @dev See {IERC20-totalSupply}." }, "functionSelector": "18160ddd", - "id": 579, + "id": 616, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "overrides": { - "id": 572, + "id": 609, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3297:8:4" + "src": "3297:8:5" }, "parameters": { - "id": 571, + "id": 608, "nodeType": "ParameterList", "parameters": [], - "src": "3282:2:4" + "src": "3282:2:5" }, "returnParameters": { - "id": 575, + "id": 612, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 574, + "id": 611, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 579, - "src": "3315:7:4", + "scope": 616, + "src": "3315:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7971,10 +7971,10 @@ "typeString": "uint256" }, "typeName": { - "id": 573, + "id": 610, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3315:7:4", + "src": "3315:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7984,48 +7984,48 @@ "visibility": "internal" } ], - "src": "3314:9:4" + "src": "3314:9:5" }, - "scope": 993, - "src": "3262:98:4", + "scope": 1030, + "src": "3262:98:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 1010 + 1047 ], "body": { - "id": 592, + "id": 629, "nodeType": "Block", - "src": "3493:42:4", + "src": "3493:42:5", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 588, + "id": 625, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "3510:9:4", + "referencedDeclaration": 544, + "src": "3510:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 590, + "id": 627, "indexExpression": { "argumentTypes": null, - "id": 589, + "id": 626, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "3520:7:4", + "referencedDeclaration": 619, + "src": "3520:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8036,51 +8036,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3510:18:4", + "src": "3510:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 587, - "id": 591, + "functionReturnParameters": 624, + "id": 628, "nodeType": "Return", - "src": "3503:25:4" + "src": "3503:25:5" } ] }, "documentation": { - "id": 580, + "id": 617, "nodeType": "StructuredDocumentation", - "src": "3366:47:4", + "src": "3366:47:5", "text": " @dev See {IERC20-balanceOf}." }, "functionSelector": "70a08231", - "id": 593, + "id": 630, "implemented": true, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "overrides": { - "id": 584, + "id": 621, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3466:8:4" + "src": "3466:8:5" }, "parameters": { - "id": 583, + "id": 620, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 582, + "id": 619, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 593, - "src": "3437:15:4", + "scope": 630, + "src": "3437:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8088,10 +8088,10 @@ "typeString": "address" }, "typeName": { - "id": 581, + "id": 618, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3437:7:4", + "src": "3437:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8102,21 +8102,21 @@ "visibility": "internal" } ], - "src": "3436:17:4" + "src": "3436:17:5" }, "returnParameters": { - "id": 587, + "id": 624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 586, + "id": 623, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 593, - "src": "3484:7:4", + "scope": 630, + "src": "3484:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8124,10 +8124,10 @@ "typeString": "uint256" }, "typeName": { - "id": 585, + "id": 622, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3484:7:4", + "src": "3484:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8137,22 +8137,22 @@ "visibility": "internal" } ], - "src": "3483:9:4" + "src": "3483:9:5" }, - "scope": 993, - "src": "3418:117:4", + "scope": 1030, + "src": "3418:117:5", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 1020 + 1057 ], "body": { - "id": 613, + "id": 650, "nodeType": "Block", - "src": "3830:80:4", + "src": "3830:80:5", "statements": [ { "expression": { @@ -8163,18 +8163,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 605, + "id": 642, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "3850:10:4", + "referencedDeclaration": 315, + "src": "3850:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 606, + "id": 643, "isConstant": false, "isLValue": false, "isPure": false, @@ -8182,7 +8182,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3850:12:4", + "src": "3850:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -8191,12 +8191,12 @@ }, { "argumentTypes": null, - "id": 607, + "id": 644, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "3864:9:4", + "referencedDeclaration": 633, + "src": "3864:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8204,12 +8204,12 @@ }, { "argumentTypes": null, - "id": 608, + "id": 645, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "3875:6:4", + "referencedDeclaration": 635, + "src": "3875:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8231,18 +8231,18 @@ "typeString": "uint256" } ], - "id": 604, + "id": 641, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "3840:9:4", + "referencedDeclaration": 851, + "src": "3840:9:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 609, + "id": 646, "isConstant": false, "isLValue": false, "isPure": false, @@ -8250,29 +8250,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3840:42:4", + "src": "3840:42:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 610, + "id": 647, "nodeType": "ExpressionStatement", - "src": "3840:42:4" + "src": "3840:42:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 611, + "id": 648, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3899:4:4", + "src": "3899:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8280,45 +8280,45 @@ }, "value": "true" }, - "functionReturnParameters": 603, - "id": 612, + "functionReturnParameters": 640, + "id": 649, "nodeType": "Return", - "src": "3892:11:4" + "src": "3892:11:5" } ] }, "documentation": { - "id": 594, + "id": 631, "nodeType": "StructuredDocumentation", - "src": "3541:192:4", + "src": "3541:192:5", "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `recipient` cannot be the zero address.\n - the caller must have a balance of at least `amount`." }, "functionSelector": "a9059cbb", - "id": 614, + "id": 651, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": { - "id": 600, + "id": 637, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3806:8:4" + "src": "3806:8:5" }, "parameters": { - "id": 599, + "id": 636, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 596, + "id": 633, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 614, - "src": "3756:17:4", + "scope": 651, + "src": "3756:17:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8326,10 +8326,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 632, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3756:7:4", + "src": "3756:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8341,13 +8341,13 @@ }, { "constant": false, - "id": 598, + "id": 635, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 614, - "src": "3775:14:4", + "scope": 651, + "src": "3775:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8355,10 +8355,10 @@ "typeString": "uint256" }, "typeName": { - "id": 597, + "id": 634, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3775:7:4", + "src": "3775:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8368,21 +8368,21 @@ "visibility": "internal" } ], - "src": "3755:35:4" + "src": "3755:35:5" }, "returnParameters": { - "id": 603, + "id": 640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 602, + "id": 639, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 614, - "src": "3824:4:4", + "scope": 651, + "src": "3824:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8390,10 +8390,10 @@ "typeString": "bool" }, "typeName": { - "id": 601, + "id": 638, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3824:4:4", + "src": "3824:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8403,22 +8403,22 @@ "visibility": "internal" } ], - "src": "3823:6:4" + "src": "3823:6:5" }, - "scope": 993, - "src": "3738:172:4", + "scope": 1030, + "src": "3738:172:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1030 + 1067 ], "body": { - "id": 631, + "id": 668, "nodeType": "Block", - "src": "4066:51:4", + "src": "4066:51:5", "statements": [ { "expression": { @@ -8427,26 +8427,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 625, + "id": 662, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "4083:11:4", + "referencedDeclaration": 550, + "src": "4083:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 627, + "id": 664, "indexExpression": { "argumentTypes": null, - "id": 626, + "id": 663, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 617, - "src": "4095:5:4", + "referencedDeclaration": 654, + "src": "4095:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8457,21 +8457,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4083:18:4", + "src": "4083:18:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 629, + "id": 666, "indexExpression": { "argumentTypes": null, - "id": 628, + "id": 665, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 619, - "src": "4102:7:4", + "referencedDeclaration": 656, + "src": "4102:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8482,51 +8482,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4083:27:4", + "src": "4083:27:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 624, - "id": 630, + "functionReturnParameters": 661, + "id": 667, "nodeType": "Return", - "src": "4076:34:4" + "src": "4076:34:5" } ] }, "documentation": { - "id": 615, + "id": 652, "nodeType": "StructuredDocumentation", - "src": "3916:47:4", + "src": "3916:47:5", "text": " @dev See {IERC20-allowance}." }, "functionSelector": "dd62ed3e", - "id": 632, + "id": 669, "implemented": true, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "overrides": { - "id": 621, + "id": 658, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4039:8:4" + "src": "4039:8:5" }, "parameters": { - "id": 620, + "id": 657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 617, + "id": 654, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 632, - "src": "3987:13:4", + "scope": 669, + "src": "3987:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8534,10 +8534,10 @@ "typeString": "address" }, "typeName": { - "id": 616, + "id": 653, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3987:7:4", + "src": "3987:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8549,13 +8549,13 @@ }, { "constant": false, - "id": 619, + "id": 656, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 632, - "src": "4002:15:4", + "scope": 669, + "src": "4002:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8563,10 +8563,10 @@ "typeString": "address" }, "typeName": { - "id": 618, + "id": 655, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4002:7:4", + "src": "4002:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8577,21 +8577,21 @@ "visibility": "internal" } ], - "src": "3986:32:4" + "src": "3986:32:5" }, "returnParameters": { - "id": 624, + "id": 661, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 623, + "id": 660, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 632, - "src": "4057:7:4", + "scope": 669, + "src": "4057:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8599,10 +8599,10 @@ "typeString": "uint256" }, "typeName": { - "id": 622, + "id": 659, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4057:7:4", + "src": "4057:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8612,22 +8612,22 @@ "visibility": "internal" } ], - "src": "4056:9:4" + "src": "4056:9:5" }, - "scope": 993, - "src": "3968:149:4", + "scope": 1030, + "src": "3968:149:5", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1040 + 1077 ], "body": { - "id": 652, + "id": 689, "nodeType": "Block", - "src": "4344:77:4", + "src": "4344:77:5", "statements": [ { "expression": { @@ -8638,18 +8638,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 644, + "id": 681, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "4363:10:4", + "referencedDeclaration": 315, + "src": "4363:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 645, + "id": 682, "isConstant": false, "isLValue": false, "isPure": false, @@ -8657,7 +8657,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4363:12:4", + "src": "4363:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -8666,12 +8666,12 @@ }, { "argumentTypes": null, - "id": 646, + "id": 683, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "4377:7:4", + "referencedDeclaration": 672, + "src": "4377:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8679,12 +8679,12 @@ }, { "argumentTypes": null, - "id": 647, + "id": 684, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4386:6:4", + "referencedDeclaration": 674, + "src": "4386:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8706,18 +8706,18 @@ "typeString": "uint256" } ], - "id": 643, + "id": 680, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4354:8:4", + "referencedDeclaration": 1007, + "src": "4354:8:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 648, + "id": 685, "isConstant": false, "isLValue": false, "isPure": false, @@ -8725,29 +8725,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4354:39:4", + "src": "4354:39:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 649, + "id": 686, "nodeType": "ExpressionStatement", - "src": "4354:39:4" + "src": "4354:39:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 650, + "id": 687, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4410:4:4", + "src": "4410:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8755,45 +8755,45 @@ }, "value": "true" }, - "functionReturnParameters": 642, - "id": 651, + "functionReturnParameters": 679, + "id": 688, "nodeType": "Return", - "src": "4403:11:4" + "src": "4403:11:5" } ] }, "documentation": { - "id": 633, + "id": 670, "nodeType": "StructuredDocumentation", - "src": "4123:127:4", + "src": "4123:127:5", "text": " @dev See {IERC20-approve}.\n Requirements:\n - `spender` cannot be the zero address." }, "functionSelector": "095ea7b3", - "id": 653, + "id": 690, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": { - "id": 639, + "id": 676, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4320:8:4" + "src": "4320:8:5" }, "parameters": { - "id": 638, + "id": 675, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 635, + "id": 672, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 653, - "src": "4272:15:4", + "scope": 690, + "src": "4272:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8801,10 +8801,10 @@ "typeString": "address" }, "typeName": { - "id": 634, + "id": 671, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4272:7:4", + "src": "4272:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8816,13 +8816,13 @@ }, { "constant": false, - "id": 637, + "id": 674, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 653, - "src": "4289:14:4", + "scope": 690, + "src": "4289:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8830,10 +8830,10 @@ "typeString": "uint256" }, "typeName": { - "id": 636, + "id": 673, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4289:7:4", + "src": "4289:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8843,21 +8843,21 @@ "visibility": "internal" } ], - "src": "4271:33:4" + "src": "4271:33:5" }, "returnParameters": { - "id": 642, + "id": 679, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 641, + "id": 678, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 653, - "src": "4338:4:4", + "scope": 690, + "src": "4338:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8865,10 +8865,10 @@ "typeString": "bool" }, "typeName": { - "id": 640, + "id": 677, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4338:4:4", + "src": "4338:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8878,22 +8878,22 @@ "visibility": "internal" } ], - "src": "4337:6:4" + "src": "4337:6:5" }, - "scope": 993, - "src": "4255:166:4", + "scope": 1030, + "src": "4255:166:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1052 + 1089 ], "body": { - "id": 690, + "id": 727, "nodeType": "Block", - "src": "4993:205:4", + "src": "4993:205:5", "statements": [ { "expression": { @@ -8901,12 +8901,12 @@ "arguments": [ { "argumentTypes": null, - "id": 667, + "id": 704, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5013:6:4", + "referencedDeclaration": 693, + "src": "5013:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8914,12 +8914,12 @@ }, { "argumentTypes": null, - "id": 668, + "id": 705, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "5021:9:4", + "referencedDeclaration": 695, + "src": "5021:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8927,12 +8927,12 @@ }, { "argumentTypes": null, - "id": 669, + "id": 706, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "5032:6:4", + "referencedDeclaration": 697, + "src": "5032:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8954,18 +8954,18 @@ "typeString": "uint256" } ], - "id": 666, + "id": 703, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "5003:9:4", + "referencedDeclaration": 851, + "src": "5003:9:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 670, + "id": 707, "isConstant": false, "isLValue": false, "isPure": false, @@ -8973,16 +8973,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5003:36:4", + "src": "5003:36:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 671, + "id": 708, "nodeType": "ExpressionStatement", - "src": "5003:36:4" + "src": "5003:36:5" }, { "expression": { @@ -8990,12 +8990,12 @@ "arguments": [ { "argumentTypes": null, - "id": 673, + "id": 710, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5058:6:4", + "referencedDeclaration": 693, + "src": "5058:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9006,18 +9006,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 674, + "id": 711, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "5066:10:4", + "referencedDeclaration": 315, + "src": "5066:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 675, + "id": 712, "isConstant": false, "isLValue": false, "isPure": false, @@ -9025,7 +9025,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5066:12:4", + "src": "5066:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9037,12 +9037,12 @@ "arguments": [ { "argumentTypes": null, - "id": 683, + "id": 720, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "5118:6:4", + "referencedDeclaration": 697, + "src": "5118:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9051,14 +9051,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 684, + "id": 721, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5126:42:4", + "src": "5126:42:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", @@ -9084,26 +9084,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 676, + "id": 713, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "5080:11:4", + "referencedDeclaration": 550, + "src": "5080:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 678, + "id": 715, "indexExpression": { "argumentTypes": null, - "id": 677, + "id": 714, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "5092:6:4", + "referencedDeclaration": 693, + "src": "5092:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9114,30 +9114,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5080:19:4", + "src": "5080:19:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 681, + "id": 718, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 679, + "id": 716, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "5100:10:4", + "referencedDeclaration": 315, + "src": "5100:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 680, + "id": 717, "isConstant": false, "isLValue": false, "isPure": false, @@ -9145,7 +9145,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5100:12:4", + "src": "5100:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9157,27 +9157,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5080:33:4", + "src": "5080:33:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 682, + "id": 719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 364, - "src": "5080:37:4", + "referencedDeclaration": 401, + "src": "5080:37:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 685, + "id": 722, "isConstant": false, "isLValue": false, "isPure": false, @@ -9185,7 +9185,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5080:89:4", + "src": "5080:89:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9208,18 +9208,18 @@ "typeString": "uint256" } ], - "id": 672, + "id": 709, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "5049:8:4", + "referencedDeclaration": 1007, + "src": "5049:8:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 686, + "id": 723, "isConstant": false, "isLValue": false, "isPure": false, @@ -9227,29 +9227,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5049:121:4", + "src": "5049:121:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 687, + "id": 724, "nodeType": "ExpressionStatement", - "src": "5049:121:4" + "src": "5049:121:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 688, + "id": 725, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5187:4:4", + "src": "5187:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9257,45 +9257,45 @@ }, "value": "true" }, - "functionReturnParameters": 665, - "id": 689, + "functionReturnParameters": 702, + "id": 726, "nodeType": "Return", - "src": "5180:11:4" + "src": "5180:11:5" } ] }, "documentation": { - "id": 654, + "id": 691, "nodeType": "StructuredDocumentation", - "src": "4427:449:4", + "src": "4427:449:5", "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20};\n Requirements:\n - `sender` and `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`.\n - the caller must have allowance for ``sender``'s tokens of at least\n `amount`." }, "functionSelector": "23b872dd", - "id": 691, + "id": 728, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": { - "id": 662, + "id": 699, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "4969:8:4" + "src": "4969:8:5" }, "parameters": { - "id": 661, + "id": 698, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 656, + "id": 693, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 691, - "src": "4903:14:4", + "scope": 728, + "src": "4903:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9303,10 +9303,10 @@ "typeString": "address" }, "typeName": { - "id": 655, + "id": 692, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4903:7:4", + "src": "4903:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9318,13 +9318,13 @@ }, { "constant": false, - "id": 658, + "id": 695, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 691, - "src": "4919:17:4", + "scope": 728, + "src": "4919:17:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9332,10 +9332,10 @@ "typeString": "address" }, "typeName": { - "id": 657, + "id": 694, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4919:7:4", + "src": "4919:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9347,13 +9347,13 @@ }, { "constant": false, - "id": 660, + "id": 697, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 691, - "src": "4938:14:4", + "scope": 728, + "src": "4938:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9361,10 +9361,10 @@ "typeString": "uint256" }, "typeName": { - "id": 659, + "id": 696, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4938:7:4", + "src": "4938:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9374,21 +9374,21 @@ "visibility": "internal" } ], - "src": "4902:51:4" + "src": "4902:51:5" }, "returnParameters": { - "id": 665, + "id": 702, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 664, + "id": 701, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 691, - "src": "4987:4:4", + "scope": 728, + "src": "4987:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9396,10 +9396,10 @@ "typeString": "bool" }, "typeName": { - "id": 663, + "id": 700, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4987:4:4", + "src": "4987:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9409,19 +9409,19 @@ "visibility": "internal" } ], - "src": "4986:6:4" + "src": "4986:6:5" }, - "scope": 993, - "src": "4881:317:4", + "scope": 1030, + "src": "4881:317:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 718, + "id": 755, "nodeType": "Block", - "src": "5687:121:4", + "src": "5687:121:5", "statements": [ { "expression": { @@ -9432,18 +9432,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 702, + "id": 739, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "5706:10:4", + "referencedDeclaration": 315, + "src": "5706:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 703, + "id": 740, "isConstant": false, "isLValue": false, "isPure": false, @@ -9451,7 +9451,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5706:12:4", + "src": "5706:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9460,12 +9460,12 @@ }, { "argumentTypes": null, - "id": 704, + "id": 741, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "5720:7:4", + "referencedDeclaration": 731, + "src": "5720:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9476,12 +9476,12 @@ "arguments": [ { "argumentTypes": null, - "id": 712, + "id": 749, "name": "addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 696, - "src": "5768:10:4", + "referencedDeclaration": 733, + "src": "5768:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9501,35 +9501,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 705, + "id": 742, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "5729:11:4", + "referencedDeclaration": 550, + "src": "5729:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 708, + "id": 745, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 706, + "id": 743, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "5741:10:4", + "referencedDeclaration": 315, + "src": "5741:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 707, + "id": 744, "isConstant": false, "isLValue": false, "isPure": false, @@ -9537,7 +9537,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5741:12:4", + "src": "5741:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9549,21 +9549,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5729:25:4", + "src": "5729:25:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 710, + "id": 747, "indexExpression": { "argumentTypes": null, - "id": 709, + "id": 746, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 694, - "src": "5755:7:4", + "referencedDeclaration": 731, + "src": "5755:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9574,27 +9574,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5729:34:4", + "src": "5729:34:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 711, + "id": 748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 319, - "src": "5729:38:4", + "referencedDeclaration": 356, + "src": "5729:38:5", "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": 713, + "id": 750, "isConstant": false, "isLValue": false, "isPure": false, @@ -9602,7 +9602,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5729:50:4", + "src": "5729:50:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9625,18 +9625,18 @@ "typeString": "uint256" } ], - "id": 701, + "id": 738, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "5697:8:4", + "referencedDeclaration": 1007, + "src": "5697:8:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 714, + "id": 751, "isConstant": false, "isLValue": false, "isPure": false, @@ -9644,29 +9644,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5697:83:4", + "src": "5697:83:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 715, + "id": 752, "nodeType": "ExpressionStatement", - "src": "5697:83:4" + "src": "5697:83:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 716, + "id": 753, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5797:4:4", + "src": "5797:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9674,21 +9674,21 @@ }, "value": "true" }, - "functionReturnParameters": 700, - "id": 717, + "functionReturnParameters": 737, + "id": 754, "nodeType": "Return", - "src": "5790:11:4" + "src": "5790:11:5" } ] }, "documentation": { - "id": 692, + "id": 729, "nodeType": "StructuredDocumentation", - "src": "5204:384:4", + "src": "5204:384:5", "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." }, "functionSelector": "39509351", - "id": 719, + "id": 756, "implemented": true, "kind": "function", "modifiers": [], @@ -9696,18 +9696,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 697, + "id": 734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 694, + "id": 731, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 719, - "src": "5620:15:4", + "scope": 756, + "src": "5620:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9715,10 +9715,10 @@ "typeString": "address" }, "typeName": { - "id": 693, + "id": 730, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5620:7:4", + "src": "5620:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9730,13 +9730,13 @@ }, { "constant": false, - "id": 696, + "id": 733, "mutability": "mutable", "name": "addedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 719, - "src": "5637:18:4", + "scope": 756, + "src": "5637:18:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9744,10 +9744,10 @@ "typeString": "uint256" }, "typeName": { - "id": 695, + "id": 732, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5637:7:4", + "src": "5637:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9757,21 +9757,21 @@ "visibility": "internal" } ], - "src": "5619:37:4" + "src": "5619:37:5" }, "returnParameters": { - "id": 700, + "id": 737, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 699, + "id": 736, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 719, - "src": "5681:4:4", + "scope": 756, + "src": "5681:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9779,10 +9779,10 @@ "typeString": "bool" }, "typeName": { - "id": 698, + "id": 735, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5681:4:4", + "src": "5681:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9792,19 +9792,19 @@ "visibility": "internal" } ], - "src": "5680:6:4" + "src": "5680:6:5" }, - "scope": 993, - "src": "5593:215:4", + "scope": 1030, + "src": "5593:215:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 747, + "id": 784, "nodeType": "Block", - "src": "6394:167:4", + "src": "6394:167:5", "statements": [ { "expression": { @@ -9815,18 +9815,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 730, + "id": 767, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "6413:10:4", + "referencedDeclaration": 315, + "src": "6413:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 731, + "id": 768, "isConstant": false, "isLValue": false, "isPure": false, @@ -9834,7 +9834,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6413:12:4", + "src": "6413:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9843,12 +9843,12 @@ }, { "argumentTypes": null, - "id": 732, + "id": 769, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "6427:7:4", + "referencedDeclaration": 759, + "src": "6427:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9859,12 +9859,12 @@ "arguments": [ { "argumentTypes": null, - "id": 740, + "id": 777, "name": "subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6475:15:4", + "referencedDeclaration": 761, + "src": "6475:15:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9873,14 +9873,14 @@ { "argumentTypes": null, "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 741, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6492:39:4", + "src": "6492:39:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", @@ -9906,35 +9906,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 733, + "id": 770, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "6436:11:4", + "referencedDeclaration": 550, + "src": "6436:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 736, + "id": 773, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 734, + "id": 771, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "6448:10:4", + "referencedDeclaration": 315, + "src": "6448:10:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 735, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -9942,7 +9942,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6448:12:4", + "src": "6448:12:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -9954,21 +9954,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6436:25:4", + "src": "6436:25:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 738, + "id": 775, "indexExpression": { "argumentTypes": null, - "id": 737, + "id": 774, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "6462:7:4", + "referencedDeclaration": 759, + "src": "6462:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9979,27 +9979,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6436:34:4", + "src": "6436:34:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 739, + "id": 776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 364, - "src": "6436:38:4", + "referencedDeclaration": 401, + "src": "6436:38:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 742, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, @@ -10007,7 +10007,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6436:96:4", + "src": "6436:96:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10030,18 +10030,18 @@ "typeString": "uint256" } ], - "id": 729, + "id": 766, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "6404:8:4", + "referencedDeclaration": 1007, + "src": "6404:8:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 743, + "id": 780, "isConstant": false, "isLValue": false, "isPure": false, @@ -10049,29 +10049,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6404:129:4", + "src": "6404:129:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 744, + "id": 781, "nodeType": "ExpressionStatement", - "src": "6404:129:4" + "src": "6404:129:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 745, + "id": 782, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6550:4:4", + "src": "6550:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10079,21 +10079,21 @@ }, "value": "true" }, - "functionReturnParameters": 728, - "id": 746, + "functionReturnParameters": 765, + "id": 783, "nodeType": "Return", - "src": "6543:11:4" + "src": "6543:11:5" } ] }, "documentation": { - "id": 720, + "id": 757, "nodeType": "StructuredDocumentation", - "src": "5814:476:4", + "src": "5814:476:5", "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." }, "functionSelector": "a457c2d7", - "id": 748, + "id": 785, "implemented": true, "kind": "function", "modifiers": [], @@ -10101,18 +10101,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 725, + "id": 762, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 722, + "id": 759, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 748, - "src": "6322:15:4", + "scope": 785, + "src": "6322:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10120,10 +10120,10 @@ "typeString": "address" }, "typeName": { - "id": 721, + "id": 758, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6322:7:4", + "src": "6322:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10135,13 +10135,13 @@ }, { "constant": false, - "id": 724, + "id": 761, "mutability": "mutable", "name": "subtractedValue", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 748, - "src": "6339:23:4", + "scope": 785, + "src": "6339:23:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10149,10 +10149,10 @@ "typeString": "uint256" }, "typeName": { - "id": 723, + "id": 760, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6339:7:4", + "src": "6339:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10162,21 +10162,21 @@ "visibility": "internal" } ], - "src": "6321:42:4" + "src": "6321:42:5" }, "returnParameters": { - "id": 728, + "id": 765, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 727, + "id": 764, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 748, - "src": "6388:4:4", + "scope": 785, + "src": "6388:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10184,10 +10184,10 @@ "typeString": "bool" }, "typeName": { - "id": 726, + "id": 763, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6388:4:4", + "src": "6388:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10197,19 +10197,19 @@ "visibility": "internal" } ], - "src": "6387:6:4" + "src": "6387:6:5" }, - "scope": 993, - "src": "6295:266:4", + "scope": 1030, + "src": "6295:266:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 813, + "id": 850, "nodeType": "Block", - "src": "7122:443:4", + "src": "7122:443:5", "statements": [ { "expression": { @@ -10221,19 +10221,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 764, + "id": 801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 759, + "id": 796, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7140:6:4", + "referencedDeclaration": 788, + "src": "7140:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10247,14 +10247,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 762, + "id": 799, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7158:1:4", + "src": "7158:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10270,29 +10270,29 @@ "typeString": "int_const 0" } ], - "id": 761, + "id": 798, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7150:7:4", + "src": "7150:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 760, + "id": 797, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7150:7:4", + "src": "7150:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 763, + "id": 800, "isConstant": false, "isLValue": false, "isPure": true, @@ -10300,14 +10300,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7150:10:4", + "src": "7150:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7140:20:4", + "src": "7140:20:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10316,14 +10316,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 765, + "id": 802, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7162:39:4", + "src": "7162:39:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", @@ -10343,7 +10343,7 @@ "typeString": "literal_string \"ERC20: transfer from the zero address\"" } ], - "id": 758, + "id": 795, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10351,13 +10351,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7132:7:4", + "src": "7132:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 766, + "id": 803, "isConstant": false, "isLValue": false, "isPure": false, @@ -10365,16 +10365,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7132:70:4", + "src": "7132:70:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 767, + "id": 804, "nodeType": "ExpressionStatement", - "src": "7132:70:4" + "src": "7132:70:5" }, { "expression": { @@ -10386,19 +10386,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 774, + "id": 811, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 769, + "id": 806, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7220:9:4", + "referencedDeclaration": 790, + "src": "7220:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10412,14 +10412,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 772, + "id": 809, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7241:1:4", + "src": "7241:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10435,29 +10435,29 @@ "typeString": "int_const 0" } ], - "id": 771, + "id": 808, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7233:7:4", + "src": "7233:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 770, + "id": 807, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7233:7:4", + "src": "7233:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 773, + "id": 810, "isConstant": false, "isLValue": false, "isPure": true, @@ -10465,14 +10465,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7233:10:4", + "src": "7233:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7220:23:4", + "src": "7220:23:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10481,14 +10481,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 775, + "id": 812, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7245:37:4", + "src": "7245:37:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", @@ -10508,7 +10508,7 @@ "typeString": "literal_string \"ERC20: transfer to the zero address\"" } ], - "id": 768, + "id": 805, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10516,13 +10516,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7212:7:4", + "src": "7212:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 776, + "id": 813, "isConstant": false, "isLValue": false, "isPure": false, @@ -10530,16 +10530,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7212:71:4", + "src": "7212:71:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 777, + "id": 814, "nodeType": "ExpressionStatement", - "src": "7212:71:4" + "src": "7212:71:5" }, { "expression": { @@ -10547,12 +10547,12 @@ "arguments": [ { "argumentTypes": null, - "id": 779, + "id": 816, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7315:6:4", + "referencedDeclaration": 788, + "src": "7315:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10560,12 +10560,12 @@ }, { "argumentTypes": null, - "id": 780, + "id": 817, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7323:9:4", + "referencedDeclaration": 790, + "src": "7323:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10573,12 +10573,12 @@ }, { "argumentTypes": null, - "id": 781, + "id": 818, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "7334:6:4", + "referencedDeclaration": 792, + "src": "7334:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10600,18 +10600,18 @@ "typeString": "uint256" } ], - "id": 778, + "id": 815, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "7294:20:4", + "referencedDeclaration": 1029, + "src": "7294:20:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 782, + "id": 819, "isConstant": false, "isLValue": false, "isPure": false, @@ -10619,21 +10619,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7294:47:4", + "src": "7294:47:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 783, + "id": 820, "nodeType": "ExpressionStatement", - "src": "7294:47:4" + "src": "7294:47:5" }, { "expression": { "argumentTypes": null, - "id": 794, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -10642,26 +10642,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 784, + "id": 821, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "7352:9:4", + "referencedDeclaration": 544, + "src": "7352:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 786, + "id": 823, "indexExpression": { "argumentTypes": null, - "id": 785, + "id": 822, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7362:6:4", + "referencedDeclaration": 788, + "src": "7362:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10672,7 +10672,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7352:17:4", + "src": "7352:17:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10685,12 +10685,12 @@ "arguments": [ { "argumentTypes": null, - "id": 791, + "id": 828, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "7394:6:4", + "referencedDeclaration": 792, + "src": "7394:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10699,14 +10699,14 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 792, + "id": 829, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7402:40:4", + "src": "7402:40:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", @@ -10730,26 +10730,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 787, + "id": 824, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "7372:9:4", + "referencedDeclaration": 544, + "src": "7372:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 789, + "id": 826, "indexExpression": { "argumentTypes": null, - "id": 788, + "id": 825, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7382:6:4", + "referencedDeclaration": 788, + "src": "7382:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10760,27 +10760,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7372:17:4", + "src": "7372:17:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 790, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 364, - "src": "7372:21:4", + "referencedDeclaration": 401, + "src": "7372:21:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 793, + "id": 830, "isConstant": false, "isLValue": false, "isPure": false, @@ -10788,27 +10788,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7372:71:4", + "src": "7372:71:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7352:91:4", + "src": "7352:91:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 795, + "id": 832, "nodeType": "ExpressionStatement", - "src": "7352:91:4" + "src": "7352:91:5" }, { "expression": { "argumentTypes": null, - "id": 805, + "id": 842, "isConstant": false, "isLValue": false, "isPure": false, @@ -10817,26 +10817,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 796, + "id": 833, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "7453:9:4", + "referencedDeclaration": 544, + "src": "7453:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 798, + "id": 835, "indexExpression": { "argumentTypes": null, - "id": 797, + "id": 834, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7463:9:4", + "referencedDeclaration": 790, + "src": "7463:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10847,7 +10847,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7453:20:4", + "src": "7453:20:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10860,12 +10860,12 @@ "arguments": [ { "argumentTypes": null, - "id": 803, + "id": 840, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "7501:6:4", + "referencedDeclaration": 792, + "src": "7501:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10883,26 +10883,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 799, + "id": 836, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "7476:9:4", + "referencedDeclaration": 544, + "src": "7476:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 801, + "id": 838, "indexExpression": { "argumentTypes": null, - "id": 800, + "id": 837, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7486:9:4", + "referencedDeclaration": 790, + "src": "7486:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10913,27 +10913,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7476:20:4", + "src": "7476:20:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 802, + "id": 839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 319, - "src": "7476:24:4", + "referencedDeclaration": 356, + "src": "7476:24:5", "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": 804, + "id": 841, "isConstant": false, "isLValue": false, "isPure": false, @@ -10941,22 +10941,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7476:32:4", + "src": "7476:32:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7453:55:4", + "src": "7453:55:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 806, + "id": 843, "nodeType": "ExpressionStatement", - "src": "7453:55:4" + "src": "7453:55:5" }, { "eventCall": { @@ -10964,12 +10964,12 @@ "arguments": [ { "argumentTypes": null, - "id": 808, + "id": 845, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, - "src": "7532:6:4", + "referencedDeclaration": 788, + "src": "7532:6:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10977,12 +10977,12 @@ }, { "argumentTypes": null, - "id": 809, + "id": 846, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 753, - "src": "7540:9:4", + "referencedDeclaration": 790, + "src": "7540:9:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10990,12 +10990,12 @@ }, { "argumentTypes": null, - "id": 810, + "id": 847, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "7551:6:4", + "referencedDeclaration": 792, + "src": "7551:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11017,18 +11017,18 @@ "typeString": "uint256" } ], - "id": 807, + "id": 844, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "7523:8:4", + "referencedDeclaration": 1098, + "src": "7523:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 811, + "id": 848, "isConstant": false, "isLValue": false, "isPure": false, @@ -11036,26 +11036,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7523:35:4", + "src": "7523:35:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 812, + "id": 849, "nodeType": "EmitStatement", - "src": "7518:40:4" + "src": "7518:40:5" } ] }, "documentation": { - "id": 749, + "id": 786, "nodeType": "StructuredDocumentation", - "src": "6567:463:4", + "src": "6567:463:5", "text": " @dev Moves tokens `amount` from `sender` to `recipient`.\n This is internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `sender` cannot be the zero address.\n - `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`." }, - "id": 814, + "id": 851, "implemented": true, "kind": "function", "modifiers": [], @@ -11063,18 +11063,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 756, + "id": 793, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 751, + "id": 788, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 814, - "src": "7054:14:4", + "scope": 851, + "src": "7054:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11082,10 +11082,10 @@ "typeString": "address" }, "typeName": { - "id": 750, + "id": 787, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7054:7:4", + "src": "7054:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11097,13 +11097,13 @@ }, { "constant": false, - "id": 753, + "id": 790, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 814, - "src": "7070:17:4", + "scope": 851, + "src": "7070:17:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11111,10 +11111,10 @@ "typeString": "address" }, "typeName": { - "id": 752, + "id": 789, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7070:7:4", + "src": "7070:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11126,13 +11126,13 @@ }, { "constant": false, - "id": 755, + "id": 792, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 814, - "src": "7089:14:4", + "scope": 851, + "src": "7089:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11140,10 +11140,10 @@ "typeString": "uint256" }, "typeName": { - "id": 754, + "id": 791, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7089:7:4", + "src": "7089:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11153,25 +11153,25 @@ "visibility": "internal" } ], - "src": "7053:51:4" + "src": "7053:51:5" }, "returnParameters": { - "id": 757, + "id": 794, "nodeType": "ParameterList", "parameters": [], - "src": "7122:0:4" + "src": "7122:0:5" }, - "scope": 993, - "src": "7035:530:4", + "scope": 1030, + "src": "7035:530:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 868, + "id": 905, "nodeType": "Block", - "src": "7900:305:4", + "src": "7900:305:5", "statements": [ { "expression": { @@ -11183,19 +11183,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 828, + "id": 865, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 823, + "id": 860, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "7918:7:4", + "referencedDeclaration": 854, + "src": "7918:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11209,14 +11209,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 826, + "id": 863, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7937:1:4", + "src": "7937:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11232,29 +11232,29 @@ "typeString": "int_const 0" } ], - "id": 825, + "id": 862, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7929:7:4", + "src": "7929:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 824, + "id": 861, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7929:7:4", + "src": "7929:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 827, + "id": 864, "isConstant": false, "isLValue": false, "isPure": true, @@ -11262,14 +11262,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7929:10:4", + "src": "7929:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "7918:21:4", + "src": "7918:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11278,14 +11278,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 829, + "id": 866, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7941:33:4", + "src": "7941:33:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", @@ -11305,7 +11305,7 @@ "typeString": "literal_string \"ERC20: mint to the zero address\"" } ], - "id": 822, + "id": 859, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11313,13 +11313,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7910:7:4", + "src": "7910:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 830, + "id": 867, "isConstant": false, "isLValue": false, "isPure": false, @@ -11327,16 +11327,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7910:65:4", + "src": "7910:65:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 831, + "id": 868, "nodeType": "ExpressionStatement", - "src": "7910:65:4" + "src": "7910:65:5" }, { "expression": { @@ -11348,14 +11348,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 835, + "id": 872, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8015:1:4", + "src": "8015:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11371,29 +11371,29 @@ "typeString": "int_const 0" } ], - "id": 834, + "id": 871, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8007:7:4", + "src": "8007:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 833, + "id": 870, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8007:7:4", + "src": "8007:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 836, + "id": 873, "isConstant": false, "isLValue": false, "isPure": true, @@ -11401,7 +11401,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8007:10:4", + "src": "8007:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -11410,12 +11410,12 @@ }, { "argumentTypes": null, - "id": 837, + "id": 874, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "8019:7:4", + "referencedDeclaration": 854, + "src": "8019:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11423,12 +11423,12 @@ }, { "argumentTypes": null, - "id": 838, + "id": 875, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "8028:6:4", + "referencedDeclaration": 856, + "src": "8028:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11450,18 +11450,18 @@ "typeString": "uint256" } ], - "id": 832, + "id": 869, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "7986:20:4", + "referencedDeclaration": 1029, + "src": "7986:20:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 839, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, @@ -11469,33 +11469,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7986:49:4", + "src": "7986:49:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 840, + "id": 877, "nodeType": "ExpressionStatement", - "src": "7986:49:4" + "src": "7986:49:5" }, { "expression": { "argumentTypes": null, - "id": 846, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 841, + "id": 878, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "8046:12:4", + "referencedDeclaration": 552, + "src": "8046:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11508,12 +11508,12 @@ "arguments": [ { "argumentTypes": null, - "id": 844, + "id": 881, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "8078:6:4", + "referencedDeclaration": 856, + "src": "8078:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11529,32 +11529,32 @@ ], "expression": { "argumentTypes": null, - "id": 842, + "id": 879, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "8061:12:4", + "referencedDeclaration": 552, + "src": "8061:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 843, + "id": 880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 319, - "src": "8061:16:4", + "referencedDeclaration": 356, + "src": "8061:16:5", "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": 845, + "id": 882, "isConstant": false, "isLValue": false, "isPure": false, @@ -11562,27 +11562,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8061:24:4", + "src": "8061:24:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8046:39:4", + "src": "8046:39:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 847, + "id": 884, "nodeType": "ExpressionStatement", - "src": "8046:39:4" + "src": "8046:39:5" }, { "expression": { "argumentTypes": null, - "id": 857, + "id": 894, "isConstant": false, "isLValue": false, "isPure": false, @@ -11591,26 +11591,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 848, + "id": 885, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "8095:9:4", + "referencedDeclaration": 544, + "src": "8095:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 850, + "id": 887, "indexExpression": { "argumentTypes": null, - "id": 849, + "id": 886, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "8105:7:4", + "referencedDeclaration": 854, + "src": "8105:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11621,7 +11621,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8095:18:4", + "src": "8095:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11634,12 +11634,12 @@ "arguments": [ { "argumentTypes": null, - "id": 855, + "id": 892, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "8139:6:4", + "referencedDeclaration": 856, + "src": "8139:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11657,26 +11657,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 851, + "id": 888, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "8116:9:4", + "referencedDeclaration": 544, + "src": "8116:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 853, + "id": 890, "indexExpression": { "argumentTypes": null, - "id": 852, + "id": 889, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "8126:7:4", + "referencedDeclaration": 854, + "src": "8126:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11687,27 +11687,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8116:18:4", + "src": "8116:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 854, + "id": 891, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 319, - "src": "8116:22:4", + "referencedDeclaration": 356, + "src": "8116:22:5", "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": 856, + "id": 893, "isConstant": false, "isLValue": false, "isPure": false, @@ -11715,22 +11715,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8116:30:4", + "src": "8116:30:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8095:51:4", + "src": "8095:51:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 858, + "id": 895, "nodeType": "ExpressionStatement", - "src": "8095:51:4" + "src": "8095:51:5" }, { "eventCall": { @@ -11742,14 +11742,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 862, + "id": 899, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8178:1:4", + "src": "8178:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11765,29 +11765,29 @@ "typeString": "int_const 0" } ], - "id": 861, + "id": 898, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8170:7:4", + "src": "8170:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 860, + "id": 897, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8170:7:4", + "src": "8170:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 863, + "id": 900, "isConstant": false, "isLValue": false, "isPure": true, @@ -11795,7 +11795,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8170:10:4", + "src": "8170:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -11804,12 +11804,12 @@ }, { "argumentTypes": null, - "id": 864, + "id": 901, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "8182:7:4", + "referencedDeclaration": 854, + "src": "8182:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11817,12 +11817,12 @@ }, { "argumentTypes": null, - "id": 865, + "id": 902, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "8191:6:4", + "referencedDeclaration": 856, + "src": "8191:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11844,18 +11844,18 @@ "typeString": "uint256" } ], - "id": 859, + "id": 896, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "8161:8:4", + "referencedDeclaration": 1098, + "src": "8161:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 866, + "id": 903, "isConstant": false, "isLValue": false, "isPure": false, @@ -11863,26 +11863,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8161:37:4", + "src": "8161:37:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 867, + "id": 904, "nodeType": "EmitStatement", - "src": "8156:42:4" + "src": "8156:42:5" } ] }, "documentation": { - "id": 815, + "id": 852, "nodeType": "StructuredDocumentation", - "src": "7571:259:4", + "src": "7571:259:5", "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements\n - `to` cannot be the zero address." }, - "id": 869, + "id": 906, "implemented": true, "kind": "function", "modifiers": [], @@ -11890,18 +11890,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 820, + "id": 857, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 817, + "id": 854, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 869, - "src": "7850:15:4", + "scope": 906, + "src": "7850:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11909,10 +11909,10 @@ "typeString": "address" }, "typeName": { - "id": 816, + "id": 853, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7850:7:4", + "src": "7850:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11924,13 +11924,13 @@ }, { "constant": false, - "id": 819, + "id": 856, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 869, - "src": "7867:14:4", + "scope": 906, + "src": "7867:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11938,10 +11938,10 @@ "typeString": "uint256" }, "typeName": { - "id": 818, + "id": 855, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7867:7:4", + "src": "7867:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11951,25 +11951,25 @@ "visibility": "internal" } ], - "src": "7849:33:4" + "src": "7849:33:5" }, "returnParameters": { - "id": 821, + "id": 858, "nodeType": "ParameterList", "parameters": [], - "src": "7900:0:4" + "src": "7900:0:5" }, - "scope": 993, - "src": "7835:370:4", + "scope": 1030, + "src": "7835:370:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 924, + "id": 961, "nodeType": "Block", - "src": "8589:345:4", + "src": "8589:345:5", "statements": [ { "expression": { @@ -11981,19 +11981,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 883, + "id": 920, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 878, + "id": 915, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8607:7:4", + "referencedDeclaration": 909, + "src": "8607:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12007,14 +12007,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 881, + "id": 918, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8626:1:4", + "src": "8626:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12030,29 +12030,29 @@ "typeString": "int_const 0" } ], - "id": 880, + "id": 917, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8618:7:4", + "src": "8618:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 879, + "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8618:7:4", + "src": "8618:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 882, + "id": 919, "isConstant": false, "isLValue": false, "isPure": true, @@ -12060,14 +12060,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8618:10:4", + "src": "8618:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "8607:21:4", + "src": "8607:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12076,14 +12076,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 884, + "id": 921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8630:35:4", + "src": "8630:35:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", @@ -12103,7 +12103,7 @@ "typeString": "literal_string \"ERC20: burn from the zero address\"" } ], - "id": 877, + "id": 914, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -12111,13 +12111,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8599:7:4", + "src": "8599:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 885, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -12125,16 +12125,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8599:67:4", + "src": "8599:67:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 886, + "id": 923, "nodeType": "ExpressionStatement", - "src": "8599:67:4" + "src": "8599:67:5" }, { "expression": { @@ -12142,12 +12142,12 @@ "arguments": [ { "argumentTypes": null, - "id": 888, + "id": 925, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8698:7:4", + "referencedDeclaration": 909, + "src": "8698:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12159,14 +12159,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 891, + "id": 928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8715:1:4", + "src": "8715:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12182,29 +12182,29 @@ "typeString": "int_const 0" } ], - "id": 890, + "id": 927, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8707:7:4", + "src": "8707:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 889, + "id": 926, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8707:7:4", + "src": "8707:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 892, + "id": 929, "isConstant": false, "isLValue": false, "isPure": true, @@ -12212,7 +12212,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8707:10:4", + "src": "8707:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -12221,12 +12221,12 @@ }, { "argumentTypes": null, - "id": 893, + "id": 930, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "8719:6:4", + "referencedDeclaration": 911, + "src": "8719:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12248,18 +12248,18 @@ "typeString": "uint256" } ], - "id": 887, + "id": 924, "name": "_beforeTokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 992, - "src": "8677:20:4", + "referencedDeclaration": 1029, + "src": "8677:20:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 894, + "id": 931, "isConstant": false, "isLValue": false, "isPure": false, @@ -12267,21 +12267,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8677:49:4", + "src": "8677:49:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 895, + "id": 932, "nodeType": "ExpressionStatement", - "src": "8677:49:4" + "src": "8677:49:5" }, { "expression": { "argumentTypes": null, - "id": 906, + "id": 943, "isConstant": false, "isLValue": false, "isPure": false, @@ -12290,26 +12290,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 896, + "id": 933, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "8737:9:4", + "referencedDeclaration": 544, + "src": "8737:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 898, + "id": 935, "indexExpression": { "argumentTypes": null, - "id": 897, + "id": 934, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8747:7:4", + "referencedDeclaration": 909, + "src": "8747:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12320,7 +12320,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8737:18:4", + "src": "8737:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12333,12 +12333,12 @@ "arguments": [ { "argumentTypes": null, - "id": 903, + "id": 940, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "8781:6:4", + "referencedDeclaration": 911, + "src": "8781:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12347,14 +12347,14 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 904, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8789:36:4", + "src": "8789:36:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", @@ -12378,26 +12378,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 899, + "id": 936, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "8758:9:4", + "referencedDeclaration": 544, + "src": "8758:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 901, + "id": 938, "indexExpression": { "argumentTypes": null, - "id": 900, + "id": 937, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8768:7:4", + "referencedDeclaration": 909, + "src": "8768:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12408,27 +12408,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8758:18:4", + "src": "8758:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 902, + "id": 939, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 364, - "src": "8758:22:4", + "referencedDeclaration": 401, + "src": "8758:22:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 905, + "id": 942, "isConstant": false, "isLValue": false, "isPure": false, @@ -12436,39 +12436,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8758:68:4", + "src": "8758:68:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8737:89:4", + "src": "8737:89:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 907, + "id": 944, "nodeType": "ExpressionStatement", - "src": "8737:89:4" + "src": "8737:89:5" }, { "expression": { "argumentTypes": null, - "id": 913, + "id": 950, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 908, + "id": 945, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "8836:12:4", + "referencedDeclaration": 552, + "src": "8836:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12481,12 +12481,12 @@ "arguments": [ { "argumentTypes": null, - "id": 911, + "id": 948, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "8868:6:4", + "referencedDeclaration": 911, + "src": "8868:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12502,32 +12502,32 @@ ], "expression": { "argumentTypes": null, - "id": 909, + "id": 946, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 515, - "src": "8851:12:4", + "referencedDeclaration": 552, + "src": "8851:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 910, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 336, - "src": "8851:16:4", + "referencedDeclaration": 373, + "src": "8851:16:5", "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": 912, + "id": 949, "isConstant": false, "isLValue": false, "isPure": false, @@ -12535,22 +12535,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8851:24:4", + "src": "8851:24:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8836:39:4", + "src": "8836:39:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 914, + "id": 951, "nodeType": "ExpressionStatement", - "src": "8836:39:4" + "src": "8836:39:5" }, { "eventCall": { @@ -12558,12 +12558,12 @@ "arguments": [ { "argumentTypes": null, - "id": 916, + "id": 953, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "8899:7:4", + "referencedDeclaration": 909, + "src": "8899:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12575,14 +12575,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 919, + "id": 956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8916:1:4", + "src": "8916:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12598,29 +12598,29 @@ "typeString": "int_const 0" } ], - "id": 918, + "id": 955, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8908:7:4", + "src": "8908:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 917, + "id": 954, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8908:7:4", + "src": "8908:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 920, + "id": 957, "isConstant": false, "isLValue": false, "isPure": true, @@ -12628,7 +12628,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8908:10:4", + "src": "8908:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -12637,12 +12637,12 @@ }, { "argumentTypes": null, - "id": 921, + "id": 958, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 874, - "src": "8920:6:4", + "referencedDeclaration": 911, + "src": "8920:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12664,18 +12664,18 @@ "typeString": "uint256" } ], - "id": 915, + "id": 952, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "8890:8:4", + "referencedDeclaration": 1098, + "src": "8890:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 922, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -12683,26 +12683,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8890:37:4", + "src": "8890:37:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 923, + "id": 960, "nodeType": "EmitStatement", - "src": "8885:42:4" + "src": "8885:42:5" } ] }, "documentation": { - "id": 870, + "id": 907, "nodeType": "StructuredDocumentation", - "src": "8211:308:4", + "src": "8211:308:5", "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." }, - "id": 925, + "id": 962, "implemented": true, "kind": "function", "modifiers": [], @@ -12710,18 +12710,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 875, + "id": 912, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 872, + "id": 909, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 925, - "src": "8539:15:4", + "scope": 962, + "src": "8539:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12729,10 +12729,10 @@ "typeString": "address" }, "typeName": { - "id": 871, + "id": 908, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8539:7:4", + "src": "8539:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12744,13 +12744,13 @@ }, { "constant": false, - "id": 874, + "id": 911, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 925, - "src": "8556:14:4", + "scope": 962, + "src": "8556:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12758,10 +12758,10 @@ "typeString": "uint256" }, "typeName": { - "id": 873, + "id": 910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8556:7:4", + "src": "8556:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12771,25 +12771,25 @@ "visibility": "internal" } ], - "src": "8538:33:4" + "src": "8538:33:5" }, "returnParameters": { - "id": 876, + "id": 913, "nodeType": "ParameterList", "parameters": [], - "src": "8589:0:4" + "src": "8589:0:5" }, - "scope": 993, - "src": "8524:410:4", + "scope": 1030, + "src": "8524:410:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 969, + "id": 1006, "nodeType": "Block", - "src": "9442:257:4", + "src": "9442:257:5", "statements": [ { "expression": { @@ -12801,19 +12801,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 941, + "id": 978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 936, + "id": 973, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "9460:5:4", + "referencedDeclaration": 965, + "src": "9460:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12827,14 +12827,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 939, + "id": 976, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9477:1:4", + "src": "9477:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12850,29 +12850,29 @@ "typeString": "int_const 0" } ], - "id": 938, + "id": 975, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9469:7:4", + "src": "9469:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 937, + "id": 974, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9469:7:4", + "src": "9469:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 940, + "id": 977, "isConstant": false, "isLValue": false, "isPure": true, @@ -12880,14 +12880,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9469:10:4", + "src": "9469:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9460:19:4", + "src": "9460:19:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12896,14 +12896,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 942, + "id": 979, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9481:38:4", + "src": "9481:38:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", @@ -12923,7 +12923,7 @@ "typeString": "literal_string \"ERC20: approve from the zero address\"" } ], - "id": 935, + "id": 972, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -12931,13 +12931,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9452:7:4", + "src": "9452:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 943, + "id": 980, "isConstant": false, "isLValue": false, "isPure": false, @@ -12945,16 +12945,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9452:68:4", + "src": "9452:68:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 944, + "id": 981, "nodeType": "ExpressionStatement", - "src": "9452:68:4" + "src": "9452:68:5" }, { "expression": { @@ -12966,19 +12966,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 951, + "id": 988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 946, + "id": 983, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 930, - "src": "9538:7:4", + "referencedDeclaration": 967, + "src": "9538:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12992,14 +12992,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 949, + "id": 986, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9557:1:4", + "src": "9557:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13015,29 +13015,29 @@ "typeString": "int_const 0" } ], - "id": 948, + "id": 985, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9549:7:4", + "src": "9549:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 947, + "id": 984, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9549:7:4", + "src": "9549:7:5", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 950, + "id": 987, "isConstant": false, "isLValue": false, "isPure": true, @@ -13045,14 +13045,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9549:10:4", + "src": "9549:10:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "9538:21:4", + "src": "9538:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13061,14 +13061,14 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 952, + "id": 989, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9561:36:4", + "src": "9561:36:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", @@ -13088,7 +13088,7 @@ "typeString": "literal_string \"ERC20: approve to the zero address\"" } ], - "id": 945, + "id": 982, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -13096,13 +13096,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9530:7:4", + "src": "9530:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 953, + "id": 990, "isConstant": false, "isLValue": false, "isPure": false, @@ -13110,21 +13110,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9530:68:4", + "src": "9530:68:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 954, + "id": 991, "nodeType": "ExpressionStatement", - "src": "9530:68:4" + "src": "9530:68:5" }, { "expression": { "argumentTypes": null, - "id": 961, + "id": 998, "isConstant": false, "isLValue": false, "isPure": false, @@ -13135,26 +13135,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 955, + "id": 992, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "9609:11:4", + "referencedDeclaration": 550, + "src": "9609:11:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 958, + "id": 995, "indexExpression": { "argumentTypes": null, - "id": 956, + "id": 993, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "9621:5:4", + "referencedDeclaration": 965, + "src": "9621:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13165,21 +13165,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9609:18:4", + "src": "9609:18:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 959, + "id": 996, "indexExpression": { "argumentTypes": null, - "id": 957, + "id": 994, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 930, - "src": "9628:7:4", + "referencedDeclaration": 967, + "src": "9628:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13190,7 +13190,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9609:27:4", + "src": "9609:27:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13200,26 +13200,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 960, + "id": 997, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 932, - "src": "9639:6:4", + "referencedDeclaration": 969, + "src": "9639:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9609:36:4", + "src": "9609:36:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 962, + "id": 999, "nodeType": "ExpressionStatement", - "src": "9609:36:4" + "src": "9609:36:5" }, { "eventCall": { @@ -13227,12 +13227,12 @@ "arguments": [ { "argumentTypes": null, - "id": 964, + "id": 1001, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "9669:5:4", + "referencedDeclaration": 965, + "src": "9669:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13240,12 +13240,12 @@ }, { "argumentTypes": null, - "id": 965, + "id": 1002, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 930, - "src": "9676:7:4", + "referencedDeclaration": 967, + "src": "9676:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13253,12 +13253,12 @@ }, { "argumentTypes": null, - "id": 966, + "id": 1003, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 932, - "src": "9685:6:4", + "referencedDeclaration": 969, + "src": "9685:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13280,18 +13280,18 @@ "typeString": "uint256" } ], - "id": 963, + "id": 1000, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "9660:8:4", + "referencedDeclaration": 1107, + "src": "9660:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 967, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -13299,26 +13299,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9660:32:4", + "src": "9660:32:5", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 968, + "id": 1005, "nodeType": "EmitStatement", - "src": "9655:37:4" + "src": "9655:37:5" } ] }, "documentation": { - "id": 926, + "id": 963, "nodeType": "StructuredDocumentation", - "src": "8940:414:4", + "src": "8940:414:5", "text": " @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n This is internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." }, - "id": 970, + "id": 1007, "implemented": true, "kind": "function", "modifiers": [], @@ -13326,18 +13326,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 933, + "id": 970, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 928, + "id": 965, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 970, - "src": "9377:13:4", + "scope": 1007, + "src": "9377:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13345,10 +13345,10 @@ "typeString": "address" }, "typeName": { - "id": 927, + "id": 964, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9377:7:4", + "src": "9377:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13360,13 +13360,13 @@ }, { "constant": false, - "id": 930, + "id": 967, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 970, - "src": "9392:15:4", + "scope": 1007, + "src": "9392:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13374,10 +13374,10 @@ "typeString": "address" }, "typeName": { - "id": 929, + "id": 966, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9392:7:4", + "src": "9392:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13389,13 +13389,13 @@ }, { "constant": false, - "id": 932, + "id": 969, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 970, - "src": "9409:14:4", + "scope": 1007, + "src": "9409:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13403,10 +13403,10 @@ "typeString": "uint256" }, "typeName": { - "id": 931, + "id": 968, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9409:7:4", + "src": "9409:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13416,42 +13416,42 @@ "visibility": "internal" } ], - "src": "9376:48:4" + "src": "9376:48:5" }, "returnParameters": { - "id": 934, + "id": 971, "nodeType": "ParameterList", "parameters": [], - "src": "9442:0:4" + "src": "9442:0:5" }, - "scope": 993, - "src": "9359:340:4", + "scope": 1030, + "src": "9359:340:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 980, + "id": 1017, "nodeType": "Block", - "src": "10072:38:4", + "src": "10072:38:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 978, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 976, + "id": 1013, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "10082:9:4", + "referencedDeclaration": 558, + "src": "10082:9:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13461,36 +13461,36 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 977, + "id": 1014, "name": "decimals_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "10094:9:4", + "referencedDeclaration": 1010, + "src": "10094:9:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "10082:21:4", + "src": "10082:21:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 979, + "id": 1016, "nodeType": "ExpressionStatement", - "src": "10082:21:4" + "src": "10082:21:5" } ] }, "documentation": { - "id": 971, + "id": 1008, "nodeType": "StructuredDocumentation", - "src": "9705:312:4", + "src": "9705:312:5", "text": " @dev Sets {decimals} to a value other than the default one of 18.\n WARNING: This function should only be called from the constructor. Most\n applications that interact with token contracts will not expect\n {decimals} to ever change, and may work incorrectly if it does." }, - "id": 981, + "id": 1018, "implemented": true, "kind": "function", "modifiers": [], @@ -13498,18 +13498,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 974, + "id": 1011, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 973, + "id": 1010, "mutability": "mutable", "name": "decimals_", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 981, - "src": "10046:15:4", + "scope": 1018, + "src": "10046:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13517,10 +13517,10 @@ "typeString": "uint8" }, "typeName": { - "id": 972, + "id": 1009, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10046:5:4", + "src": "10046:5:5", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13530,34 +13530,34 @@ "visibility": "internal" } ], - "src": "10045:17:4" + "src": "10045:17:5" }, "returnParameters": { - "id": 975, + "id": 1012, "nodeType": "ParameterList", "parameters": [], - "src": "10072:0:4" + "src": "10072:0:5" }, - "scope": 993, - "src": "10022:88:4", + "scope": 1030, + "src": "10022:88:5", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 991, + "id": 1028, "nodeType": "Block", - "src": "10786:3:4", + "src": "10786:3:5", "statements": [] }, "documentation": { - "id": 982, + "id": 1019, "nodeType": "StructuredDocumentation", - "src": "10116:576:4", + "src": "10116:576:5", "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be to transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." }, - "id": 992, + "id": 1029, "implemented": true, "kind": "function", "modifiers": [], @@ -13565,18 +13565,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 989, + "id": 1026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 984, + "id": 1021, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 992, - "src": "10727:12:4", + "scope": 1029, + "src": "10727:12:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13584,10 +13584,10 @@ "typeString": "address" }, "typeName": { - "id": 983, + "id": 1020, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10727:7:4", + "src": "10727:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13599,13 +13599,13 @@ }, { "constant": false, - "id": 986, + "id": 1023, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 992, - "src": "10741:10:4", + "scope": 1029, + "src": "10741:10:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13613,10 +13613,10 @@ "typeString": "address" }, "typeName": { - "id": 985, + "id": 1022, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10741:7:4", + "src": "10741:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13628,13 +13628,13 @@ }, { "constant": false, - "id": 988, + "id": 1025, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 992, - "src": "10753:14:4", + "scope": 1029, + "src": "10753:14:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13642,10 +13642,10 @@ "typeString": "uint256" }, "typeName": { - "id": 987, + "id": 1024, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10753:7:4", + "src": "10753:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13655,26 +13655,26 @@ "visibility": "internal" } ], - "src": "10726:42:4" + "src": "10726:42:5" }, "returnParameters": { - "id": 990, + "id": 1027, "nodeType": "ParameterList", "parameters": [], - "src": "10786:0:4" + "src": "10786:0:5" }, - "scope": 993, - "src": "10697:92:4", + "scope": 1030, + "src": "10697:92:5", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" } ], - "scope": 994, - "src": "1345:9446:4" + "scope": 1031, + "src": "1345:9446:5" } ], - "src": "33:10759:4" + "src": "33:10759:5" }, "compiler": { "name": "solc", @@ -13682,7 +13682,7 @@ }, "networks": {}, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-18T06:25:03.664Z", + "updatedAt": "2020-09-20T09:59:34.424Z", "devdoc": { "details": "Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", "kind": "dev", diff --git a/build/contracts/IERC20.json b/build/contracts/IERC20.json index ade8bb4..f82a27e 100644 --- a/build/contracts/IERC20.json +++ b/build/contracts/IERC20.json @@ -197,15 +197,15 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 1071 + 1108 ] }, - "id": 1072, + "id": 1109, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 995, + "id": 1032, "literals": [ "solidity", "^", @@ -213,7 +213,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:5" + "src": "33:23:6" }, { "abstract": false, @@ -221,15 +221,15 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 996, + "id": 1033, "nodeType": "StructuredDocumentation", - "src": "58:70:5", + "src": "58:70:6", "text": " @dev Interface of the ERC20 standard as defined in the EIP." }, "fullyImplemented": false, - "id": 1071, + "id": 1108, "linearizedBaseContracts": [ - 1071 + 1108 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -237,13 +237,13 @@ { "body": null, "documentation": { - "id": 997, + "id": 1034, "nodeType": "StructuredDocumentation", - "src": "152:66:5", + "src": "152:66:6", "text": " @dev Returns the amount of tokens in existence." }, "functionSelector": "18160ddd", - "id": 1002, + "id": 1039, "implemented": false, "kind": "function", "modifiers": [], @@ -251,24 +251,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 998, + "id": 1035, "nodeType": "ParameterList", "parameters": [], - "src": "243:2:5" + "src": "243:2:6" }, "returnParameters": { - "id": 1001, + "id": 1038, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1000, + "id": 1037, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1002, - "src": "269:7:5", + "scope": 1039, + "src": "269:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -276,10 +276,10 @@ "typeString": "uint256" }, "typeName": { - "id": 999, + "id": 1036, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "269:7:5", + "src": "269:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -289,10 +289,10 @@ "visibility": "internal" } ], - "src": "268:9:5" + "src": "268:9:6" }, - "scope": 1071, - "src": "223:55:5", + "scope": 1108, + "src": "223:55:6", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -300,13 +300,13 @@ { "body": null, "documentation": { - "id": 1003, + "id": 1040, "nodeType": "StructuredDocumentation", - "src": "284:72:5", + "src": "284:72:6", "text": " @dev Returns the amount of tokens owned by `account`." }, "functionSelector": "70a08231", - "id": 1010, + "id": 1047, "implemented": false, "kind": "function", "modifiers": [], @@ -314,18 +314,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1006, + "id": 1043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1005, + "id": 1042, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1010, - "src": "380:15:5", + "scope": 1047, + "src": "380:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -333,10 +333,10 @@ "typeString": "address" }, "typeName": { - "id": 1004, + "id": 1041, "name": "address", "nodeType": "ElementaryTypeName", - "src": "380:7:5", + "src": "380:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -347,21 +347,21 @@ "visibility": "internal" } ], - "src": "379:17:5" + "src": "379:17:6" }, "returnParameters": { - "id": 1009, + "id": 1046, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1008, + "id": 1045, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1010, - "src": "420:7:5", + "scope": 1047, + "src": "420:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -369,10 +369,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1007, + "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "420:7:5", + "src": "420:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -382,10 +382,10 @@ "visibility": "internal" } ], - "src": "419:9:5" + "src": "419:9:6" }, - "scope": 1071, - "src": "361:68:5", + "scope": 1108, + "src": "361:68:6", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -393,13 +393,13 @@ { "body": null, "documentation": { - "id": 1011, + "id": 1048, "nodeType": "StructuredDocumentation", - "src": "435:209:5", + "src": "435:209:6", "text": " @dev Moves `amount` tokens from the caller's account to `recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." }, "functionSelector": "a9059cbb", - "id": 1020, + "id": 1057, "implemented": false, "kind": "function", "modifiers": [], @@ -407,18 +407,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1016, + "id": 1053, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1013, + "id": 1050, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1020, - "src": "667:17:5", + "scope": 1057, + "src": "667:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -426,10 +426,10 @@ "typeString": "address" }, "typeName": { - "id": 1012, + "id": 1049, "name": "address", "nodeType": "ElementaryTypeName", - "src": "667:7:5", + "src": "667:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -441,13 +441,13 @@ }, { "constant": false, - "id": 1015, + "id": 1052, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1020, - "src": "686:14:5", + "scope": 1057, + "src": "686:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -455,10 +455,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1014, + "id": 1051, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "686:7:5", + "src": "686:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -468,21 +468,21 @@ "visibility": "internal" } ], - "src": "666:35:5" + "src": "666:35:6" }, "returnParameters": { - "id": 1019, + "id": 1056, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1018, + "id": 1055, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1020, - "src": "720:4:5", + "scope": 1057, + "src": "720:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -490,10 +490,10 @@ "typeString": "bool" }, "typeName": { - "id": 1017, + "id": 1054, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "720:4:5", + "src": "720:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -503,10 +503,10 @@ "visibility": "internal" } ], - "src": "719:6:5" + "src": "719:6:6" }, - "scope": 1071, - "src": "649:77:5", + "scope": 1108, + "src": "649:77:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -514,13 +514,13 @@ { "body": null, "documentation": { - "id": 1021, + "id": 1058, "nodeType": "StructuredDocumentation", - "src": "732:264:5", + "src": "732:264:6", "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." }, "functionSelector": "dd62ed3e", - "id": 1030, + "id": 1067, "implemented": false, "kind": "function", "modifiers": [], @@ -528,18 +528,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1026, + "id": 1063, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1023, + "id": 1060, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1030, - "src": "1020:13:5", + "scope": 1067, + "src": "1020:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -547,10 +547,10 @@ "typeString": "address" }, "typeName": { - "id": 1022, + "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1020:7:5", + "src": "1020:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -562,13 +562,13 @@ }, { "constant": false, - "id": 1025, + "id": 1062, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1030, - "src": "1035:15:5", + "scope": 1067, + "src": "1035:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -576,10 +576,10 @@ "typeString": "address" }, "typeName": { - "id": 1024, + "id": 1061, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1035:7:5", + "src": "1035:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -590,21 +590,21 @@ "visibility": "internal" } ], - "src": "1019:32:5" + "src": "1019:32:6" }, "returnParameters": { - "id": 1029, + "id": 1066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1065, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1030, - "src": "1075:7:5", + "scope": 1067, + "src": "1075:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -612,10 +612,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1027, + "id": 1064, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1075:7:5", + "src": "1075:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -625,10 +625,10 @@ "visibility": "internal" } ], - "src": "1074:9:5" + "src": "1074:9:6" }, - "scope": 1071, - "src": "1001:83:5", + "scope": 1108, + "src": "1001:83:6", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -636,13 +636,13 @@ { "body": null, "documentation": { - "id": 1031, + "id": 1068, "nodeType": "StructuredDocumentation", - "src": "1090:642:5", + "src": "1090:642:6", "text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." }, "functionSelector": "095ea7b3", - "id": 1040, + "id": 1077, "implemented": false, "kind": "function", "modifiers": [], @@ -650,18 +650,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1036, + "id": 1073, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1033, + "id": 1070, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1040, - "src": "1754:15:5", + "scope": 1077, + "src": "1754:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -669,10 +669,10 @@ "typeString": "address" }, "typeName": { - "id": 1032, + "id": 1069, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1754:7:5", + "src": "1754:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -684,13 +684,13 @@ }, { "constant": false, - "id": 1035, + "id": 1072, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1040, - "src": "1771:14:5", + "scope": 1077, + "src": "1771:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -698,10 +698,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1034, + "id": 1071, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1771:7:5", + "src": "1771:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -711,21 +711,21 @@ "visibility": "internal" } ], - "src": "1753:33:5" + "src": "1753:33:6" }, "returnParameters": { - "id": 1039, + "id": 1076, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1038, + "id": 1075, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1040, - "src": "1805:4:5", + "scope": 1077, + "src": "1805:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -733,10 +733,10 @@ "typeString": "bool" }, "typeName": { - "id": 1037, + "id": 1074, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1805:4:5", + "src": "1805:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -746,10 +746,10 @@ "visibility": "internal" } ], - "src": "1804:6:5" + "src": "1804:6:6" }, - "scope": 1071, - "src": "1737:74:5", + "scope": 1108, + "src": "1737:74:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -757,13 +757,13 @@ { "body": null, "documentation": { - "id": 1041, + "id": 1078, "nodeType": "StructuredDocumentation", - "src": "1817:296:5", + "src": "1817:296:6", "text": " @dev Moves `amount` tokens from `sender` to `recipient` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." }, "functionSelector": "23b872dd", - "id": 1052, + "id": 1089, "implemented": false, "kind": "function", "modifiers": [], @@ -771,18 +771,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1048, + "id": 1085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1043, + "id": 1080, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1052, - "src": "2140:14:5", + "scope": 1089, + "src": "2140:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -790,10 +790,10 @@ "typeString": "address" }, "typeName": { - "id": 1042, + "id": 1079, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2140:7:5", + "src": "2140:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -805,13 +805,13 @@ }, { "constant": false, - "id": 1045, + "id": 1082, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1052, - "src": "2156:17:5", + "scope": 1089, + "src": "2156:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -819,10 +819,10 @@ "typeString": "address" }, "typeName": { - "id": 1044, + "id": 1081, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2156:7:5", + "src": "2156:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -834,13 +834,13 @@ }, { "constant": false, - "id": 1047, + "id": 1084, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1052, - "src": "2175:14:5", + "scope": 1089, + "src": "2175:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -848,10 +848,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1046, + "id": 1083, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2175:7:5", + "src": "2175:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -861,21 +861,21 @@ "visibility": "internal" } ], - "src": "2139:51:5" + "src": "2139:51:6" }, "returnParameters": { - "id": 1051, + "id": 1088, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1050, + "id": 1087, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1052, - "src": "2209:4:5", + "scope": 1089, + "src": "2209:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -883,10 +883,10 @@ "typeString": "bool" }, "typeName": { - "id": 1049, + "id": 1086, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2209:4:5", + "src": "2209:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -896,10 +896,10 @@ "visibility": "internal" } ], - "src": "2208:6:5" + "src": "2208:6:6" }, - "scope": 1071, - "src": "2118:97:5", + "scope": 1108, + "src": "2118:97:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -907,28 +907,28 @@ { "anonymous": false, "documentation": { - "id": 1053, + "id": 1090, "nodeType": "StructuredDocumentation", - "src": "2221:158:5", + "src": "2221:158:6", "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." }, - "id": 1061, + "id": 1098, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 1060, + "id": 1097, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1055, + "id": 1092, "indexed": true, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1061, - "src": "2399:20:5", + "scope": 1098, + "src": "2399:20:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -936,10 +936,10 @@ "typeString": "address" }, "typeName": { - "id": 1054, + "id": 1091, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2399:7:5", + "src": "2399:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -951,14 +951,14 @@ }, { "constant": false, - "id": 1057, + "id": 1094, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1061, - "src": "2421:18:5", + "scope": 1098, + "src": "2421:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -966,10 +966,10 @@ "typeString": "address" }, "typeName": { - "id": 1056, + "id": 1093, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2421:7:5", + "src": "2421:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -981,14 +981,14 @@ }, { "constant": false, - "id": 1059, + "id": 1096, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1061, - "src": "2441:13:5", + "scope": 1098, + "src": "2441:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -996,10 +996,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1058, + "id": 1095, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2441:7:5", + "src": "2441:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1009,35 +1009,35 @@ "visibility": "internal" } ], - "src": "2398:57:5" + "src": "2398:57:6" }, - "src": "2384:72:5" + "src": "2384:72:6" }, { "anonymous": false, "documentation": { - "id": 1062, + "id": 1099, "nodeType": "StructuredDocumentation", - "src": "2462:148:5", + "src": "2462:148:6", "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance." }, - "id": 1070, + "id": 1107, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 1069, + "id": 1106, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1064, + "id": 1101, "indexed": true, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1070, - "src": "2630:21:5", + "scope": 1107, + "src": "2630:21:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1045,10 +1045,10 @@ "typeString": "address" }, "typeName": { - "id": 1063, + "id": 1100, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2630:7:5", + "src": "2630:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1060,14 +1060,14 @@ }, { "constant": false, - "id": 1066, + "id": 1103, "indexed": true, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1070, - "src": "2653:23:5", + "scope": 1107, + "src": "2653:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1075,10 +1075,10 @@ "typeString": "address" }, "typeName": { - "id": 1065, + "id": 1102, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2653:7:5", + "src": "2653:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1090,14 +1090,14 @@ }, { "constant": false, - "id": 1068, + "id": 1105, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1070, - "src": "2678:13:5", + "scope": 1107, + "src": "2678:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1105,10 +1105,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1067, + "id": 1104, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2678:7:5", + "src": "2678:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1118,30 +1118,30 @@ "visibility": "internal" } ], - "src": "2629:63:5" + "src": "2629:63:6" }, - "src": "2615:78:5" + "src": "2615:78:6" } ], - "scope": 1072, - "src": "129:2566:5" + "scope": 1109, + "src": "129:2566:6" } ], - "src": "33:2663:5" + "src": "33:2663:6" }, "legacyAST": { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 1071 + 1108 ] }, - "id": 1072, + "id": 1109, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 995, + "id": 1032, "literals": [ "solidity", "^", @@ -1149,7 +1149,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:5" + "src": "33:23:6" }, { "abstract": false, @@ -1157,15 +1157,15 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 996, + "id": 1033, "nodeType": "StructuredDocumentation", - "src": "58:70:5", + "src": "58:70:6", "text": " @dev Interface of the ERC20 standard as defined in the EIP." }, "fullyImplemented": false, - "id": 1071, + "id": 1108, "linearizedBaseContracts": [ - 1071 + 1108 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -1173,13 +1173,13 @@ { "body": null, "documentation": { - "id": 997, + "id": 1034, "nodeType": "StructuredDocumentation", - "src": "152:66:5", + "src": "152:66:6", "text": " @dev Returns the amount of tokens in existence." }, "functionSelector": "18160ddd", - "id": 1002, + "id": 1039, "implemented": false, "kind": "function", "modifiers": [], @@ -1187,24 +1187,24 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 998, + "id": 1035, "nodeType": "ParameterList", "parameters": [], - "src": "243:2:5" + "src": "243:2:6" }, "returnParameters": { - "id": 1001, + "id": 1038, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1000, + "id": 1037, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1002, - "src": "269:7:5", + "scope": 1039, + "src": "269:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1212,10 +1212,10 @@ "typeString": "uint256" }, "typeName": { - "id": 999, + "id": 1036, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "269:7:5", + "src": "269:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1225,10 +1225,10 @@ "visibility": "internal" } ], - "src": "268:9:5" + "src": "268:9:6" }, - "scope": 1071, - "src": "223:55:5", + "scope": 1108, + "src": "223:55:6", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -1236,13 +1236,13 @@ { "body": null, "documentation": { - "id": 1003, + "id": 1040, "nodeType": "StructuredDocumentation", - "src": "284:72:5", + "src": "284:72:6", "text": " @dev Returns the amount of tokens owned by `account`." }, "functionSelector": "70a08231", - "id": 1010, + "id": 1047, "implemented": false, "kind": "function", "modifiers": [], @@ -1250,18 +1250,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1006, + "id": 1043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1005, + "id": 1042, "mutability": "mutable", "name": "account", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1010, - "src": "380:15:5", + "scope": 1047, + "src": "380:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1269,10 +1269,10 @@ "typeString": "address" }, "typeName": { - "id": 1004, + "id": 1041, "name": "address", "nodeType": "ElementaryTypeName", - "src": "380:7:5", + "src": "380:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1283,21 +1283,21 @@ "visibility": "internal" } ], - "src": "379:17:5" + "src": "379:17:6" }, "returnParameters": { - "id": 1009, + "id": 1046, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1008, + "id": 1045, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1010, - "src": "420:7:5", + "scope": 1047, + "src": "420:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1305,10 +1305,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1007, + "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "420:7:5", + "src": "420:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1318,10 +1318,10 @@ "visibility": "internal" } ], - "src": "419:9:5" + "src": "419:9:6" }, - "scope": 1071, - "src": "361:68:5", + "scope": 1108, + "src": "361:68:6", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -1329,13 +1329,13 @@ { "body": null, "documentation": { - "id": 1011, + "id": 1048, "nodeType": "StructuredDocumentation", - "src": "435:209:5", + "src": "435:209:6", "text": " @dev Moves `amount` tokens from the caller's account to `recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." }, "functionSelector": "a9059cbb", - "id": 1020, + "id": 1057, "implemented": false, "kind": "function", "modifiers": [], @@ -1343,18 +1343,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1016, + "id": 1053, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1013, + "id": 1050, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1020, - "src": "667:17:5", + "scope": 1057, + "src": "667:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1362,10 +1362,10 @@ "typeString": "address" }, "typeName": { - "id": 1012, + "id": 1049, "name": "address", "nodeType": "ElementaryTypeName", - "src": "667:7:5", + "src": "667:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1377,13 +1377,13 @@ }, { "constant": false, - "id": 1015, + "id": 1052, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1020, - "src": "686:14:5", + "scope": 1057, + "src": "686:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1391,10 +1391,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1014, + "id": 1051, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "686:7:5", + "src": "686:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1404,21 +1404,21 @@ "visibility": "internal" } ], - "src": "666:35:5" + "src": "666:35:6" }, "returnParameters": { - "id": 1019, + "id": 1056, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1018, + "id": 1055, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1020, - "src": "720:4:5", + "scope": 1057, + "src": "720:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1426,10 +1426,10 @@ "typeString": "bool" }, "typeName": { - "id": 1017, + "id": 1054, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "720:4:5", + "src": "720:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1439,10 +1439,10 @@ "visibility": "internal" } ], - "src": "719:6:5" + "src": "719:6:6" }, - "scope": 1071, - "src": "649:77:5", + "scope": 1108, + "src": "649:77:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1450,13 +1450,13 @@ { "body": null, "documentation": { - "id": 1021, + "id": 1058, "nodeType": "StructuredDocumentation", - "src": "732:264:5", + "src": "732:264:6", "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." }, "functionSelector": "dd62ed3e", - "id": 1030, + "id": 1067, "implemented": false, "kind": "function", "modifiers": [], @@ -1464,18 +1464,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1026, + "id": 1063, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1023, + "id": 1060, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1030, - "src": "1020:13:5", + "scope": 1067, + "src": "1020:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1483,10 +1483,10 @@ "typeString": "address" }, "typeName": { - "id": 1022, + "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1020:7:5", + "src": "1020:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1498,13 +1498,13 @@ }, { "constant": false, - "id": 1025, + "id": 1062, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1030, - "src": "1035:15:5", + "scope": 1067, + "src": "1035:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1512,10 +1512,10 @@ "typeString": "address" }, "typeName": { - "id": 1024, + "id": 1061, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1035:7:5", + "src": "1035:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1526,21 +1526,21 @@ "visibility": "internal" } ], - "src": "1019:32:5" + "src": "1019:32:6" }, "returnParameters": { - "id": 1029, + "id": 1066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1065, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1030, - "src": "1075:7:5", + "scope": 1067, + "src": "1075:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1548,10 +1548,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1027, + "id": 1064, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1075:7:5", + "src": "1075:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1561,10 +1561,10 @@ "visibility": "internal" } ], - "src": "1074:9:5" + "src": "1074:9:6" }, - "scope": 1071, - "src": "1001:83:5", + "scope": 1108, + "src": "1001:83:6", "stateMutability": "view", "virtual": false, "visibility": "external" @@ -1572,13 +1572,13 @@ { "body": null, "documentation": { - "id": 1031, + "id": 1068, "nodeType": "StructuredDocumentation", - "src": "1090:642:5", + "src": "1090:642:6", "text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." }, "functionSelector": "095ea7b3", - "id": 1040, + "id": 1077, "implemented": false, "kind": "function", "modifiers": [], @@ -1586,18 +1586,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1036, + "id": 1073, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1033, + "id": 1070, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1040, - "src": "1754:15:5", + "scope": 1077, + "src": "1754:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1605,10 +1605,10 @@ "typeString": "address" }, "typeName": { - "id": 1032, + "id": 1069, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1754:7:5", + "src": "1754:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1620,13 +1620,13 @@ }, { "constant": false, - "id": 1035, + "id": 1072, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1040, - "src": "1771:14:5", + "scope": 1077, + "src": "1771:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1634,10 +1634,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1034, + "id": 1071, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1771:7:5", + "src": "1771:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1647,21 +1647,21 @@ "visibility": "internal" } ], - "src": "1753:33:5" + "src": "1753:33:6" }, "returnParameters": { - "id": 1039, + "id": 1076, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1038, + "id": 1075, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1040, - "src": "1805:4:5", + "scope": 1077, + "src": "1805:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1669,10 +1669,10 @@ "typeString": "bool" }, "typeName": { - "id": 1037, + "id": 1074, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1805:4:5", + "src": "1805:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1682,10 +1682,10 @@ "visibility": "internal" } ], - "src": "1804:6:5" + "src": "1804:6:6" }, - "scope": 1071, - "src": "1737:74:5", + "scope": 1108, + "src": "1737:74:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1693,13 +1693,13 @@ { "body": null, "documentation": { - "id": 1041, + "id": 1078, "nodeType": "StructuredDocumentation", - "src": "1817:296:5", + "src": "1817:296:6", "text": " @dev Moves `amount` tokens from `sender` to `recipient` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." }, "functionSelector": "23b872dd", - "id": 1052, + "id": 1089, "implemented": false, "kind": "function", "modifiers": [], @@ -1707,18 +1707,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 1048, + "id": 1085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1043, + "id": 1080, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1052, - "src": "2140:14:5", + "scope": 1089, + "src": "2140:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1726,10 +1726,10 @@ "typeString": "address" }, "typeName": { - "id": 1042, + "id": 1079, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2140:7:5", + "src": "2140:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1741,13 +1741,13 @@ }, { "constant": false, - "id": 1045, + "id": 1082, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1052, - "src": "2156:17:5", + "scope": 1089, + "src": "2156:17:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1755,10 +1755,10 @@ "typeString": "address" }, "typeName": { - "id": 1044, + "id": 1081, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2156:7:5", + "src": "2156:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1770,13 +1770,13 @@ }, { "constant": false, - "id": 1047, + "id": 1084, "mutability": "mutable", "name": "amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1052, - "src": "2175:14:5", + "scope": 1089, + "src": "2175:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1784,10 +1784,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1046, + "id": 1083, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2175:7:5", + "src": "2175:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1797,21 +1797,21 @@ "visibility": "internal" } ], - "src": "2139:51:5" + "src": "2139:51:6" }, "returnParameters": { - "id": 1051, + "id": 1088, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1050, + "id": 1087, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1052, - "src": "2209:4:5", + "scope": 1089, + "src": "2209:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1819,10 +1819,10 @@ "typeString": "bool" }, "typeName": { - "id": 1049, + "id": 1086, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2209:4:5", + "src": "2209:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1832,10 +1832,10 @@ "visibility": "internal" } ], - "src": "2208:6:5" + "src": "2208:6:6" }, - "scope": 1071, - "src": "2118:97:5", + "scope": 1108, + "src": "2118:97:6", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1843,28 +1843,28 @@ { "anonymous": false, "documentation": { - "id": 1053, + "id": 1090, "nodeType": "StructuredDocumentation", - "src": "2221:158:5", + "src": "2221:158:6", "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." }, - "id": 1061, + "id": 1098, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 1060, + "id": 1097, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1055, + "id": 1092, "indexed": true, "mutability": "mutable", "name": "from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1061, - "src": "2399:20:5", + "scope": 1098, + "src": "2399:20:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1872,10 +1872,10 @@ "typeString": "address" }, "typeName": { - "id": 1054, + "id": 1091, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2399:7:5", + "src": "2399:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1887,14 +1887,14 @@ }, { "constant": false, - "id": 1057, + "id": 1094, "indexed": true, "mutability": "mutable", "name": "to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1061, - "src": "2421:18:5", + "scope": 1098, + "src": "2421:18:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1902,10 +1902,10 @@ "typeString": "address" }, "typeName": { - "id": 1056, + "id": 1093, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2421:7:5", + "src": "2421:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1917,14 +1917,14 @@ }, { "constant": false, - "id": 1059, + "id": 1096, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1061, - "src": "2441:13:5", + "scope": 1098, + "src": "2441:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1932,10 +1932,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1058, + "id": 1095, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2441:7:5", + "src": "2441:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1945,35 +1945,35 @@ "visibility": "internal" } ], - "src": "2398:57:5" + "src": "2398:57:6" }, - "src": "2384:72:5" + "src": "2384:72:6" }, { "anonymous": false, "documentation": { - "id": 1062, + "id": 1099, "nodeType": "StructuredDocumentation", - "src": "2462:148:5", + "src": "2462:148:6", "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance." }, - "id": 1070, + "id": 1107, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 1069, + "id": 1106, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1064, + "id": 1101, "indexed": true, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1070, - "src": "2630:21:5", + "scope": 1107, + "src": "2630:21:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1981,10 +1981,10 @@ "typeString": "address" }, "typeName": { - "id": 1063, + "id": 1100, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2630:7:5", + "src": "2630:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1996,14 +1996,14 @@ }, { "constant": false, - "id": 1066, + "id": 1103, "indexed": true, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1070, - "src": "2653:23:5", + "scope": 1107, + "src": "2653:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2011,10 +2011,10 @@ "typeString": "address" }, "typeName": { - "id": 1065, + "id": 1102, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2653:7:5", + "src": "2653:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2026,14 +2026,14 @@ }, { "constant": false, - "id": 1068, + "id": 1105, "indexed": false, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 1070, - "src": "2678:13:5", + "scope": 1107, + "src": "2678:13:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2041,10 +2041,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1067, + "id": 1104, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2678:7:5", + "src": "2678:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2054,16 +2054,16 @@ "visibility": "internal" } ], - "src": "2629:63:5" + "src": "2629:63:6" }, - "src": "2615:78:5" + "src": "2615:78:6" } ], - "scope": 1072, - "src": "129:2566:5" + "scope": 1109, + "src": "129:2566:6" } ], - "src": "33:2663:5" + "src": "33:2663:6" }, "compiler": { "name": "solc", @@ -2071,7 +2071,7 @@ }, "networks": {}, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-18T06:25:03.668Z", + "updatedAt": "2020-09-20T09:59:34.428Z", "devdoc": { "details": "Interface of the ERC20 standard as defined in the EIP.", "events": { diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 3aa4dc6..398a797 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -43,16 +43,16 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/tsudashouki/ReportToken/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/tsudashouki/ReportToken/contracts/Migrations.sol\":{\"keccak256\":\"0x7797e159bfd6b953422b4bd6d5de5946971d8b5ed74c4b1f6517d61fe236b851\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56bdf6130f3ced3e78baa0f3e7f34cb4c5131d90721326056bbf0dd202d8539d\",\"dweb:/ipfs/QmZqRKebKwn6YXejnnPribsyiXLmrAx32JpatFhvS76NKp\"]}},\"version\":1}", - "bytecode": "0x6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005057600080fd5b50610207806100606000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610064578063fdacd57614610098575b600080fd5b61004e6100c6565b6040518082815260200191505060405180910390f35b61006c6100cc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100c4600480360360208110156100ae57600080fd5b81019080803590602001909291905050506100f0565b005b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061019f6033913960400191505060405180910390fd5b806001819055505056fe546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572a264697066735822122023937deb7c917f8d9e4624113ebc4f3e42b627703b8eb4f6857936d5aa8489af64736f6c634300060c0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610064578063fdacd57614610098575b600080fd5b61004e6100c6565b6040518082815260200191505060405180910390f35b61006c6100cc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100c4600480360360208110156100ae57600080fd5b81019080803590602001909291905050506100f0565b005b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061019f6033913960400191505060405180910390fd5b806001819055505056fe546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572a264697066735822122023937deb7c917f8d9e4624113ebc4f3e42b627703b8eb4f6857936d5aa8489af64736f6c634300060c0033", + "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/Migrations.sol\":{\"keccak256\":\"0x7797e159bfd6b953422b4bd6d5de5946971d8b5ed74c4b1f6517d61fe236b851\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56bdf6130f3ced3e78baa0f3e7f34cb4c5131d90721326056bbf0dd202d8539d\",\"dweb:/ipfs/QmZqRKebKwn6YXejnnPribsyiXLmrAx32JpatFhvS76NKp\"]}},\"version\":1}", + "bytecode": "0x6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005057600080fd5b50610207806100606000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610064578063fdacd57614610098575b600080fd5b61004e6100c6565b6040518082815260200191505060405180910390f35b61006c6100cc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100c4600480360360208110156100ae57600080fd5b81019080803590602001909291905050506100f0565b005b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061019f6033913960400191505060405180910390fd5b806001819055505056fe546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572a26469706673582212201c447273c9eb47d3749b89fcecd7ffe9329dbaba7b218b6540a3810cee5a64af64736f6c634300060c0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610064578063fdacd57614610098575b600080fd5b61004e6100c6565b6040518082815260200191505060405180910390f35b61006c6100cc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100c4600480360360208110156100ae57600080fd5b81019080803590602001909291905050506100f0565b005b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061019f6033913960400191505060405180910390fd5b806001819055505056fe546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572a26469706673582212201c447273c9eb47d3749b89fcecd7ffe9329dbaba7b218b6540a3810cee5a64af64736f6c634300060c0033", "immutableReferences": {}, "sourceMap": "66:352:0:-:0;;;113:10;90:33;;;;;;;;;;;;;;;;;;;;66:352;;;;;;;;;;;;;;;;", "deployedSourceMap": "66:352:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;127:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;90:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;313:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;127:36;;;;:::o;90:33::-;;;;;;;;;;;;:::o;313:103::-;225:5;;;;;;;;;;211:19;;:10;:19;;;196:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;402:9:::1;375:24;:36;;;;313:103:::0;:::o", "source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.8.0;\n\ncontract Migrations {\n address public owner = msg.sender;\n uint public last_completed_migration;\n\n modifier restricted() {\n require(\n msg.sender == owner,\n \"This function is restricted to the contract's owner\"\n );\n _;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n}\n", - "sourcePath": "/Users/tsudashouki/ReportToken/contracts/Migrations.sol", + "sourcePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/Migrations.sol", "ast": { - "absolutePath": "/Users/tsudashouki/ReportToken/contracts/Migrations.sol", + "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ 32 @@ -471,7 +471,7 @@ "src": "32:387:0" }, "legacyAST": { - "absolutePath": "/Users/tsudashouki/ReportToken/contracts/Migrations.sol", + "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ 32 @@ -897,12 +897,12 @@ "5777": { "events": {}, "links": {}, - "address": "0xa11E2c595C41553f41C6BbE849Ed0Ca9bD656463", - "transactionHash": "0x8ce1f77468514bea5bece2cd5d6f3a869e0215c5aa7ba6df5674c340fd1793df" + "address": "0x2F286cbDA76F76ee62518F257988ECFdb5013e9a", + "transactionHash": "0xbfaf5e046c53feccfe933762263a307c270fe93acc92c2f78338964415f7f648" } }, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-19T01:12:11.143Z", + "updatedAt": "2020-09-20T10:00:00.497Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/ReportInfo.json b/build/contracts/ReportInfo.json new file mode 100644 index 0000000..c912c58 --- /dev/null +++ b/build/contracts/ReportInfo.json @@ -0,0 +1,989 @@ +{ + "contractName": "ReportInfo", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "Reports", + "outputs": [ + { + "internalType": "string", + "name": "_reportHash", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_reportHash", + "type": "string" + } + ], + "name": "set", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "get", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Reports\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_reportHash\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_reportHash\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":\"ReportInfo\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":{\"keccak256\":\"0xafe89dcf94eedd6b78262683751b7449340c5761d8de009b422c0badef02f639\",\"urls\":[\"bzz-raw://6df52de8025eae036ed1626c5857c40dd9f614f736fe228b9b139d76da71e638\",\"dweb:/ipfs/QmQHkiUGJBmVzRQnahNzp1U7CTs8PLj34VSi6EfRkLLUh6\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50610568806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063467f2cd8146100465780634ed3885e146100ed5780636d4ce63c146101a8575b600080fd5b6100726004803603602081101561005c57600080fd5b810190808035906020019092919050505061022b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100b2578082015181840152602081019050610097565b50505050905090810190601f1680156100df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a66004803603602081101561010357600080fd5b810190808035906020019064010000000081111561012057600080fd5b82018360208201111561013257600080fd5b8035906020019184600183028401116401000000008311171561015457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506102ea565b005b6101b06103f3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f05780820151818401526020810190506101d5565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6001818154811061023857fe5b90600052602060002001600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102e05780601f106102b5576101008083540402835291602001916102e0565b820191906000526020600020905b8154815290600101906020018083116102c357829003601f168201915b5050505050905081565b8060009080519060200190610300929190610495565b506001604051806020016040528060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103a45780601f10610379576101008083540402835291602001916103a4565b820191906000526020600020905b81548152906001019060200180831161038757829003601f168201915b50505050508152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000190805190602001906103ed929190610495565b50505050565b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561048b5780601f106104605761010080835404028352916020019161048b565b820191906000526020600020905b81548152906001019060200180831161046e57829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106104d657805160ff1916838001178555610504565b82800160010185558215610504579182015b828111156105035782518255916020019190600101906104e8565b5b5090506105119190610515565b5090565b5b8082111561052e576000816000905550600101610516565b509056fea2646970667358221220587c0a8a030d049d434f75a4d204e05a108d551f4ff71f0708d2e7a8ae1671fc64736f6c634300060c0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063467f2cd8146100465780634ed3885e146100ed5780636d4ce63c146101a8575b600080fd5b6100726004803603602081101561005c57600080fd5b810190808035906020019092919050505061022b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100b2578082015181840152602081019050610097565b50505050905090810190601f1680156100df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a66004803603602081101561010357600080fd5b810190808035906020019064010000000081111561012057600080fd5b82018360208201111561013257600080fd5b8035906020019184600183028401116401000000008311171561015457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506102ea565b005b6101b06103f3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f05780820151818401526020810190506101d5565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6001818154811061023857fe5b90600052602060002001600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102e05780601f106102b5576101008083540402835291602001916102e0565b820191906000526020600020905b8154815290600101906020018083116102c357829003601f168201915b5050505050905081565b8060009080519060200190610300929190610495565b506001604051806020016040528060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103a45780601f10610379576101008083540402835291602001916103a4565b820191906000526020600020905b81548152906001019060200180831161038757829003601f168201915b50505050508152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000190805190602001906103ed929190610495565b50505050565b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561048b5780601f106104605761010080835404028352916020019161048b565b820191906000526020600020905b81548152906001019060200180831161046e57829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106104d657805160ff1916838001178555610504565b82800160010185558215610504579182015b828111156105035782518255916020019190600101906104e8565b5b5090506105119190610515565b5090565b5b8082111561052e576000816000905550600101610516565b509056fea2646970667358221220587c0a8a030d049d434f75a4d204e05a108d551f4ff71f0708d2e7a8ae1671fc64736f6c634300060c0033", + "immutableReferences": {}, + "sourceMap": "25:399:1:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "25:399:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;170:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;200:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;337:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;170:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;200:131::-;271:11;258:10;:24;;;;;;;;;;;;:::i;:::-;;292:7;305:18;;;;;;;;312:10;305:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;292:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;200:131;:::o;337:85::-;373:13;405:10;398:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;337:85;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.6.0;\n\ncontract ReportInfo{\n string reportHash;\n // constructor(){\n struct Report {\n string _reportHash;\n }\n // }\n Report[] public Reports;\n\n function set(string memory _reportHash) public {\n\n reportHash = _reportHash;\n Reports.push(Report(reportHash));\n }\n\n function get() public view returns (string memory) {\n return reportHash;\n }\n}", + "sourcePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", + "ast": { + "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", + "exportedSymbols": { + "ReportInfo": [ + 69 + ] + }, + "id": 70, + "license": null, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 34, + "literals": [ + "solidity", + "^", + "0.6", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 69, + "linearizedBaseContracts": [ + 69 + ], + "name": "ReportInfo", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 36, + "mutability": "mutable", + "name": "reportHash", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 69, + "src": "50:17:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 35, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "canonicalName": "ReportInfo.Report", + "id": 39, + "members": [ + { + "constant": false, + "id": 38, + "mutability": "mutable", + "name": "_reportHash", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 39, + "src": "127:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 37, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "127:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Report", + "nodeType": "StructDefinition", + "scope": 69, + "src": "99:57:1", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "467f2cd8", + "id": 42, + "mutability": "mutable", + "name": "Reports", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 69, + "src": "170:23:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 40, + "name": "Report", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 39, + "src": "170:6:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$39_storage_ptr", + "typeString": "struct ReportInfo.Report" + } + }, + "id": 41, + "length": null, + "nodeType": "ArrayTypeName", + "src": "170:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage_ptr", + "typeString": "struct ReportInfo.Report[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 59, + "nodeType": "Block", + "src": "247:84:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 49, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 47, + "name": "reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "258:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 48, + "name": "_reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "271:11:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "258:24:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 50, + "nodeType": "ExpressionStatement", + "src": "258:24:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 55, + "name": "reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "312:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 54, + "name": "Report", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "305:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Report_$39_storage_ptr_$", + "typeString": "type(struct ReportInfo.Report storage pointer)" + } + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "305:18:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$39_memory_ptr", + "typeString": "struct ReportInfo.Report memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Report_$39_memory_ptr", + "typeString": "struct ReportInfo.Report memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 51, + "name": "Reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "292:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report storage ref[] storage ref" + } + }, + "id": 53, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "292:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Report_$39_storage_$returns$__$", + "typeString": "function (struct ReportInfo.Report storage ref)" + } + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "292:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 58, + "nodeType": "ExpressionStatement", + "src": "292:32:1" + } + ] + }, + "documentation": null, + "functionSelector": "4ed3885e", + "id": 60, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "set", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 45, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44, + "mutability": "mutable", + "name": "_reportHash", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 60, + "src": "213:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "213:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "212:27:1" + }, + "returnParameters": { + "id": 46, + "nodeType": "ParameterList", + "parameters": [], + "src": "247:0:1" + }, + "scope": 69, + "src": "200:131:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 67, + "nodeType": "Block", + "src": "388:34:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 65, + "name": "reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "405:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 64, + "id": 66, + "nodeType": "Return", + "src": "398:17:1" + } + ] + }, + "documentation": null, + "functionSelector": "6d4ce63c", + "id": 68, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 61, + "nodeType": "ParameterList", + "parameters": [], + "src": "349:2:1" + }, + "returnParameters": { + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 63, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 68, + "src": "373:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 62, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "373:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "372:15:1" + }, + "scope": 69, + "src": "337:85:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 70, + "src": "25:399:1" + } + ], + "src": "0:424:1" + }, + "legacyAST": { + "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", + "exportedSymbols": { + "ReportInfo": [ + 69 + ] + }, + "id": 70, + "license": null, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 34, + "literals": [ + "solidity", + "^", + "0.6", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 69, + "linearizedBaseContracts": [ + 69 + ], + "name": "ReportInfo", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 36, + "mutability": "mutable", + "name": "reportHash", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 69, + "src": "50:17:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 35, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "canonicalName": "ReportInfo.Report", + "id": 39, + "members": [ + { + "constant": false, + "id": 38, + "mutability": "mutable", + "name": "_reportHash", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 39, + "src": "127:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 37, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "127:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Report", + "nodeType": "StructDefinition", + "scope": 69, + "src": "99:57:1", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "467f2cd8", + "id": 42, + "mutability": "mutable", + "name": "Reports", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 69, + "src": "170:23:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 40, + "name": "Report", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 39, + "src": "170:6:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$39_storage_ptr", + "typeString": "struct ReportInfo.Report" + } + }, + "id": 41, + "length": null, + "nodeType": "ArrayTypeName", + "src": "170:8:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage_ptr", + "typeString": "struct ReportInfo.Report[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 59, + "nodeType": "Block", + "src": "247:84:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 49, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 47, + "name": "reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "258:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 48, + "name": "_reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "271:11:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "258:24:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 50, + "nodeType": "ExpressionStatement", + "src": "258:24:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 55, + "name": "reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "312:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 54, + "name": "Report", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 39, + "src": "305:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Report_$39_storage_ptr_$", + "typeString": "type(struct ReportInfo.Report storage pointer)" + } + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "305:18:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$39_memory_ptr", + "typeString": "struct ReportInfo.Report memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Report_$39_memory_ptr", + "typeString": "struct ReportInfo.Report memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 51, + "name": "Reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "292:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report storage ref[] storage ref" + } + }, + "id": 53, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "292:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Report_$39_storage_$returns$__$", + "typeString": "function (struct ReportInfo.Report storage ref)" + } + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "292:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 58, + "nodeType": "ExpressionStatement", + "src": "292:32:1" + } + ] + }, + "documentation": null, + "functionSelector": "4ed3885e", + "id": 60, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "set", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 45, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44, + "mutability": "mutable", + "name": "_reportHash", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 60, + "src": "213:25:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 43, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "213:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "212:27:1" + }, + "returnParameters": { + "id": 46, + "nodeType": "ParameterList", + "parameters": [], + "src": "247:0:1" + }, + "scope": 69, + "src": "200:131:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 67, + "nodeType": "Block", + "src": "388:34:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 65, + "name": "reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "405:10:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 64, + "id": 66, + "nodeType": "Return", + "src": "398:17:1" + } + ] + }, + "documentation": null, + "functionSelector": "6d4ce63c", + "id": 68, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 61, + "nodeType": "ParameterList", + "parameters": [], + "src": "349:2:1" + }, + "returnParameters": { + "id": 64, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 63, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 68, + "src": "373:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 62, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "373:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "372:15:1" + }, + "scope": 69, + "src": "337:85:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 70, + "src": "25:399:1" + } + ], + "src": "0:424:1" + }, + "compiler": { + "name": "solc", + "version": "0.6.12+commit.27d51765.Emscripten.clang" + }, + "networks": { + "5777": { + "events": {}, + "links": {}, + "address": "0xE9DEd4E4abaBEF3d580A5bcF051D866dcFE3d999", + "transactionHash": "0xf5af4947144e832f7c942a8b975d14384a49da33d8cd4142f610a8318607a178" + } + }, + "schemaVersion": "3.2.2", + "updatedAt": "2020-09-20T10:00:00.495Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/ReportToken.json b/build/contracts/ReportToken.json index 41517c7..eb34ea0 100644 --- a/build/contracts/ReportToken.json +++ b/build/contracts/ReportToken.json @@ -377,27 +377,27 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"purchaseToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdraw_amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/tsudashouki/ReportToken/contracts/ReportToken.sol\":\"ReportToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/tsudashouki/ReportToken/contracts/ReportToken.sol\":{\"keccak256\":\"0xc4821ec71010a1941289ff915200d5224656ad75af19447cd536853d6e05d5e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6cc7f972d62ae978df1c25face1b764ebb3d92f17320e7c289922765ad0436d\",\"dweb:/ipfs/QmR3MLKh1gjFMYwApFdzWb9iV2XDEy7Y22cNi5cEWRYSJj\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xf204d98eef08edacf5a02a2af1516ea4febdb6aba7a1ae5ac8deb6e568fd3dbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4dea62bffbd180772a6cfe7cb90e3a045c52d6b502bdb2fdff83193da42d8d0\",\"dweb:/ipfs/QmW8qGZ5nngajmv5Aamdrpkeuq7S5YCVaR7rtcqNekKHtK\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff\",\"dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162001b5538038062001b55833981810160405260208110156200003757600080fd5b81019080805190602001909291905050506040518060400160405280600b81526020017f5265706f7274546f6b656e0000000000000000000000000000000000000000008152506040518060400160405280600381526020017f52505400000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000cc92919062000389565b508060049080519060200190620000e592919062000389565b506012600560006101000a81548160ff021916908360ff16021790555050506200011633826200011d60201b60201c565b506200042f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620001d560008383620002fb60201b60201c565b620001f1816002546200030060201b6200112d1790919060201c565b6002819055506200024f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200030060201b6200112d1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b6000808284019050838110156200037f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003cc57805160ff1916838001178555620003fd565b82800160010185558215620003fd579182015b82811115620003fc578251825591602001919060010190620003df565b5b5090506200040c919062000410565b5090565b5b808211156200042b57600081600090555060010162000411565b5090565b611716806200043f6000396000f3fe6080604052600436106100e85760003560e01c8063395093511161008a578063a457c2d711610059578063a457c2d71461058c578063a9059cbb146105fd578063dd62ed3e1461066e578063f3fef3a3146106f3576100e8565b806339509351146103a15780635c6581651461041257806370a082311461049757806395d89b41146104fc576100e8565b80631cc2c911116100c65780631cc2c9111461021957806323b872dd1461027d57806327e235e31461030e578063313ce56714610373576100e8565b806306fdde03146100ed578063095ea7b31461017d57806318160ddd146101ee575b600080fd5b3480156100f957600080fd5b5061010261074e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610142578082015181840152602081019050610127565b50505050905090810190601f16801561016f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018957600080fd5b506101d6600480360360408110156101a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107f0565b60405180821515815260200191505060405180910390f35b3480156101fa57600080fd5b506102036108e2565b6040518082815260200191505060405180910390f35b6102656004803603604081101561022f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ec565b60405180821515815260200191505060405180910390f35b34801561028957600080fd5b506102f6600480360360608110156102a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061094f565b60405180821515815260200191505060405180910390f35b34801561031a57600080fd5b5061035d6004803603602081101561033157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bba565b6040518082815260200191505060405180910390f35b34801561037f57600080fd5b50610388610bd2565b604051808260ff16815260200191505060405180910390f35b3480156103ad57600080fd5b506103fa600480360360408110156103c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610be9565b60405180821515815260200191505060405180910390f35b34801561041e57600080fd5b506104816004803603604081101561043557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c9c565b6040518082815260200191505060405180910390f35b3480156104a357600080fd5b506104e6600480360360208110156104ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc1565b6040518082815260200191505060405180910390f35b34801561050857600080fd5b50610511610d09565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610551578082015181840152602081019050610536565b50505050905090810190601f16801561057e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059857600080fd5b506105e5600480360360408110156105af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dab565b60405180821515815260200191505060405180910390f35b34801561060957600080fd5b506106566004803603604081101561062057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e78565b60405180821515815260200191505060405180910390f35b34801561067a57600080fd5b506106dd6004803603604081101561069157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcf565b6040518082815260200191505060405180910390f35b3480156106ff57600080fd5b5061074c6004803603604081101561071657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611056565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107e65780601f106107bb576101008083540402835291602001916107e6565b820191906000526020600020905b8154815290600101906020018083116107c957829003601f168201915b5050505050905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600254905090565b60006108f883836111b5565b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001905092915050565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561099d57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610a2657600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60066020528060005260406000206000915090505481565b6000600560009054906101000a900460ff16905090565b6000610c92610bf661137c565b84610c8d8560016000610c0761137c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112d90919063ffffffff16565b611384565b6001905092915050565b6007602052816000526040600020602052806000526040600020600091509150505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610da15780601f10610d7657610100808354040283529160200191610da1565b820191906000526020600020905b815481529060010190602001808311610d8457829003601f168201915b5050505050905090565b6000610e6e610db861137c565b84610e69856040518060600160405280602581526020016116bc6025913960016000610de261137c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461157b9092919063ffffffff16565b611384565b6001905092915050565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ec657600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b67016345785d8a000081111561106b57600080fd5b804710156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806116636035913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808284019050838110156111ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6112646000838361163b565b6112798160025461112d90919063ffffffff16565b6002819055506112d0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561140a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806116986024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611490576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806116416022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000838311158290611628576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115ed5780820151818401526020810190506115d2565b50505050905090810190601f16801561161a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b50505056fe45524332303a20617070726f766520746f20746865207a65726f2061646472657373496e73756666696369656e742062616c616e636520696e2072657761726420666f72207769746864726177616c207265717565737445524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122046cdc8fe4faeb5142252ac383f855517efeeb282d9ddb9239164b89023b2f15a64736f6c634300060c0033", - "deployedBytecode": "0x6080604052600436106100e85760003560e01c8063395093511161008a578063a457c2d711610059578063a457c2d71461058c578063a9059cbb146105fd578063dd62ed3e1461066e578063f3fef3a3146106f3576100e8565b806339509351146103a15780635c6581651461041257806370a082311461049757806395d89b41146104fc576100e8565b80631cc2c911116100c65780631cc2c9111461021957806323b872dd1461027d57806327e235e31461030e578063313ce56714610373576100e8565b806306fdde03146100ed578063095ea7b31461017d57806318160ddd146101ee575b600080fd5b3480156100f957600080fd5b5061010261074e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610142578082015181840152602081019050610127565b50505050905090810190601f16801561016f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018957600080fd5b506101d6600480360360408110156101a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107f0565b60405180821515815260200191505060405180910390f35b3480156101fa57600080fd5b506102036108e2565b6040518082815260200191505060405180910390f35b6102656004803603604081101561022f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ec565b60405180821515815260200191505060405180910390f35b34801561028957600080fd5b506102f6600480360360608110156102a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061094f565b60405180821515815260200191505060405180910390f35b34801561031a57600080fd5b5061035d6004803603602081101561033157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bba565b6040518082815260200191505060405180910390f35b34801561037f57600080fd5b50610388610bd2565b604051808260ff16815260200191505060405180910390f35b3480156103ad57600080fd5b506103fa600480360360408110156103c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610be9565b60405180821515815260200191505060405180910390f35b34801561041e57600080fd5b506104816004803603604081101561043557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c9c565b6040518082815260200191505060405180910390f35b3480156104a357600080fd5b506104e6600480360360208110156104ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc1565b6040518082815260200191505060405180910390f35b34801561050857600080fd5b50610511610d09565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610551578082015181840152602081019050610536565b50505050905090810190601f16801561057e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059857600080fd5b506105e5600480360360408110156105af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dab565b60405180821515815260200191505060405180910390f35b34801561060957600080fd5b506106566004803603604081101561062057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e78565b60405180821515815260200191505060405180910390f35b34801561067a57600080fd5b506106dd6004803603604081101561069157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcf565b6040518082815260200191505060405180910390f35b3480156106ff57600080fd5b5061074c6004803603604081101561071657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611056565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107e65780601f106107bb576101008083540402835291602001916107e6565b820191906000526020600020905b8154815290600101906020018083116107c957829003601f168201915b5050505050905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600254905090565b60006108f883836111b5565b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001905092915050565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561099d57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610a2657600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60066020528060005260406000206000915090505481565b6000600560009054906101000a900460ff16905090565b6000610c92610bf661137c565b84610c8d8560016000610c0761137c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112d90919063ffffffff16565b611384565b6001905092915050565b6007602052816000526040600020602052806000526040600020600091509150505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610da15780601f10610d7657610100808354040283529160200191610da1565b820191906000526020600020905b815481529060010190602001808311610d8457829003601f168201915b5050505050905090565b6000610e6e610db861137c565b84610e69856040518060600160405280602581526020016116bc6025913960016000610de261137c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461157b9092919063ffffffff16565b611384565b6001905092915050565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ec657600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b67016345785d8a000081111561106b57600080fd5b804710156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806116636035913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808284019050838110156111ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6112646000838361163b565b6112798160025461112d90919063ffffffff16565b6002819055506112d0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561140a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806116986024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611490576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806116416022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000838311158290611628576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115ed5780820151818401526020810190506115d2565b50505050905090810190601f16801561161a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b50505056fe45524332303a20617070726f766520746f20746865207a65726f2061646472657373496e73756666696369656e742062616c616e636520696e2072657761726420666f72207769746864726177616c207265717565737445524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122046cdc8fe4faeb5142252ac383f855517efeeb282d9ddb9239164b89023b2f15a64736f6c634300060c0033", + "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"purchaseToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdraw_amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportToken.sol\":\"ReportToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportToken.sol\":{\"keccak256\":\"0xc4821ec71010a1941289ff915200d5224656ad75af19447cd536853d6e05d5e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6cc7f972d62ae978df1c25face1b764ebb3d92f17320e7c289922765ad0436d\",\"dweb:/ipfs/QmR3MLKh1gjFMYwApFdzWb9iV2XDEy7Y22cNi5cEWRYSJj\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0xdb26cbf4d028490f49831a7865c2fe1b28db44b535ca8d343785a3b768aae183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://840b14ce0315c47d49ba328f1f9fa7654ded1c9e1559e6c5e777a7b2dc28bf0a\",\"dweb:/ipfs/QmTLLabn4wcfGro9LEmUXUN2nwKqZSotXMvjDCLXEnLtZP\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xf204d98eef08edacf5a02a2af1516ea4febdb6aba7a1ae5ac8deb6e568fd3dbb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4dea62bffbd180772a6cfe7cb90e3a045c52d6b502bdb2fdff83193da42d8d0\",\"dweb:/ipfs/QmW8qGZ5nngajmv5Aamdrpkeuq7S5YCVaR7rtcqNekKHtK\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff\",\"dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162001b5538038062001b55833981810160405260208110156200003757600080fd5b81019080805190602001909291905050506040518060400160405280600b81526020017f5265706f7274546f6b656e0000000000000000000000000000000000000000008152506040518060400160405280600381526020017f52505400000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000cc92919062000389565b508060049080519060200190620000e592919062000389565b506012600560006101000a81548160ff021916908360ff16021790555050506200011633826200011d60201b60201c565b506200042f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620001d560008383620002fb60201b60201c565b620001f1816002546200030060201b6200112d1790919060201c565b6002819055506200024f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200030060201b6200112d1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b6000808284019050838110156200037f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003cc57805160ff1916838001178555620003fd565b82800160010185558215620003fd579182015b82811115620003fc578251825591602001919060010190620003df565b5b5090506200040c919062000410565b5090565b5b808211156200042b57600081600090555060010162000411565b5090565b611716806200043f6000396000f3fe6080604052600436106100e85760003560e01c8063395093511161008a578063a457c2d711610059578063a457c2d71461058c578063a9059cbb146105fd578063dd62ed3e1461066e578063f3fef3a3146106f3576100e8565b806339509351146103a15780635c6581651461041257806370a082311461049757806395d89b41146104fc576100e8565b80631cc2c911116100c65780631cc2c9111461021957806323b872dd1461027d57806327e235e31461030e578063313ce56714610373576100e8565b806306fdde03146100ed578063095ea7b31461017d57806318160ddd146101ee575b600080fd5b3480156100f957600080fd5b5061010261074e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610142578082015181840152602081019050610127565b50505050905090810190601f16801561016f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018957600080fd5b506101d6600480360360408110156101a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107f0565b60405180821515815260200191505060405180910390f35b3480156101fa57600080fd5b506102036108e2565b6040518082815260200191505060405180910390f35b6102656004803603604081101561022f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ec565b60405180821515815260200191505060405180910390f35b34801561028957600080fd5b506102f6600480360360608110156102a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061094f565b60405180821515815260200191505060405180910390f35b34801561031a57600080fd5b5061035d6004803603602081101561033157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bba565b6040518082815260200191505060405180910390f35b34801561037f57600080fd5b50610388610bd2565b604051808260ff16815260200191505060405180910390f35b3480156103ad57600080fd5b506103fa600480360360408110156103c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610be9565b60405180821515815260200191505060405180910390f35b34801561041e57600080fd5b506104816004803603604081101561043557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c9c565b6040518082815260200191505060405180910390f35b3480156104a357600080fd5b506104e6600480360360208110156104ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc1565b6040518082815260200191505060405180910390f35b34801561050857600080fd5b50610511610d09565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610551578082015181840152602081019050610536565b50505050905090810190601f16801561057e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059857600080fd5b506105e5600480360360408110156105af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dab565b60405180821515815260200191505060405180910390f35b34801561060957600080fd5b506106566004803603604081101561062057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e78565b60405180821515815260200191505060405180910390f35b34801561067a57600080fd5b506106dd6004803603604081101561069157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcf565b6040518082815260200191505060405180910390f35b3480156106ff57600080fd5b5061074c6004803603604081101561071657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611056565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107e65780601f106107bb576101008083540402835291602001916107e6565b820191906000526020600020905b8154815290600101906020018083116107c957829003601f168201915b5050505050905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600254905090565b60006108f883836111b5565b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001905092915050565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561099d57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610a2657600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60066020528060005260406000206000915090505481565b6000600560009054906101000a900460ff16905090565b6000610c92610bf661137c565b84610c8d8560016000610c0761137c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112d90919063ffffffff16565b611384565b6001905092915050565b6007602052816000526040600020602052806000526040600020600091509150505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610da15780601f10610d7657610100808354040283529160200191610da1565b820191906000526020600020905b815481529060010190602001808311610d8457829003601f168201915b5050505050905090565b6000610e6e610db861137c565b84610e69856040518060600160405280602581526020016116bc6025913960016000610de261137c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461157b9092919063ffffffff16565b611384565b6001905092915050565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ec657600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b67016345785d8a000081111561106b57600080fd5b804710156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806116636035913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808284019050838110156111ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6112646000838361163b565b6112798160025461112d90919063ffffffff16565b6002819055506112d0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561140a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806116986024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611490576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806116416022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000838311158290611628576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115ed5780820151818401526020810190506115d2565b50505050905090810190601f16801561161a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b50505056fe45524332303a20617070726f766520746f20746865207a65726f2061646472657373496e73756666696369656e742062616c616e636520696e2072657761726420666f72207769746864726177616c207265717565737445524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a4499154b5b2917f192b118f069312a4624f54d82760b36331f37a775766dbf464736f6c634300060c0033", + "deployedBytecode": "0x6080604052600436106100e85760003560e01c8063395093511161008a578063a457c2d711610059578063a457c2d71461058c578063a9059cbb146105fd578063dd62ed3e1461066e578063f3fef3a3146106f3576100e8565b806339509351146103a15780635c6581651461041257806370a082311461049757806395d89b41146104fc576100e8565b80631cc2c911116100c65780631cc2c9111461021957806323b872dd1461027d57806327e235e31461030e578063313ce56714610373576100e8565b806306fdde03146100ed578063095ea7b31461017d57806318160ddd146101ee575b600080fd5b3480156100f957600080fd5b5061010261074e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610142578082015181840152602081019050610127565b50505050905090810190601f16801561016f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018957600080fd5b506101d6600480360360408110156101a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107f0565b60405180821515815260200191505060405180910390f35b3480156101fa57600080fd5b506102036108e2565b6040518082815260200191505060405180910390f35b6102656004803603604081101561022f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ec565b60405180821515815260200191505060405180910390f35b34801561028957600080fd5b506102f6600480360360608110156102a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061094f565b60405180821515815260200191505060405180910390f35b34801561031a57600080fd5b5061035d6004803603602081101561033157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bba565b6040518082815260200191505060405180910390f35b34801561037f57600080fd5b50610388610bd2565b604051808260ff16815260200191505060405180910390f35b3480156103ad57600080fd5b506103fa600480360360408110156103c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610be9565b60405180821515815260200191505060405180910390f35b34801561041e57600080fd5b506104816004803603604081101561043557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c9c565b6040518082815260200191505060405180910390f35b3480156104a357600080fd5b506104e6600480360360208110156104ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc1565b6040518082815260200191505060405180910390f35b34801561050857600080fd5b50610511610d09565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610551578082015181840152602081019050610536565b50505050905090810190601f16801561057e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561059857600080fd5b506105e5600480360360408110156105af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dab565b60405180821515815260200191505060405180910390f35b34801561060957600080fd5b506106566004803603604081101561062057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e78565b60405180821515815260200191505060405180910390f35b34801561067a57600080fd5b506106dd6004803603604081101561069157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fcf565b6040518082815260200191505060405180910390f35b3480156106ff57600080fd5b5061074c6004803603604081101561071657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611056565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107e65780601f106107bb576101008083540402835291602001916107e6565b820191906000526020600020905b8154815290600101906020018083116107c957829003601f168201915b5050505050905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600254905090565b60006108f883836111b5565b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001905092915050565b6000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561099d57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610a2657600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60066020528060005260406000206000915090505481565b6000600560009054906101000a900460ff16905090565b6000610c92610bf661137c565b84610c8d8560016000610c0761137c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112d90919063ffffffff16565b611384565b6001905092915050565b6007602052816000526040600020602052806000526040600020600091509150505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610da15780601f10610d7657610100808354040283529160200191610da1565b820191906000526020600020905b815481529060010190602001808311610d8457829003601f168201915b5050505050905090565b6000610e6e610db861137c565b84610e69856040518060600160405280602581526020016116bc6025913960016000610de261137c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461157b9092919063ffffffff16565b611384565b6001905092915050565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ec657600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b67016345785d8a000081111561106b57600080fd5b804710156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806116636035913960400191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808284019050838110156111ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6112646000838361163b565b6112798160025461112d90919063ffffffff16565b6002819055506112d0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461112d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561140a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806116986024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611490576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806116416022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000838311158290611628576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115ed5780820151818401526020810190506115d2565b50505050905090810190601f16801561161a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b50505056fe45524332303a20617070726f766520746f20746865207a65726f2061646472657373496e73756666696369656e742062616c616e636520696e2072657761726420666f72207769746864726177616c207265717565737445524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a4499154b5b2917f192b118f069312a4624f54d82760b36331f37a775766dbf464736f6c634300060c0033", "immutableReferences": {}, - "sourceMap": "114:2496:1:-:0;;;454:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:141:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2093:4;2085:5;:12;;;;;;;;;;;;:::i;:::-;;2117:6;2107:7;:16;;;;;;;;;;;;:::i;:::-;;2145:2;2133:9;;:14;;;;;;;;;;;;;;;;;;2013:141;;527:32:1::1;533:10;545:13;527:5;;;:32;;:::i;:::-;454:110:::0;114:2496;;7835:370:4;7937:1;7918:21;;:7;:21;;;;7910:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;7986:20;;;:49;;:::i;:::-;8061:24;8078:6;8061:12;;:16;;;;;;:24;;;;:::i;:::-;8046:12;:39;;;;8116:30;8139:6;8116:9;:18;8126:7;8116:18;;;;;;;;;;;;;;;;:22;;;;;;:30;;;;:::i;:::-;8095:9;:18;8105:7;8095:18;;;;;;;;;;;;;;;:51;;;;8182:7;8161:37;;8178:1;8161:37;;;8191:6;8161:37;;;;;;;;;;;;;;;;;;7835:370;;:::o;10697:92::-;;;;:::o;874:176:3:-;932:7;951:9;967:1;963;:5;951:17;;991:1;986;:6;;978:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;1035:8;;;874:176;;;;:::o;114:2496:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "114:2496:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81:4;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1990:235:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3262:98:4;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;717:156:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2253:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;340:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3121:81:4;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5593:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;387:62:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3418:117:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2413:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6295:266;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1712:254:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3968:149:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1086:473:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2219:81:4;2256:13;2288:5;2281:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;:::o;1990:235:1:-;2066:4;2126:6;2094:7;:19;2102:10;2094:19;;;;;;;;;;;;;;;:29;2114:8;2094:29;;;;;;;;;;;;;;;:38;;;;2185:8;2164:38;;2173:10;2164:38;;;2195:6;2164:38;;;;;;;;;;;;;;;;;;2216:4;2209:11;;1990:235;;;;:::o;3262:98:4:-;3315:7;3341:12;;3334:19;;3262:98;:::o;717:156:1:-;793:4;804:18;810:3;815:6;804:5;:18::i;:::-;845:6;828:8;:13;837:3;828:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;864:4;857:11;;717:156;;;;:::o;2253:355::-;2344:4;2375:8;:15;2384:5;2375:15;;;;;;;;;;;;;;;;2365:6;:25;;2357:34;;;;;;2415:7;:14;2423:5;2415:14;;;;;;;;;;;;;;;:26;2430:10;2415:26;;;;;;;;;;;;;;;;2405:6;:36;;2397:45;;;;;;2468:6;2449:8;:15;2458:5;2449:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;2497:6;2480:8;:13;2489:3;2480:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;2540:6;2510:7;:14;2518:5;2510:14;;;;;;;;;;;;;;;:26;2525:10;2510:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;2574:3;2558:28;;2567:5;2558:28;;;2579:6;2558:28;;;;;;;;;;;;;;;;;;2599:4;2592:11;;2253:355;;;;;:::o;340:43::-;;;;;;;;;;;;;;;;;:::o;3121:81:4:-;3162:5;3186:9;;;;;;;;;;;3179:16;;3121:81;:::o;5593:215::-;5681:4;5697:83;5706:12;:10;:12::i;:::-;5720:7;5729:50;5768:10;5729:11;:25;5741:12;:10;:12::i;:::-;5729:25;;;;;;;;;;;;;;;:34;5755:7;5729:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;5697:8;:83::i;:::-;5797:4;5790:11;;5593:215;;;;:::o;387:62:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3418:117:4:-;3484:7;3510:9;:18;3520:7;3510:18;;;;;;;;;;;;;;;;3503:25;;3418:117;;;:::o;2413:85::-;2452:13;2484:7;2477:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:85;:::o;6295:266::-;6388:4;6404:129;6413:12;:10;:12::i;:::-;6427:7;6436:96;6475:15;6436:96;;;;;;;;;;;;;;;;;:11;:25;6448:12;:10;:12::i;:::-;6436:25;;;;;;;;;;;;;;;:34;6462:7;6436:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;6404:8;:129::i;:::-;6550:4;6543:11;;6295:266;;;;:::o;1712:254:1:-;1784:4;1828:6;1804:8;:20;1813:10;1804:20;;;;;;;;;;;;;;;;:30;;1796:39;;;;;;1865:6;1841:8;:20;1850:10;1841:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;1894:6;1877:8;:13;1886:3;1877:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;1932:3;1911:33;;1920:10;1911:33;;;1937:6;1911:33;;;;;;;;;;;;;;;;;;1957:4;1950:11;;1712:254;;;;:::o;3968:149:4:-;4057:7;4083:11;:18;4095:5;4083:18;;;;;;;;;;;;;;;:27;4102:7;4083:27;;;;;;;;;;;;;;;;4076:34;;3968:149;;;;:::o;1086:473:1:-;1227:9;1208:15;:28;;1200:37;;;;;;1276:15;1251:21;:40;;1243:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:3;1463:42;;1472:10;1463:42;;;1489:15;1463:42;;;;;;;;;;;;;;;;;;1086:473;;:::o;874:176:3:-;932:7;951:9;967:1;963;:5;951:17;;991:1;986;:6;;978:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;1035:8;;;874:176;;;;:::o;7835:370:4:-;7937:1;7918:21;;:7;:21;;;;7910:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;7986:20;:49::i;:::-;8061:24;8078:6;8061:12;;:16;;:24;;;;:::i;:::-;8046:12;:39;;;;8116:30;8139:6;8116:9;:18;8126:7;8116:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;8095:9;:18;8105:7;8095:18;;;;;;;;;;;;;;;:51;;;;8182:7;8161:37;;8178:1;8161:37;;;8191:6;8161:37;;;;;;;;;;;;;;;;;;7835:370;;:::o;590:104:2:-;643:15;677:10;670:17;;590:104;:::o;9359:340:4:-;9477:1;9460:19;;:5;:19;;;;9452:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9557:1;9538:21;;:7;:21;;;;9530:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9639:6;9609:11;:18;9621:5;9609:18;;;;;;;;;;;;;;;:27;9628:7;9609:27;;;;;;;;;;;;;;;:36;;;;9676:7;9660:32;;9669:5;9660:32;;;9685:6;9660:32;;;;;;;;;;;;;;;;;;9359:340;;;:::o;1746:187:3:-;1832:7;1864:1;1859;:6;;1867:12;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:9;1906:1;1902;:5;1890:17;;1925:1;1918:8;;;1746:187;;;;;:::o;10697:92:4:-;;;;:::o", + "sourceMap": "114:2496:2:-:0;;;454:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:141:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2093:4;2085:5;:12;;;;;;;;;;;;:::i;:::-;;2117:6;2107:7;:16;;;;;;;;;;;;:::i;:::-;;2145:2;2133:9;;:14;;;;;;;;;;;;;;;;;;2013:141;;527:32:2::1;533:10;545:13;527:5;;;:32;;:::i;:::-;454:110:::0;114:2496;;7835:370:5;7937:1;7918:21;;:7;:21;;;;7910:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;7986:20;;;:49;;:::i;:::-;8061:24;8078:6;8061:12;;:16;;;;;;:24;;;;:::i;:::-;8046:12;:39;;;;8116:30;8139:6;8116:9;:18;8126:7;8116:18;;;;;;;;;;;;;;;;:22;;;;;;:30;;;;:::i;:::-;8095:9;:18;8105:7;8095:18;;;;;;;;;;;;;;;:51;;;;8182:7;8161:37;;8178:1;8161:37;;;8191:6;8161:37;;;;;;;;;;;;;;;;;;7835:370;;:::o;10697:92::-;;;;:::o;874:176:4:-;932:7;951:9;967:1;963;:5;951:17;;991:1;986;:6;;978:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;1035:8;;;874:176;;;;:::o;114:2496:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "114:2496:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81:5;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1990:235:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3262:98:5;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;717:156:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2253:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;340:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3121:81:5;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5593:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;387:62:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3418:117:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2413:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6295:266;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1712:254:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3968:149:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1086:473:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2219:81:5;2256:13;2288:5;2281:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2219:81;:::o;1990:235:2:-;2066:4;2126:6;2094:7;:19;2102:10;2094:19;;;;;;;;;;;;;;;:29;2114:8;2094:29;;;;;;;;;;;;;;;:38;;;;2185:8;2164:38;;2173:10;2164:38;;;2195:6;2164:38;;;;;;;;;;;;;;;;;;2216:4;2209:11;;1990:235;;;;:::o;3262:98:5:-;3315:7;3341:12;;3334:19;;3262:98;:::o;717:156:2:-;793:4;804:18;810:3;815:6;804:5;:18::i;:::-;845:6;828:8;:13;837:3;828:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;864:4;857:11;;717:156;;;;:::o;2253:355::-;2344:4;2375:8;:15;2384:5;2375:15;;;;;;;;;;;;;;;;2365:6;:25;;2357:34;;;;;;2415:7;:14;2423:5;2415:14;;;;;;;;;;;;;;;:26;2430:10;2415:26;;;;;;;;;;;;;;;;2405:6;:36;;2397:45;;;;;;2468:6;2449:8;:15;2458:5;2449:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;2497:6;2480:8;:13;2489:3;2480:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;2540:6;2510:7;:14;2518:5;2510:14;;;;;;;;;;;;;;;:26;2525:10;2510:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;2574:3;2558:28;;2567:5;2558:28;;;2579:6;2558:28;;;;;;;;;;;;;;;;;;2599:4;2592:11;;2253:355;;;;;:::o;340:43::-;;;;;;;;;;;;;;;;;:::o;3121:81:5:-;3162:5;3186:9;;;;;;;;;;;3179:16;;3121:81;:::o;5593:215::-;5681:4;5697:83;5706:12;:10;:12::i;:::-;5720:7;5729:50;5768:10;5729:11;:25;5741:12;:10;:12::i;:::-;5729:25;;;;;;;;;;;;;;;:34;5755:7;5729:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;5697:8;:83::i;:::-;5797:4;5790:11;;5593:215;;;;:::o;387:62:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3418:117:5:-;3484:7;3510:9;:18;3520:7;3510:18;;;;;;;;;;;;;;;;3503:25;;3418:117;;;:::o;2413:85::-;2452:13;2484:7;2477:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:85;:::o;6295:266::-;6388:4;6404:129;6413:12;:10;:12::i;:::-;6427:7;6436:96;6475:15;6436:96;;;;;;;;;;;;;;;;;:11;:25;6448:12;:10;:12::i;:::-;6436:25;;;;;;;;;;;;;;;:34;6462:7;6436:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;6404:8;:129::i;:::-;6550:4;6543:11;;6295:266;;;;:::o;1712:254:2:-;1784:4;1828:6;1804:8;:20;1813:10;1804:20;;;;;;;;;;;;;;;;:30;;1796:39;;;;;;1865:6;1841:8;:20;1850:10;1841:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;1894:6;1877:8;:13;1886:3;1877:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;1932:3;1911:33;;1920:10;1911:33;;;1937:6;1911:33;;;;;;;;;;;;;;;;;;1957:4;1950:11;;1712:254;;;;:::o;3968:149:5:-;4057:7;4083:11;:18;4095:5;4083:18;;;;;;;;;;;;;;;:27;4102:7;4083:27;;;;;;;;;;;;;;;;4076:34;;3968:149;;;;:::o;1086:473:2:-;1227:9;1208:15;:28;;1200:37;;;;;;1276:15;1251:21;:40;;1243:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:3;1463:42;;1472:10;1463:42;;;1489:15;1463:42;;;;;;;;;;;;;;;;;;1086:473;;:::o;874:176:4:-;932:7;951:9;967:1;963;:5;951:17;;991:1;986;:6;;978:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:1;1035:8;;;874:176;;;;:::o;7835:370:5:-;7937:1;7918:21;;:7;:21;;;;7910:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7986:49;8015:1;8019:7;8028:6;7986:20;:49::i;:::-;8061:24;8078:6;8061:12;;:16;;:24;;;;:::i;:::-;8046:12;:39;;;;8116:30;8139:6;8116:9;:18;8126:7;8116:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;8095:9;:18;8105:7;8095:18;;;;;;;;;;;;;;;:51;;;;8182:7;8161:37;;8178:1;8161:37;;;8191:6;8161:37;;;;;;;;;;;;;;;;;;7835:370;;:::o;590:104:3:-;643:15;677:10;670:17;;590:104;:::o;9359:340:5:-;9477:1;9460:19;;:5;:19;;;;9452:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9557:1;9538:21;;:7;:21;;;;9530:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9639:6;9609:11;:18;9621:5;9609:18;;;;;;;;;;;;;;;:27;9628:7;9609:27;;;;;;;;;;;;;;;:36;;;;9676:7;9660:32;;9669:5;9660:32;;;9685:6;9660:32;;;;;;;;;;;;;;;;;;9359:340;;;:::o;1746:187:4:-;1832:7;1864:1;1859;:6;;1867:12;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1890:9;1906:1;1902;:5;1890:17;;1925:1;1918:8;;;1746:187;;;;;:::o;10697:92:5:-;;;;:::o", "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\ncontract ReportToken is ERC20 {\n\n //event setup\n event Transfer(address indexed _from, address indexed _to, uint256 _value);\n event Approval(address indexed _owner, address indexed _spender, uint256 _value);\n\n //mapping\n mapping(address => uint256) public balances;\n mapping(address => mapping(address => uint256)) public allowed;\n\n constructor(uint initialSupply) public ERC20 ('ReportToken', 'RPT'){\n _mint(msg.sender, initialSupply);\n }\n\n //トークン購入時に呼び出される関数\n //コントラクトのアドレスがETHを受け付けるようにする\n //purchase Token\n function purchaseToken(address _to, uint256 _value) public payable returns (bool){\n _mint(_to, _value);\n balances[_to] += _value;\n return true;\n }\n\n //リワード送金時に呼び出される関数\n //第一引数をmsg.senderにすればfaucetみたいになるReportToken.deployed().then.(instance => {instance.getBalance(accounts[0])})\n // withdraw\n function withdraw(address payable _to, uint256 withdraw_amount) public {\n //引き出し額を制限する\n require(withdraw_amount <= 0.1 ether);\n require(address(this).balance >= withdraw_amount,\n \"Insufficient balance in reward for withdrawal request\");\n\n //リクエストしたアドレスにその金額を送る\n // _to.send(withdraw_amount);\n Transfer(msg.sender, _to, withdraw_amount);\n // emit withdraw(_user, withdraw_amount);\n }\n\n //レポート購入時に呼び出される関数\n //購入者のアドレスから供給者へトークンを送信する\n //Transfer function\n function transfer(address _to, uint256 _value) public override returns (bool) {\n require(balances[msg.sender] >= _value);\n balances[msg.sender] -= _value;\n balances[_to] += _value;\n emit Transfer(msg.sender, _to, _value);\n return true;\n }\n //Approve function\n function approve(address _spender, uint256 _value) public override returns (bool) {\n //allowance\n allowed[msg.sender][_spender] = _value;\n //Approval event\n emit Approval(msg.sender, _spender, _value);\n\n return true;\n }\n //tranferFrom function\n function transferFrom(address _from, address _to, uint256 _value) public override returns (bool) {\n\n require(_value <= balances[_from]);\n require(_value <= allowed[_from][msg.sender]);\n\n balances[_from] -= _value;\n balances[_to] += _value;\n\n allowed[_from][msg.sender] -= _value;\n\n emit Transfer(_from, _to, _value);\n return true;\n }\n}\n", - "sourcePath": "/Users/tsudashouki/ReportToken/contracts/ReportToken.sol", + "sourcePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportToken.sol", "ast": { - "absolutePath": "/Users/tsudashouki/ReportToken/contracts/ReportToken.sol", + "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportToken.sol", "exportedSymbols": { "ReportToken": [ - 267 + 304 ] }, - "id": 268, + "id": 305, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 34, + "id": 71, "literals": [ "solidity", "^", @@ -405,16 +405,16 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "32:23:1" + "src": "32:23:2" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 35, + "id": 72, "nodeType": "ImportDirective", - "scope": 268, - "sourceUnit": 994, - "src": "57:55:1", + "scope": 305, + "sourceUnit": 1031, + "src": "57:55:2", "symbolAliases": [], "unitAlias": "" }, @@ -425,35 +425,35 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 36, + "id": 73, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 993, - "src": "138:5:1", + "referencedDeclaration": 1030, + "src": "138:5:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$993", + "typeIdentifier": "t_contract$_ERC20_$1030", "typeString": "contract ERC20" } }, - "id": 37, + "id": 74, "nodeType": "InheritanceSpecifier", - "src": "138:5:1" + "src": "138:5:2" } ], "contractDependencies": [ - 290, - 993, - 1071 + 327, + 1030, + 1108 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 267, + "id": 304, "linearizedBaseContracts": [ - 267, - 993, - 1071, - 290 + 304, + 1030, + 1108, + 327 ], "name": "ReportToken", "nodeType": "ContractDefinition", @@ -461,23 +461,23 @@ { "anonymous": false, "documentation": null, - "id": 45, + "id": 82, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 44, + "id": 81, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 39, + "id": 76, "indexed": true, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 45, - "src": "180:21:1", + "scope": 82, + "src": "180:21:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -485,10 +485,10 @@ "typeString": "address" }, "typeName": { - "id": 38, + "id": 75, "name": "address", "nodeType": "ElementaryTypeName", - "src": "180:7:1", + "src": "180:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -500,14 +500,14 @@ }, { "constant": false, - "id": 41, + "id": 78, "indexed": true, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 45, - "src": "203:19:1", + "scope": 82, + "src": "203:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -515,10 +515,10 @@ "typeString": "address" }, "typeName": { - "id": 40, + "id": 77, "name": "address", "nodeType": "ElementaryTypeName", - "src": "203:7:1", + "src": "203:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -530,14 +530,14 @@ }, { "constant": false, - "id": 43, + "id": 80, "indexed": false, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 45, - "src": "224:14:1", + "scope": 82, + "src": "224:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -545,10 +545,10 @@ "typeString": "uint256" }, "typeName": { - "id": 42, + "id": 79, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "224:7:1", + "src": "224:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -558,30 +558,30 @@ "visibility": "internal" } ], - "src": "179:60:1" + "src": "179:60:2" }, - "src": "165:75:1" + "src": "165:75:2" }, { "anonymous": false, "documentation": null, - "id": 53, + "id": 90, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 52, + "id": 89, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47, + "id": 84, "indexed": true, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 53, - "src": "258:22:1", + "scope": 90, + "src": "258:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -589,10 +589,10 @@ "typeString": "address" }, "typeName": { - "id": 46, + "id": 83, "name": "address", "nodeType": "ElementaryTypeName", - "src": "258:7:1", + "src": "258:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -604,14 +604,14 @@ }, { "constant": false, - "id": 49, + "id": 86, "indexed": true, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 53, - "src": "282:24:1", + "scope": 90, + "src": "282:24:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -619,10 +619,10 @@ "typeString": "address" }, "typeName": { - "id": 48, + "id": 85, "name": "address", "nodeType": "ElementaryTypeName", - "src": "282:7:1", + "src": "282:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -634,14 +634,14 @@ }, { "constant": false, - "id": 51, + "id": 88, "indexed": false, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 53, - "src": "308:14:1", + "scope": 90, + "src": "308:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -649,10 +649,10 @@ "typeString": "uint256" }, "typeName": { - "id": 50, + "id": 87, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "308:7:1", + "src": "308:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -662,20 +662,20 @@ "visibility": "internal" } ], - "src": "257:66:1" + "src": "257:66:2" }, - "src": "243:81:1" + "src": "243:81:2" }, { "constant": false, "functionSelector": "27e235e3", - "id": 57, + "id": 94, "mutability": "mutable", "name": "balances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 267, - "src": "340:43:1", + "scope": 304, + "src": "340:43:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -683,28 +683,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 56, + "id": 93, "keyType": { - "id": 54, + "id": 91, "name": "address", "nodeType": "ElementaryTypeName", - "src": "348:7:1", + "src": "348:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "340:27:1", + "src": "340:27:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 55, + "id": 92, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "359:7:1", + "src": "359:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -717,13 +717,13 @@ { "constant": false, "functionSelector": "5c658165", - "id": 63, + "id": 100, "mutability": "mutable", "name": "allowed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 267, - "src": "387:62:1", + "scope": 304, + "src": "387:62:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -731,46 +731,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 62, + "id": 99, "keyType": { - "id": 58, + "id": 95, "name": "address", "nodeType": "ElementaryTypeName", - "src": "395:7:1", + "src": "395:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "387:47:1", + "src": "387:47:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 61, + "id": 98, "keyType": { - "id": 59, + "id": 96, "name": "address", "nodeType": "ElementaryTypeName", - "src": "414:7:1", + "src": "414:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "406:27:1", + "src": "406:27:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 60, + "id": 97, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "425:7:1", + "src": "425:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -783,9 +783,9 @@ }, { "body": { - "id": 78, + "id": 115, "nodeType": "Block", - "src": "521:43:1", + "src": "521:43:2", "statements": [ { "expression": { @@ -795,18 +795,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 73, + "id": 110, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "533:3:1", + "src": "533:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 74, + "id": 111, "isConstant": false, "isLValue": false, "isPure": false, @@ -814,7 +814,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "533:10:1", + "src": "533:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -822,12 +822,12 @@ }, { "argumentTypes": null, - "id": 75, + "id": 112, "name": "initialSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "545:13:1", + "referencedDeclaration": 102, + "src": "545:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -845,18 +845,18 @@ "typeString": "uint256" } ], - "id": 72, + "id": 109, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 869, - "src": "527:5:1", + "referencedDeclaration": 906, + "src": "527:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 76, + "id": 113, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "527:32:1", + "src": "527:32:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 77, + "id": 114, "nodeType": "ExpressionStatement", - "src": "527:32:1" + "src": "527:32:2" } ] }, "documentation": null, - "id": 79, + "id": 116, "implemented": true, "kind": "constructor", "modifiers": [ @@ -887,14 +887,14 @@ { "argumentTypes": null, "hexValue": "5265706f7274546f6b656e", - "id": 68, + "id": 105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "500:13:1", + "src": "500:13:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_bfbdeca6009a95cf39ca43ed7e22efb31ca6c93aaecd372f110fb4147fc088c7", @@ -905,14 +905,14 @@ { "argumentTypes": null, "hexValue": "525054", - "id": 69, + "id": 106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "515:5:1", + "src": "515:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_193fb9814d53cc9cda8187d0d39a8722345ce84f54c3c6acd15c420cb1471f43", @@ -921,40 +921,40 @@ "value": "RPT" } ], - "id": 70, + "id": 107, "modifierName": { "argumentTypes": null, - "id": 67, + "id": 104, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 993, - "src": "493:5:1", + "referencedDeclaration": 1030, + "src": "493:5:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$993_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$1030_$", "typeString": "type(contract ERC20)" } }, "nodeType": "ModifierInvocation", - "src": "493:28:1" + "src": "493:28:2" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 66, + "id": 103, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 65, + "id": 102, "mutability": "mutable", "name": "initialSupply", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 79, - "src": "466:18:1", + "scope": 116, + "src": "466:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -962,10 +962,10 @@ "typeString": "uint256" }, "typeName": { - "id": 64, + "id": 101, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "466:4:1", + "src": "466:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -975,25 +975,25 @@ "visibility": "internal" } ], - "src": "465:20:1" + "src": "465:20:2" }, "returnParameters": { - "id": 71, + "id": 108, "nodeType": "ParameterList", "parameters": [], - "src": "521:0:1" + "src": "521:0:2" }, - "scope": 267, - "src": "454:110:1", + "scope": 304, + "src": "454:110:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 101, + "id": 138, "nodeType": "Block", - "src": "798:75:1", + "src": "798:75:2", "statements": [ { "expression": { @@ -1001,12 +1001,12 @@ "arguments": [ { "argumentTypes": null, - "id": 89, + "id": 126, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "810:3:1", + "referencedDeclaration": 118, + "src": "810:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1014,12 +1014,12 @@ }, { "argumentTypes": null, - "id": 90, + "id": 127, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "815:6:1", + "referencedDeclaration": 120, + "src": "815:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1037,18 +1037,18 @@ "typeString": "uint256" } ], - "id": 88, + "id": 125, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 869, - "src": "804:5:1", + "referencedDeclaration": 906, + "src": "804:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 91, + "id": 128, "isConstant": false, "isLValue": false, "isPure": false, @@ -1056,21 +1056,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "804:18:1", + "src": "804:18:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 92, + "id": 129, "nodeType": "ExpressionStatement", - "src": "804:18:1" + "src": "804:18:2" }, { "expression": { "argumentTypes": null, - "id": 97, + "id": 134, "isConstant": false, "isLValue": false, "isPure": false, @@ -1079,26 +1079,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 93, + "id": 130, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "828:8:1", + "referencedDeclaration": 94, + "src": "828:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 95, + "id": 132, "indexExpression": { "argumentTypes": null, - "id": 94, + "id": 131, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "837:3:1", + "referencedDeclaration": 118, + "src": "837:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1109,7 +1109,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "828:13:1", + "src": "828:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1119,39 +1119,39 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 96, + "id": 133, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "845:6:1", + "referencedDeclaration": 120, + "src": "845:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "828:23:1", + "src": "828:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 98, + "id": 135, "nodeType": "ExpressionStatement", - "src": "828:23:1" + "src": "828:23:2" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 99, + "id": 136, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "864:4:1", + "src": "864:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1159,16 +1159,16 @@ }, "value": "true" }, - "functionReturnParameters": 87, - "id": 100, + "functionReturnParameters": 124, + "id": 137, "nodeType": "Return", - "src": "857:11:1" + "src": "857:11:2" } ] }, "documentation": null, "functionSelector": "1cc2c911", - "id": 102, + "id": 139, "implemented": true, "kind": "function", "modifiers": [], @@ -1176,18 +1176,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 84, + "id": 121, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 81, + "id": 118, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 102, - "src": "740:11:1", + "scope": 139, + "src": "740:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1195,10 +1195,10 @@ "typeString": "address" }, "typeName": { - "id": 80, + "id": 117, "name": "address", "nodeType": "ElementaryTypeName", - "src": "740:7:1", + "src": "740:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1210,13 +1210,13 @@ }, { "constant": false, - "id": 83, + "id": 120, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 102, - "src": "753:14:1", + "scope": 139, + "src": "753:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1224,10 +1224,10 @@ "typeString": "uint256" }, "typeName": { - "id": 82, + "id": 119, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "753:7:1", + "src": "753:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1237,21 +1237,21 @@ "visibility": "internal" } ], - "src": "739:29:1" + "src": "739:29:2" }, "returnParameters": { - "id": 87, + "id": 124, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 86, + "id": 123, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 102, - "src": "793:4:1", + "scope": 139, + "src": "793:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1259,10 +1259,10 @@ "typeString": "bool" }, "typeName": { - "id": 85, + "id": 122, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "793:4:1", + "src": "793:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1272,19 +1272,19 @@ "visibility": "internal" } ], - "src": "792:6:1" + "src": "792:6:2" }, - "scope": 267, - "src": "717:156:1", + "scope": 304, + "src": "717:156:2", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { - "id": 133, + "id": 170, "nodeType": "Block", - "src": "1157:402:1", + "src": "1157:402:2", "statements": [ { "expression": { @@ -1296,19 +1296,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 112, + "id": 149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 110, + "id": 147, "name": "withdraw_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1208:15:1", + "referencedDeclaration": 143, + "src": "1208:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1319,14 +1319,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "302e31", - "id": 111, + "id": 148, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1227:9:1", + "src": "1227:9:2", "subdenomination": "ether", "typeDescriptions": { "typeIdentifier": "t_rational_100000000000000000_by_1", @@ -1334,7 +1334,7 @@ }, "value": "0.1" }, - "src": "1208:28:1", + "src": "1208:28:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1348,7 +1348,7 @@ "typeString": "bool" } ], - "id": 109, + "id": 146, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1356,13 +1356,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1200:7:1", + "src": "1200:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 113, + "id": 150, "isConstant": false, "isLValue": false, "isPure": false, @@ -1370,16 +1370,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1200:37:1", + "src": "1200:37:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 114, + "id": 151, "nodeType": "ExpressionStatement", - "src": "1200:37:1" + "src": "1200:37:2" }, { "expression": { @@ -1391,7 +1391,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 122, + "id": 159, "isConstant": false, "isLValue": false, "isPure": false, @@ -1403,14 +1403,14 @@ "arguments": [ { "argumentTypes": null, - "id": 118, + "id": 155, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "1259:4:1", + "src": "1259:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_ReportToken_$267", + "typeIdentifier": "t_contract$_ReportToken_$304", "typeString": "contract ReportToken" } } @@ -1418,33 +1418,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ReportToken_$267", + "typeIdentifier": "t_contract$_ReportToken_$304", "typeString": "contract ReportToken" } ], - "id": 117, + "id": 154, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1251:7:1", + "src": "1251:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 116, + "id": 153, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1251:7:1", + "src": "1251:7:2", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 119, + "id": 156, "isConstant": false, "isLValue": false, "isPure": false, @@ -1452,14 +1452,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1251:13:1", + "src": "1251:13:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120, + "id": 157, "isConstant": false, "isLValue": false, "isPure": false, @@ -1467,7 +1467,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1251:21:1", + "src": "1251:21:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1477,18 +1477,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 121, + "id": 158, "name": "withdraw_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1276:15:1", + "referencedDeclaration": 143, + "src": "1276:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1251:40:1", + "src": "1251:40:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1497,14 +1497,14 @@ { "argumentTypes": null, "hexValue": "496e73756666696369656e742062616c616e636520696e2072657761726420666f72207769746864726177616c2072657175657374", - "id": 123, + "id": 160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1299:55:1", + "src": "1299:55:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3c91039cafec14c5cde992e1c4dbd3fb6463bcf3e75325535824b2a58fd8d479", @@ -1524,7 +1524,7 @@ "typeString": "literal_string \"Insufficient balance in reward for withdrawal request\"" } ], - "id": 115, + "id": 152, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1532,13 +1532,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1243:7:1", + "src": "1243:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 124, + "id": 161, "isConstant": false, "isLValue": false, "isPure": false, @@ -1546,16 +1546,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1243:112:1", + "src": "1243:112:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 125, + "id": 162, "nodeType": "ExpressionStatement", - "src": "1243:112:1" + "src": "1243:112:2" }, { "expression": { @@ -1565,18 +1565,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 127, + "id": 164, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1472:3:1", + "src": "1472:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 128, + "id": 165, "isConstant": false, "isLValue": false, "isPure": false, @@ -1584,7 +1584,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1472:10:1", + "src": "1472:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1592,12 +1592,12 @@ }, { "argumentTypes": null, - "id": 129, + "id": 166, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "1484:3:1", + "referencedDeclaration": 141, + "src": "1484:3:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1605,12 +1605,12 @@ }, { "argumentTypes": null, - "id": 130, + "id": 167, "name": "withdraw_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1489:15:1", + "referencedDeclaration": 143, + "src": "1489:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1632,20 +1632,20 @@ "typeString": "uint256" } ], - "id": 126, + "id": 163, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [ - 45 + 82 ], - "referencedDeclaration": 45, - "src": "1463:8:1", + "referencedDeclaration": 82, + "src": "1463:8:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 131, + "id": 168, "isConstant": false, "isLValue": false, "isPure": false, @@ -1653,22 +1653,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1463:42:1", + "src": "1463:42:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 132, + "id": 169, "nodeType": "ExpressionStatement", - "src": "1463:42:1" + "src": "1463:42:2" } ] }, "documentation": null, "functionSelector": "f3fef3a3", - "id": 134, + "id": 171, "implemented": true, "kind": "function", "modifiers": [], @@ -1676,18 +1676,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 107, + "id": 144, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 104, + "id": 141, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 134, - "src": "1104:19:1", + "scope": 171, + "src": "1104:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1695,10 +1695,10 @@ "typeString": "address payable" }, "typeName": { - "id": 103, + "id": 140, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1104:15:1", + "src": "1104:15:2", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -1710,13 +1710,13 @@ }, { "constant": false, - "id": 106, + "id": 143, "mutability": "mutable", "name": "withdraw_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 134, - "src": "1125:23:1", + "scope": 171, + "src": "1125:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1724,10 +1724,10 @@ "typeString": "uint256" }, "typeName": { - "id": 105, + "id": 142, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1125:7:1", + "src": "1125:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1737,28 +1737,28 @@ "visibility": "internal" } ], - "src": "1103:46:1" + "src": "1103:46:2" }, "returnParameters": { - "id": 108, + "id": 145, "nodeType": "ParameterList", "parameters": [], - "src": "1157:0:1" + "src": "1157:0:2" }, - "scope": 267, - "src": "1086:473:1", + "scope": 304, + "src": "1086:473:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 614 + 651 ], "body": { - "id": 175, + "id": 212, "nodeType": "Block", - "src": "1790:176:1", + "src": "1790:176:2", "statements": [ { "expression": { @@ -1770,7 +1770,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 150, + "id": 187, "isConstant": false, "isLValue": false, "isPure": false, @@ -1779,34 +1779,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 145, + "id": 182, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "1804:8:1", + "referencedDeclaration": 94, + "src": "1804:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 148, + "id": 185, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 146, + "id": 183, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1813:3:1", + "src": "1813:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 147, + "id": 184, "isConstant": false, "isLValue": false, "isPure": false, @@ -1814,7 +1814,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1813:10:1", + "src": "1813:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1825,7 +1825,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1804:20:1", + "src": "1804:20:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1835,18 +1835,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 149, + "id": 186, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1828:6:1", + "referencedDeclaration": 175, + "src": "1828:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1804:30:1", + "src": "1804:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1860,7 +1860,7 @@ "typeString": "bool" } ], - "id": 144, + "id": 181, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1868,13 +1868,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1796:7:1", + "src": "1796:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 151, + "id": 188, "isConstant": false, "isLValue": false, "isPure": false, @@ -1882,21 +1882,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1796:39:1", + "src": "1796:39:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 152, + "id": 189, "nodeType": "ExpressionStatement", - "src": "1796:39:1" + "src": "1796:39:2" }, { "expression": { "argumentTypes": null, - "id": 158, + "id": 195, "isConstant": false, "isLValue": false, "isPure": false, @@ -1905,34 +1905,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 153, + "id": 190, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "1841:8:1", + "referencedDeclaration": 94, + "src": "1841:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 156, + "id": 193, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 154, + "id": 191, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1850:3:1", + "src": "1850:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 155, + "id": 192, "isConstant": false, "isLValue": false, "isPure": false, @@ -1940,7 +1940,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1850:10:1", + "src": "1850:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1951,7 +1951,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1841:20:1", + "src": "1841:20:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1961,31 +1961,31 @@ "operator": "-=", "rightHandSide": { "argumentTypes": null, - "id": 157, + "id": 194, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1865:6:1", + "referencedDeclaration": 175, + "src": "1865:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1841:30:1", + "src": "1841:30:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 159, + "id": 196, "nodeType": "ExpressionStatement", - "src": "1841:30:1" + "src": "1841:30:2" }, { "expression": { "argumentTypes": null, - "id": 164, + "id": 201, "isConstant": false, "isLValue": false, "isPure": false, @@ -1994,26 +1994,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 160, + "id": 197, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "1877:8:1", + "referencedDeclaration": 94, + "src": "1877:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 162, + "id": 199, "indexExpression": { "argumentTypes": null, - "id": 161, + "id": 198, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "1886:3:1", + "referencedDeclaration": 173, + "src": "1886:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2024,7 +2024,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1877:13:1", + "src": "1877:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2034,26 +2034,26 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 163, + "id": 200, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1894:6:1", + "referencedDeclaration": 175, + "src": "1894:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1877:23:1", + "src": "1877:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 165, + "id": 202, "nodeType": "ExpressionStatement", - "src": "1877:23:1" + "src": "1877:23:2" }, { "eventCall": { @@ -2063,18 +2063,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 167, + "id": 204, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1920:3:1", + "src": "1920:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 168, + "id": 205, "isConstant": false, "isLValue": false, "isPure": false, @@ -2082,7 +2082,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1920:10:1", + "src": "1920:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2090,12 +2090,12 @@ }, { "argumentTypes": null, - "id": 169, + "id": 206, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "1932:3:1", + "referencedDeclaration": 173, + "src": "1932:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2103,12 +2103,12 @@ }, { "argumentTypes": null, - "id": 170, + "id": 207, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1937:6:1", + "referencedDeclaration": 175, + "src": "1937:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2130,20 +2130,20 @@ "typeString": "uint256" } ], - "id": 166, + "id": 203, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [ - 45 + 82 ], - "referencedDeclaration": 45, - "src": "1911:8:1", + "referencedDeclaration": 82, + "src": "1911:8:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 171, + "id": 208, "isConstant": false, "isLValue": false, "isPure": false, @@ -2151,29 +2151,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1911:33:1", + "src": "1911:33:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 172, + "id": 209, "nodeType": "EmitStatement", - "src": "1906:38:1" + "src": "1906:38:2" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 173, + "id": 210, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1957:4:1", + "src": "1957:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2181,40 +2181,40 @@ }, "value": "true" }, - "functionReturnParameters": 143, - "id": 174, + "functionReturnParameters": 180, + "id": 211, "nodeType": "Return", - "src": "1950:11:1" + "src": "1950:11:2" } ] }, "documentation": null, "functionSelector": "a9059cbb", - "id": 176, + "id": 213, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": { - "id": 140, + "id": 177, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1766:8:1" + "src": "1766:8:2" }, "parameters": { - "id": 139, + "id": 176, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 136, + "id": 173, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 176, - "src": "1730:11:1", + "scope": 213, + "src": "1730:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2222,10 +2222,10 @@ "typeString": "address" }, "typeName": { - "id": 135, + "id": 172, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1730:7:1", + "src": "1730:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2237,13 +2237,13 @@ }, { "constant": false, - "id": 138, + "id": 175, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 176, - "src": "1743:14:1", + "scope": 213, + "src": "1743:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2251,10 +2251,10 @@ "typeString": "uint256" }, "typeName": { - "id": 137, + "id": 174, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1743:7:1", + "src": "1743:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2264,21 +2264,21 @@ "visibility": "internal" } ], - "src": "1729:29:1" + "src": "1729:29:2" }, "returnParameters": { - "id": 143, + "id": 180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 142, + "id": 179, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 176, - "src": "1784:4:1", + "scope": 213, + "src": "1784:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2286,10 +2286,10 @@ "typeString": "bool" }, "typeName": { - "id": 141, + "id": 178, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1784:4:1", + "src": "1784:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2299,27 +2299,27 @@ "visibility": "internal" } ], - "src": "1783:6:1" + "src": "1783:6:2" }, - "scope": 267, - "src": "1712:254:1", + "scope": 304, + "src": "1712:254:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 653 + 690 ], "body": { - "id": 204, + "id": 241, "nodeType": "Block", - "src": "2072:153:1", + "src": "2072:153:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 193, + "id": 230, "isConstant": false, "isLValue": false, "isPure": false, @@ -2330,34 +2330,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 186, + "id": 223, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2094:7:1", + "referencedDeclaration": 100, + "src": "2094:7:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 190, + "id": 227, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 187, + "id": 224, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2102:3:1", + "src": "2102:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 188, + "id": 225, "isConstant": false, "isLValue": false, "isPure": false, @@ -2365,7 +2365,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2102:10:1", + "src": "2102:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2376,21 +2376,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2094:19:1", + "src": "2094:19:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 191, + "id": 228, "indexExpression": { "argumentTypes": null, - "id": 189, + "id": 226, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "2114:8:1", + "referencedDeclaration": 215, + "src": "2114:8:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2401,7 +2401,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2094:29:1", + "src": "2094:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2411,26 +2411,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 192, + "id": 229, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "2126:6:1", + "referencedDeclaration": 217, + "src": "2126:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2094:38:1", + "src": "2094:38:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 194, + "id": 231, "nodeType": "ExpressionStatement", - "src": "2094:38:1" + "src": "2094:38:2" }, { "eventCall": { @@ -2440,18 +2440,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 196, + "id": 233, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2173:3:1", + "src": "2173:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 197, + "id": 234, "isConstant": false, "isLValue": false, "isPure": false, @@ -2459,7 +2459,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2173:10:1", + "src": "2173:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2467,12 +2467,12 @@ }, { "argumentTypes": null, - "id": 198, + "id": 235, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "2185:8:1", + "referencedDeclaration": 215, + "src": "2185:8:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2480,12 +2480,12 @@ }, { "argumentTypes": null, - "id": 199, + "id": 236, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "2195:6:1", + "referencedDeclaration": 217, + "src": "2195:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2507,20 +2507,20 @@ "typeString": "uint256" } ], - "id": 195, + "id": 232, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [ - 53 + 90 ], - "referencedDeclaration": 53, - "src": "2164:8:1", + "referencedDeclaration": 90, + "src": "2164:8:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 200, + "id": 237, "isConstant": false, "isLValue": false, "isPure": false, @@ -2528,29 +2528,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2164:38:1", + "src": "2164:38:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 201, + "id": 238, "nodeType": "EmitStatement", - "src": "2159:43:1" + "src": "2159:43:2" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 202, + "id": 239, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2216:4:1", + "src": "2216:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2558,40 +2558,40 @@ }, "value": "true" }, - "functionReturnParameters": 185, - "id": 203, + "functionReturnParameters": 222, + "id": 240, "nodeType": "Return", - "src": "2209:11:1" + "src": "2209:11:2" } ] }, "documentation": null, "functionSelector": "095ea7b3", - "id": 205, + "id": 242, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": { - "id": 182, + "id": 219, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2048:8:1" + "src": "2048:8:2" }, "parameters": { - "id": 181, + "id": 218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 178, + "id": 215, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 205, - "src": "2007:16:1", + "scope": 242, + "src": "2007:16:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2599,10 +2599,10 @@ "typeString": "address" }, "typeName": { - "id": 177, + "id": 214, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2007:7:1", + "src": "2007:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2614,13 +2614,13 @@ }, { "constant": false, - "id": 180, + "id": 217, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 205, - "src": "2025:14:1", + "scope": 242, + "src": "2025:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2628,10 +2628,10 @@ "typeString": "uint256" }, "typeName": { - "id": 179, + "id": 216, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2025:7:1", + "src": "2025:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2641,21 +2641,21 @@ "visibility": "internal" } ], - "src": "2006:34:1" + "src": "2006:34:2" }, "returnParameters": { - "id": 185, + "id": 222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 184, + "id": 221, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 205, - "src": "2066:4:1", + "scope": 242, + "src": "2066:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2663,10 +2663,10 @@ "typeString": "bool" }, "typeName": { - "id": 183, + "id": 220, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2066:4:1", + "src": "2066:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2676,22 +2676,22 @@ "visibility": "internal" } ], - "src": "2065:6:1" + "src": "2065:6:2" }, - "scope": 267, - "src": "1990:235:1", + "scope": 304, + "src": "1990:235:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 691 + 728 ], "body": { - "id": 265, + "id": 302, "nodeType": "Block", - "src": "2350:258:1", + "src": "2350:258:2", "statements": [ { "expression": { @@ -2703,19 +2703,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 222, + "id": 259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 218, + "id": 255, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2365:6:1", + "referencedDeclaration": 248, + "src": "2365:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2727,26 +2727,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 219, + "id": 256, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "2375:8:1", + "referencedDeclaration": 94, + "src": "2375:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 221, + "id": 258, "indexExpression": { "argumentTypes": null, - "id": 220, + "id": 257, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2384:5:1", + "referencedDeclaration": 244, + "src": "2384:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2757,13 +2757,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2375:15:1", + "src": "2375:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2365:25:1", + "src": "2365:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2777,7 +2777,7 @@ "typeString": "bool" } ], - "id": 217, + "id": 254, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2785,13 +2785,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2357:7:1", + "src": "2357:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 223, + "id": 260, "isConstant": false, "isLValue": false, "isPure": false, @@ -2799,16 +2799,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2357:34:1", + "src": "2357:34:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 224, + "id": 261, "nodeType": "ExpressionStatement", - "src": "2357:34:1" + "src": "2357:34:2" }, { "expression": { @@ -2820,19 +2820,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 233, + "id": 270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 226, + "id": 263, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2405:6:1", + "referencedDeclaration": 248, + "src": "2405:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2846,26 +2846,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 227, + "id": 264, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2415:7:1", + "referencedDeclaration": 100, + "src": "2415:7:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 229, + "id": 266, "indexExpression": { "argumentTypes": null, - "id": 228, + "id": 265, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2423:5:1", + "referencedDeclaration": 244, + "src": "2423:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2876,29 +2876,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2415:14:1", + "src": "2415:14:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 232, + "id": 269, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 230, + "id": 267, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2430:3:1", + "src": "2430:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 231, + "id": 268, "isConstant": false, "isLValue": false, "isPure": false, @@ -2906,7 +2906,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2430:10:1", + "src": "2430:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2917,13 +2917,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2415:26:1", + "src": "2415:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2405:36:1", + "src": "2405:36:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2937,7 +2937,7 @@ "typeString": "bool" } ], - "id": 225, + "id": 262, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2945,13 +2945,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2397:7:1", + "src": "2397:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 234, + "id": 271, "isConstant": false, "isLValue": false, "isPure": false, @@ -2959,21 +2959,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2397:45:1", + "src": "2397:45:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 235, + "id": 272, "nodeType": "ExpressionStatement", - "src": "2397:45:1" + "src": "2397:45:2" }, { "expression": { "argumentTypes": null, - "id": 240, + "id": 277, "isConstant": false, "isLValue": false, "isPure": false, @@ -2982,26 +2982,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 236, + "id": 273, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "2449:8:1", + "referencedDeclaration": 94, + "src": "2449:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 238, + "id": 275, "indexExpression": { "argumentTypes": null, - "id": 237, + "id": 274, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2458:5:1", + "referencedDeclaration": 244, + "src": "2458:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3012,7 +3012,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2449:15:1", + "src": "2449:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3022,31 +3022,31 @@ "operator": "-=", "rightHandSide": { "argumentTypes": null, - "id": 239, + "id": 276, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2468:6:1", + "referencedDeclaration": 248, + "src": "2468:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2449:25:1", + "src": "2449:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 241, + "id": 278, "nodeType": "ExpressionStatement", - "src": "2449:25:1" + "src": "2449:25:2" }, { "expression": { "argumentTypes": null, - "id": 246, + "id": 283, "isConstant": false, "isLValue": false, "isPure": false, @@ -3055,26 +3055,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 242, + "id": 279, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "2480:8:1", + "referencedDeclaration": 94, + "src": "2480:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 244, + "id": 281, "indexExpression": { "argumentTypes": null, - "id": 243, + "id": 280, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "2489:3:1", + "referencedDeclaration": 246, + "src": "2489:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3085,7 +3085,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2480:13:1", + "src": "2480:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3095,31 +3095,31 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 245, + "id": 282, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2497:6:1", + "referencedDeclaration": 248, + "src": "2497:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2480:23:1", + "src": "2480:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 247, + "id": 284, "nodeType": "ExpressionStatement", - "src": "2480:23:1" + "src": "2480:23:2" }, { "expression": { "argumentTypes": null, - "id": 255, + "id": 292, "isConstant": false, "isLValue": false, "isPure": false, @@ -3130,26 +3130,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 248, + "id": 285, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2510:7:1", + "referencedDeclaration": 100, + "src": "2510:7:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 252, + "id": 289, "indexExpression": { "argumentTypes": null, - "id": 249, + "id": 286, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2518:5:1", + "referencedDeclaration": 244, + "src": "2518:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3160,29 +3160,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2510:14:1", + "src": "2510:14:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 253, + "id": 290, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 250, + "id": 287, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2525:3:1", + "src": "2525:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 251, + "id": 288, "isConstant": false, "isLValue": false, "isPure": false, @@ -3190,7 +3190,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2525:10:1", + "src": "2525:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3201,7 +3201,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2510:26:1", + "src": "2510:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3211,26 +3211,26 @@ "operator": "-=", "rightHandSide": { "argumentTypes": null, - "id": 254, + "id": 291, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2540:6:1", + "referencedDeclaration": 248, + "src": "2540:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2510:36:1", + "src": "2510:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 256, + "id": 293, "nodeType": "ExpressionStatement", - "src": "2510:36:1" + "src": "2510:36:2" }, { "eventCall": { @@ -3238,12 +3238,12 @@ "arguments": [ { "argumentTypes": null, - "id": 258, + "id": 295, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2567:5:1", + "referencedDeclaration": 244, + "src": "2567:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3251,12 +3251,12 @@ }, { "argumentTypes": null, - "id": 259, + "id": 296, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "2574:3:1", + "referencedDeclaration": 246, + "src": "2574:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3264,12 +3264,12 @@ }, { "argumentTypes": null, - "id": 260, + "id": 297, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2579:6:1", + "referencedDeclaration": 248, + "src": "2579:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3291,20 +3291,20 @@ "typeString": "uint256" } ], - "id": 257, + "id": 294, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [ - 45 + 82 ], - "referencedDeclaration": 45, - "src": "2558:8:1", + "referencedDeclaration": 82, + "src": "2558:8:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 261, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, @@ -3312,29 +3312,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2558:28:1", + "src": "2558:28:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 262, + "id": 299, "nodeType": "EmitStatement", - "src": "2553:33:1" + "src": "2553:33:2" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 263, + "id": 300, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2599:4:1", + "src": "2599:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3342,40 +3342,40 @@ }, "value": "true" }, - "functionReturnParameters": 216, - "id": 264, + "functionReturnParameters": 253, + "id": 301, "nodeType": "Return", - "src": "2592:11:1" + "src": "2592:11:2" } ] }, "documentation": null, "functionSelector": "23b872dd", - "id": 266, + "id": 303, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": { - "id": 213, + "id": 250, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2326:8:1" + "src": "2326:8:2" }, "parameters": { - "id": 212, + "id": 249, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 207, + "id": 244, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 266, - "src": "2275:13:1", + "scope": 303, + "src": "2275:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3383,10 +3383,10 @@ "typeString": "address" }, "typeName": { - "id": 206, + "id": 243, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2275:7:1", + "src": "2275:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3398,13 +3398,13 @@ }, { "constant": false, - "id": 209, + "id": 246, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 266, - "src": "2290:11:1", + "scope": 303, + "src": "2290:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3412,10 +3412,10 @@ "typeString": "address" }, "typeName": { - "id": 208, + "id": 245, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2290:7:1", + "src": "2290:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3427,13 +3427,13 @@ }, { "constant": false, - "id": 211, + "id": 248, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 266, - "src": "2303:14:1", + "scope": 303, + "src": "2303:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3441,10 +3441,10 @@ "typeString": "uint256" }, "typeName": { - "id": 210, + "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2303:7:1", + "src": "2303:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3454,21 +3454,21 @@ "visibility": "internal" } ], - "src": "2274:44:1" + "src": "2274:44:2" }, "returnParameters": { - "id": 216, + "id": 253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 215, + "id": 252, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 266, - "src": "2344:4:1", + "scope": 303, + "src": "2344:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3476,10 +3476,10 @@ "typeString": "bool" }, "typeName": { - "id": 214, + "id": 251, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2344:4:1", + "src": "2344:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3489,34 +3489,34 @@ "visibility": "internal" } ], - "src": "2343:6:1" + "src": "2343:6:2" }, - "scope": 267, - "src": "2253:355:1", + "scope": 304, + "src": "2253:355:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 268, - "src": "114:2496:1" + "scope": 305, + "src": "114:2496:2" } ], - "src": "32:2579:1" + "src": "32:2579:2" }, "legacyAST": { - "absolutePath": "/Users/tsudashouki/ReportToken/contracts/ReportToken.sol", + "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportToken.sol", "exportedSymbols": { "ReportToken": [ - 267 + 304 ] }, - "id": 268, + "id": 305, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 34, + "id": 71, "literals": [ "solidity", "^", @@ -3524,16 +3524,16 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "32:23:1" + "src": "32:23:2" }, { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 35, + "id": 72, "nodeType": "ImportDirective", - "scope": 268, - "sourceUnit": 994, - "src": "57:55:1", + "scope": 305, + "sourceUnit": 1031, + "src": "57:55:2", "symbolAliases": [], "unitAlias": "" }, @@ -3544,35 +3544,35 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 36, + "id": 73, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 993, - "src": "138:5:1", + "referencedDeclaration": 1030, + "src": "138:5:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$993", + "typeIdentifier": "t_contract$_ERC20_$1030", "typeString": "contract ERC20" } }, - "id": 37, + "id": 74, "nodeType": "InheritanceSpecifier", - "src": "138:5:1" + "src": "138:5:2" } ], "contractDependencies": [ - 290, - 993, - 1071 + 327, + 1030, + 1108 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 267, + "id": 304, "linearizedBaseContracts": [ - 267, - 993, - 1071, - 290 + 304, + 1030, + 1108, + 327 ], "name": "ReportToken", "nodeType": "ContractDefinition", @@ -3580,23 +3580,23 @@ { "anonymous": false, "documentation": null, - "id": 45, + "id": 82, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 44, + "id": 81, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 39, + "id": 76, "indexed": true, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 45, - "src": "180:21:1", + "scope": 82, + "src": "180:21:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3604,10 +3604,10 @@ "typeString": "address" }, "typeName": { - "id": 38, + "id": 75, "name": "address", "nodeType": "ElementaryTypeName", - "src": "180:7:1", + "src": "180:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3619,14 +3619,14 @@ }, { "constant": false, - "id": 41, + "id": 78, "indexed": true, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 45, - "src": "203:19:1", + "scope": 82, + "src": "203:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3634,10 +3634,10 @@ "typeString": "address" }, "typeName": { - "id": 40, + "id": 77, "name": "address", "nodeType": "ElementaryTypeName", - "src": "203:7:1", + "src": "203:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3649,14 +3649,14 @@ }, { "constant": false, - "id": 43, + "id": 80, "indexed": false, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 45, - "src": "224:14:1", + "scope": 82, + "src": "224:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3664,10 +3664,10 @@ "typeString": "uint256" }, "typeName": { - "id": 42, + "id": 79, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "224:7:1", + "src": "224:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3677,30 +3677,30 @@ "visibility": "internal" } ], - "src": "179:60:1" + "src": "179:60:2" }, - "src": "165:75:1" + "src": "165:75:2" }, { "anonymous": false, "documentation": null, - "id": 53, + "id": 90, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 52, + "id": 89, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 47, + "id": 84, "indexed": true, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 53, - "src": "258:22:1", + "scope": 90, + "src": "258:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3708,10 +3708,10 @@ "typeString": "address" }, "typeName": { - "id": 46, + "id": 83, "name": "address", "nodeType": "ElementaryTypeName", - "src": "258:7:1", + "src": "258:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3723,14 +3723,14 @@ }, { "constant": false, - "id": 49, + "id": 86, "indexed": true, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 53, - "src": "282:24:1", + "scope": 90, + "src": "282:24:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3738,10 +3738,10 @@ "typeString": "address" }, "typeName": { - "id": 48, + "id": 85, "name": "address", "nodeType": "ElementaryTypeName", - "src": "282:7:1", + "src": "282:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3753,14 +3753,14 @@ }, { "constant": false, - "id": 51, + "id": 88, "indexed": false, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 53, - "src": "308:14:1", + "scope": 90, + "src": "308:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3768,10 +3768,10 @@ "typeString": "uint256" }, "typeName": { - "id": 50, + "id": 87, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "308:7:1", + "src": "308:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3781,20 +3781,20 @@ "visibility": "internal" } ], - "src": "257:66:1" + "src": "257:66:2" }, - "src": "243:81:1" + "src": "243:81:2" }, { "constant": false, "functionSelector": "27e235e3", - "id": 57, + "id": 94, "mutability": "mutable", "name": "balances", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 267, - "src": "340:43:1", + "scope": 304, + "src": "340:43:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3802,28 +3802,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 56, + "id": 93, "keyType": { - "id": 54, + "id": 91, "name": "address", "nodeType": "ElementaryTypeName", - "src": "348:7:1", + "src": "348:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "340:27:1", + "src": "340:27:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 55, + "id": 92, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "359:7:1", + "src": "359:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3836,13 +3836,13 @@ { "constant": false, "functionSelector": "5c658165", - "id": 63, + "id": 100, "mutability": "mutable", "name": "allowed", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 267, - "src": "387:62:1", + "scope": 304, + "src": "387:62:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3850,46 +3850,46 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 62, + "id": 99, "keyType": { - "id": 58, + "id": 95, "name": "address", "nodeType": "ElementaryTypeName", - "src": "395:7:1", + "src": "395:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "387:47:1", + "src": "387:47:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 61, + "id": 98, "keyType": { - "id": 59, + "id": 96, "name": "address", "nodeType": "ElementaryTypeName", - "src": "414:7:1", + "src": "414:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "406:27:1", + "src": "406:27:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 60, + "id": 97, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "425:7:1", + "src": "425:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3902,9 +3902,9 @@ }, { "body": { - "id": 78, + "id": 115, "nodeType": "Block", - "src": "521:43:1", + "src": "521:43:2", "statements": [ { "expression": { @@ -3914,18 +3914,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 73, + "id": 110, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "533:3:1", + "src": "533:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 74, + "id": 111, "isConstant": false, "isLValue": false, "isPure": false, @@ -3933,7 +3933,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "533:10:1", + "src": "533:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3941,12 +3941,12 @@ }, { "argumentTypes": null, - "id": 75, + "id": 112, "name": "initialSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 65, - "src": "545:13:1", + "referencedDeclaration": 102, + "src": "545:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3964,18 +3964,18 @@ "typeString": "uint256" } ], - "id": 72, + "id": 109, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 869, - "src": "527:5:1", + "referencedDeclaration": 906, + "src": "527:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 76, + "id": 113, "isConstant": false, "isLValue": false, "isPure": false, @@ -3983,21 +3983,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "527:32:1", + "src": "527:32:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 77, + "id": 114, "nodeType": "ExpressionStatement", - "src": "527:32:1" + "src": "527:32:2" } ] }, "documentation": null, - "id": 79, + "id": 116, "implemented": true, "kind": "constructor", "modifiers": [ @@ -4006,14 +4006,14 @@ { "argumentTypes": null, "hexValue": "5265706f7274546f6b656e", - "id": 68, + "id": 105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "500:13:1", + "src": "500:13:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_bfbdeca6009a95cf39ca43ed7e22efb31ca6c93aaecd372f110fb4147fc088c7", @@ -4024,14 +4024,14 @@ { "argumentTypes": null, "hexValue": "525054", - "id": 69, + "id": 106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "515:5:1", + "src": "515:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_193fb9814d53cc9cda8187d0d39a8722345ce84f54c3c6acd15c420cb1471f43", @@ -4040,40 +4040,40 @@ "value": "RPT" } ], - "id": 70, + "id": 107, "modifierName": { "argumentTypes": null, - "id": 67, + "id": 104, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 993, - "src": "493:5:1", + "referencedDeclaration": 1030, + "src": "493:5:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$993_$", + "typeIdentifier": "t_type$_t_contract$_ERC20_$1030_$", "typeString": "type(contract ERC20)" } }, "nodeType": "ModifierInvocation", - "src": "493:28:1" + "src": "493:28:2" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 66, + "id": 103, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 65, + "id": 102, "mutability": "mutable", "name": "initialSupply", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 79, - "src": "466:18:1", + "scope": 116, + "src": "466:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4081,10 +4081,10 @@ "typeString": "uint256" }, "typeName": { - "id": 64, + "id": 101, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "466:4:1", + "src": "466:4:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4094,25 +4094,25 @@ "visibility": "internal" } ], - "src": "465:20:1" + "src": "465:20:2" }, "returnParameters": { - "id": 71, + "id": 108, "nodeType": "ParameterList", "parameters": [], - "src": "521:0:1" + "src": "521:0:2" }, - "scope": 267, - "src": "454:110:1", + "scope": 304, + "src": "454:110:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 101, + "id": 138, "nodeType": "Block", - "src": "798:75:1", + "src": "798:75:2", "statements": [ { "expression": { @@ -4120,12 +4120,12 @@ "arguments": [ { "argumentTypes": null, - "id": 89, + "id": 126, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "810:3:1", + "referencedDeclaration": 118, + "src": "810:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4133,12 +4133,12 @@ }, { "argumentTypes": null, - "id": 90, + "id": 127, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "815:6:1", + "referencedDeclaration": 120, + "src": "815:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4156,18 +4156,18 @@ "typeString": "uint256" } ], - "id": 88, + "id": 125, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 869, - "src": "804:5:1", + "referencedDeclaration": 906, + "src": "804:5:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 91, + "id": 128, "isConstant": false, "isLValue": false, "isPure": false, @@ -4175,21 +4175,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "804:18:1", + "src": "804:18:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 92, + "id": 129, "nodeType": "ExpressionStatement", - "src": "804:18:1" + "src": "804:18:2" }, { "expression": { "argumentTypes": null, - "id": 97, + "id": 134, "isConstant": false, "isLValue": false, "isPure": false, @@ -4198,26 +4198,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 93, + "id": 130, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "828:8:1", + "referencedDeclaration": 94, + "src": "828:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 95, + "id": 132, "indexExpression": { "argumentTypes": null, - "id": 94, + "id": 131, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 81, - "src": "837:3:1", + "referencedDeclaration": 118, + "src": "837:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4228,7 +4228,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "828:13:1", + "src": "828:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4238,39 +4238,39 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 96, + "id": 133, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "845:6:1", + "referencedDeclaration": 120, + "src": "845:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "828:23:1", + "src": "828:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 98, + "id": 135, "nodeType": "ExpressionStatement", - "src": "828:23:1" + "src": "828:23:2" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 99, + "id": 136, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "864:4:1", + "src": "864:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4278,16 +4278,16 @@ }, "value": "true" }, - "functionReturnParameters": 87, - "id": 100, + "functionReturnParameters": 124, + "id": 137, "nodeType": "Return", - "src": "857:11:1" + "src": "857:11:2" } ] }, "documentation": null, "functionSelector": "1cc2c911", - "id": 102, + "id": 139, "implemented": true, "kind": "function", "modifiers": [], @@ -4295,18 +4295,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 84, + "id": 121, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 81, + "id": 118, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 102, - "src": "740:11:1", + "scope": 139, + "src": "740:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4314,10 +4314,10 @@ "typeString": "address" }, "typeName": { - "id": 80, + "id": 117, "name": "address", "nodeType": "ElementaryTypeName", - "src": "740:7:1", + "src": "740:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4329,13 +4329,13 @@ }, { "constant": false, - "id": 83, + "id": 120, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 102, - "src": "753:14:1", + "scope": 139, + "src": "753:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4343,10 +4343,10 @@ "typeString": "uint256" }, "typeName": { - "id": 82, + "id": 119, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "753:7:1", + "src": "753:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4356,21 +4356,21 @@ "visibility": "internal" } ], - "src": "739:29:1" + "src": "739:29:2" }, "returnParameters": { - "id": 87, + "id": 124, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 86, + "id": 123, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 102, - "src": "793:4:1", + "scope": 139, + "src": "793:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4378,10 +4378,10 @@ "typeString": "bool" }, "typeName": { - "id": 85, + "id": 122, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "793:4:1", + "src": "793:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4391,19 +4391,19 @@ "visibility": "internal" } ], - "src": "792:6:1" + "src": "792:6:2" }, - "scope": 267, - "src": "717:156:1", + "scope": 304, + "src": "717:156:2", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { - "id": 133, + "id": 170, "nodeType": "Block", - "src": "1157:402:1", + "src": "1157:402:2", "statements": [ { "expression": { @@ -4415,19 +4415,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 112, + "id": 149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 110, + "id": 147, "name": "withdraw_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1208:15:1", + "referencedDeclaration": 143, + "src": "1208:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4438,14 +4438,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "302e31", - "id": 111, + "id": 148, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1227:9:1", + "src": "1227:9:2", "subdenomination": "ether", "typeDescriptions": { "typeIdentifier": "t_rational_100000000000000000_by_1", @@ -4453,7 +4453,7 @@ }, "value": "0.1" }, - "src": "1208:28:1", + "src": "1208:28:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4467,7 +4467,7 @@ "typeString": "bool" } ], - "id": 109, + "id": 146, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4475,13 +4475,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1200:7:1", + "src": "1200:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 113, + "id": 150, "isConstant": false, "isLValue": false, "isPure": false, @@ -4489,16 +4489,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1200:37:1", + "src": "1200:37:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 114, + "id": 151, "nodeType": "ExpressionStatement", - "src": "1200:37:1" + "src": "1200:37:2" }, { "expression": { @@ -4510,7 +4510,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 122, + "id": 159, "isConstant": false, "isLValue": false, "isPure": false, @@ -4522,14 +4522,14 @@ "arguments": [ { "argumentTypes": null, - "id": 118, + "id": 155, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "1259:4:1", + "src": "1259:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_ReportToken_$267", + "typeIdentifier": "t_contract$_ReportToken_$304", "typeString": "contract ReportToken" } } @@ -4537,33 +4537,33 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ReportToken_$267", + "typeIdentifier": "t_contract$_ReportToken_$304", "typeString": "contract ReportToken" } ], - "id": 117, + "id": 154, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1251:7:1", + "src": "1251:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 116, + "id": 153, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1251:7:1", + "src": "1251:7:2", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, - "id": 119, + "id": 156, "isConstant": false, "isLValue": false, "isPure": false, @@ -4571,14 +4571,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1251:13:1", + "src": "1251:13:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120, + "id": 157, "isConstant": false, "isLValue": false, "isPure": false, @@ -4586,7 +4586,7 @@ "memberName": "balance", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1251:21:1", + "src": "1251:21:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4596,18 +4596,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 121, + "id": 158, "name": "withdraw_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1276:15:1", + "referencedDeclaration": 143, + "src": "1276:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1251:40:1", + "src": "1251:40:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4616,14 +4616,14 @@ { "argumentTypes": null, "hexValue": "496e73756666696369656e742062616c616e636520696e2072657761726420666f72207769746864726177616c2072657175657374", - "id": 123, + "id": 160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1299:55:1", + "src": "1299:55:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3c91039cafec14c5cde992e1c4dbd3fb6463bcf3e75325535824b2a58fd8d479", @@ -4643,7 +4643,7 @@ "typeString": "literal_string \"Insufficient balance in reward for withdrawal request\"" } ], - "id": 115, + "id": 152, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4651,13 +4651,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1243:7:1", + "src": "1243:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 124, + "id": 161, "isConstant": false, "isLValue": false, "isPure": false, @@ -4665,16 +4665,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1243:112:1", + "src": "1243:112:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 125, + "id": 162, "nodeType": "ExpressionStatement", - "src": "1243:112:1" + "src": "1243:112:2" }, { "expression": { @@ -4684,18 +4684,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 127, + "id": 164, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1472:3:1", + "src": "1472:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 128, + "id": 165, "isConstant": false, "isLValue": false, "isPure": false, @@ -4703,7 +4703,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1472:10:1", + "src": "1472:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -4711,12 +4711,12 @@ }, { "argumentTypes": null, - "id": 129, + "id": 166, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 104, - "src": "1484:3:1", + "referencedDeclaration": 141, + "src": "1484:3:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -4724,12 +4724,12 @@ }, { "argumentTypes": null, - "id": 130, + "id": 167, "name": "withdraw_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 106, - "src": "1489:15:1", + "referencedDeclaration": 143, + "src": "1489:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4751,20 +4751,20 @@ "typeString": "uint256" } ], - "id": 126, + "id": 163, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [ - 45 + 82 ], - "referencedDeclaration": 45, - "src": "1463:8:1", + "referencedDeclaration": 82, + "src": "1463:8:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 131, + "id": 168, "isConstant": false, "isLValue": false, "isPure": false, @@ -4772,22 +4772,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1463:42:1", + "src": "1463:42:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 132, + "id": 169, "nodeType": "ExpressionStatement", - "src": "1463:42:1" + "src": "1463:42:2" } ] }, "documentation": null, "functionSelector": "f3fef3a3", - "id": 134, + "id": 171, "implemented": true, "kind": "function", "modifiers": [], @@ -4795,18 +4795,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 107, + "id": 144, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 104, + "id": 141, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 134, - "src": "1104:19:1", + "scope": 171, + "src": "1104:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4814,10 +4814,10 @@ "typeString": "address payable" }, "typeName": { - "id": 103, + "id": 140, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1104:15:1", + "src": "1104:15:2", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -4829,13 +4829,13 @@ }, { "constant": false, - "id": 106, + "id": 143, "mutability": "mutable", "name": "withdraw_amount", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 134, - "src": "1125:23:1", + "scope": 171, + "src": "1125:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4843,10 +4843,10 @@ "typeString": "uint256" }, "typeName": { - "id": 105, + "id": 142, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1125:7:1", + "src": "1125:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4856,28 +4856,28 @@ "visibility": "internal" } ], - "src": "1103:46:1" + "src": "1103:46:2" }, "returnParameters": { - "id": 108, + "id": 145, "nodeType": "ParameterList", "parameters": [], - "src": "1157:0:1" + "src": "1157:0:2" }, - "scope": 267, - "src": "1086:473:1", + "scope": 304, + "src": "1086:473:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 614 + 651 ], "body": { - "id": 175, + "id": 212, "nodeType": "Block", - "src": "1790:176:1", + "src": "1790:176:2", "statements": [ { "expression": { @@ -4889,7 +4889,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 150, + "id": 187, "isConstant": false, "isLValue": false, "isPure": false, @@ -4898,34 +4898,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 145, + "id": 182, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "1804:8:1", + "referencedDeclaration": 94, + "src": "1804:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 148, + "id": 185, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 146, + "id": 183, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1813:3:1", + "src": "1813:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 147, + "id": 184, "isConstant": false, "isLValue": false, "isPure": false, @@ -4933,7 +4933,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1813:10:1", + "src": "1813:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -4944,7 +4944,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1804:20:1", + "src": "1804:20:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4954,18 +4954,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 149, + "id": 186, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1828:6:1", + "referencedDeclaration": 175, + "src": "1828:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1804:30:1", + "src": "1804:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4979,7 +4979,7 @@ "typeString": "bool" } ], - "id": 144, + "id": 181, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4987,13 +4987,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1796:7:1", + "src": "1796:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 151, + "id": 188, "isConstant": false, "isLValue": false, "isPure": false, @@ -5001,21 +5001,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1796:39:1", + "src": "1796:39:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 152, + "id": 189, "nodeType": "ExpressionStatement", - "src": "1796:39:1" + "src": "1796:39:2" }, { "expression": { "argumentTypes": null, - "id": 158, + "id": 195, "isConstant": false, "isLValue": false, "isPure": false, @@ -5024,34 +5024,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 153, + "id": 190, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "1841:8:1", + "referencedDeclaration": 94, + "src": "1841:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 156, + "id": 193, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 154, + "id": 191, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1850:3:1", + "src": "1850:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 155, + "id": 192, "isConstant": false, "isLValue": false, "isPure": false, @@ -5059,7 +5059,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1850:10:1", + "src": "1850:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -5070,7 +5070,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1841:20:1", + "src": "1841:20:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5080,31 +5080,31 @@ "operator": "-=", "rightHandSide": { "argumentTypes": null, - "id": 157, + "id": 194, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1865:6:1", + "referencedDeclaration": 175, + "src": "1865:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1841:30:1", + "src": "1841:30:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 159, + "id": 196, "nodeType": "ExpressionStatement", - "src": "1841:30:1" + "src": "1841:30:2" }, { "expression": { "argumentTypes": null, - "id": 164, + "id": 201, "isConstant": false, "isLValue": false, "isPure": false, @@ -5113,26 +5113,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 160, + "id": 197, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "1877:8:1", + "referencedDeclaration": 94, + "src": "1877:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 162, + "id": 199, "indexExpression": { "argumentTypes": null, - "id": 161, + "id": 198, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "1886:3:1", + "referencedDeclaration": 173, + "src": "1886:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5143,7 +5143,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1877:13:1", + "src": "1877:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5153,26 +5153,26 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 163, + "id": 200, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1894:6:1", + "referencedDeclaration": 175, + "src": "1894:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1877:23:1", + "src": "1877:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 165, + "id": 202, "nodeType": "ExpressionStatement", - "src": "1877:23:1" + "src": "1877:23:2" }, { "eventCall": { @@ -5182,18 +5182,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 167, + "id": 204, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1920:3:1", + "src": "1920:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 168, + "id": 205, "isConstant": false, "isLValue": false, "isPure": false, @@ -5201,7 +5201,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1920:10:1", + "src": "1920:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -5209,12 +5209,12 @@ }, { "argumentTypes": null, - "id": 169, + "id": 206, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "1932:3:1", + "referencedDeclaration": 173, + "src": "1932:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5222,12 +5222,12 @@ }, { "argumentTypes": null, - "id": 170, + "id": 207, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1937:6:1", + "referencedDeclaration": 175, + "src": "1937:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5249,20 +5249,20 @@ "typeString": "uint256" } ], - "id": 166, + "id": 203, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [ - 45 + 82 ], - "referencedDeclaration": 45, - "src": "1911:8:1", + "referencedDeclaration": 82, + "src": "1911:8:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 171, + "id": 208, "isConstant": false, "isLValue": false, "isPure": false, @@ -5270,29 +5270,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1911:33:1", + "src": "1911:33:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 172, + "id": 209, "nodeType": "EmitStatement", - "src": "1906:38:1" + "src": "1906:38:2" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 173, + "id": 210, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1957:4:1", + "src": "1957:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5300,40 +5300,40 @@ }, "value": "true" }, - "functionReturnParameters": 143, - "id": 174, + "functionReturnParameters": 180, + "id": 211, "nodeType": "Return", - "src": "1950:11:1" + "src": "1950:11:2" } ] }, "documentation": null, "functionSelector": "a9059cbb", - "id": 176, + "id": 213, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": { - "id": 140, + "id": 177, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1766:8:1" + "src": "1766:8:2" }, "parameters": { - "id": 139, + "id": 176, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 136, + "id": 173, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 176, - "src": "1730:11:1", + "scope": 213, + "src": "1730:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5341,10 +5341,10 @@ "typeString": "address" }, "typeName": { - "id": 135, + "id": 172, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1730:7:1", + "src": "1730:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5356,13 +5356,13 @@ }, { "constant": false, - "id": 138, + "id": 175, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 176, - "src": "1743:14:1", + "scope": 213, + "src": "1743:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5370,10 +5370,10 @@ "typeString": "uint256" }, "typeName": { - "id": 137, + "id": 174, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1743:7:1", + "src": "1743:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5383,21 +5383,21 @@ "visibility": "internal" } ], - "src": "1729:29:1" + "src": "1729:29:2" }, "returnParameters": { - "id": 143, + "id": 180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 142, + "id": 179, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 176, - "src": "1784:4:1", + "scope": 213, + "src": "1784:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5405,10 +5405,10 @@ "typeString": "bool" }, "typeName": { - "id": 141, + "id": 178, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1784:4:1", + "src": "1784:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5418,27 +5418,27 @@ "visibility": "internal" } ], - "src": "1783:6:1" + "src": "1783:6:2" }, - "scope": 267, - "src": "1712:254:1", + "scope": 304, + "src": "1712:254:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 653 + 690 ], "body": { - "id": 204, + "id": 241, "nodeType": "Block", - "src": "2072:153:1", + "src": "2072:153:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 193, + "id": 230, "isConstant": false, "isLValue": false, "isPure": false, @@ -5449,34 +5449,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 186, + "id": 223, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2094:7:1", + "referencedDeclaration": 100, + "src": "2094:7:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 190, + "id": 227, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 187, + "id": 224, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2102:3:1", + "src": "2102:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 188, + "id": 225, "isConstant": false, "isLValue": false, "isPure": false, @@ -5484,7 +5484,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2102:10:1", + "src": "2102:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -5495,21 +5495,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2094:19:1", + "src": "2094:19:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 191, + "id": 228, "indexExpression": { "argumentTypes": null, - "id": 189, + "id": 226, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "2114:8:1", + "referencedDeclaration": 215, + "src": "2114:8:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5520,7 +5520,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2094:29:1", + "src": "2094:29:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5530,26 +5530,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 192, + "id": 229, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "2126:6:1", + "referencedDeclaration": 217, + "src": "2126:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2094:38:1", + "src": "2094:38:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 194, + "id": 231, "nodeType": "ExpressionStatement", - "src": "2094:38:1" + "src": "2094:38:2" }, { "eventCall": { @@ -5559,18 +5559,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 196, + "id": 233, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2173:3:1", + "src": "2173:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 197, + "id": 234, "isConstant": false, "isLValue": false, "isPure": false, @@ -5578,7 +5578,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2173:10:1", + "src": "2173:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -5586,12 +5586,12 @@ }, { "argumentTypes": null, - "id": 198, + "id": 235, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "2185:8:1", + "referencedDeclaration": 215, + "src": "2185:8:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5599,12 +5599,12 @@ }, { "argumentTypes": null, - "id": 199, + "id": 236, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "2195:6:1", + "referencedDeclaration": 217, + "src": "2195:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5626,20 +5626,20 @@ "typeString": "uint256" } ], - "id": 195, + "id": 232, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [ - 53 + 90 ], - "referencedDeclaration": 53, - "src": "2164:8:1", + "referencedDeclaration": 90, + "src": "2164:8:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 200, + "id": 237, "isConstant": false, "isLValue": false, "isPure": false, @@ -5647,29 +5647,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2164:38:1", + "src": "2164:38:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 201, + "id": 238, "nodeType": "EmitStatement", - "src": "2159:43:1" + "src": "2159:43:2" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 202, + "id": 239, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2216:4:1", + "src": "2216:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5677,40 +5677,40 @@ }, "value": "true" }, - "functionReturnParameters": 185, - "id": 203, + "functionReturnParameters": 222, + "id": 240, "nodeType": "Return", - "src": "2209:11:1" + "src": "2209:11:2" } ] }, "documentation": null, "functionSelector": "095ea7b3", - "id": 205, + "id": 242, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": { - "id": 182, + "id": 219, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2048:8:1" + "src": "2048:8:2" }, "parameters": { - "id": 181, + "id": 218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 178, + "id": 215, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 205, - "src": "2007:16:1", + "scope": 242, + "src": "2007:16:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5718,10 +5718,10 @@ "typeString": "address" }, "typeName": { - "id": 177, + "id": 214, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2007:7:1", + "src": "2007:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5733,13 +5733,13 @@ }, { "constant": false, - "id": 180, + "id": 217, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 205, - "src": "2025:14:1", + "scope": 242, + "src": "2025:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5747,10 +5747,10 @@ "typeString": "uint256" }, "typeName": { - "id": 179, + "id": 216, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2025:7:1", + "src": "2025:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5760,21 +5760,21 @@ "visibility": "internal" } ], - "src": "2006:34:1" + "src": "2006:34:2" }, "returnParameters": { - "id": 185, + "id": 222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 184, + "id": 221, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 205, - "src": "2066:4:1", + "scope": 242, + "src": "2066:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5782,10 +5782,10 @@ "typeString": "bool" }, "typeName": { - "id": 183, + "id": 220, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2066:4:1", + "src": "2066:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5795,22 +5795,22 @@ "visibility": "internal" } ], - "src": "2065:6:1" + "src": "2065:6:2" }, - "scope": 267, - "src": "1990:235:1", + "scope": 304, + "src": "1990:235:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 691 + 728 ], "body": { - "id": 265, + "id": 302, "nodeType": "Block", - "src": "2350:258:1", + "src": "2350:258:2", "statements": [ { "expression": { @@ -5822,19 +5822,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 222, + "id": 259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 218, + "id": 255, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2365:6:1", + "referencedDeclaration": 248, + "src": "2365:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5846,26 +5846,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 219, + "id": 256, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "2375:8:1", + "referencedDeclaration": 94, + "src": "2375:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 221, + "id": 258, "indexExpression": { "argumentTypes": null, - "id": 220, + "id": 257, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2384:5:1", + "referencedDeclaration": 244, + "src": "2384:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5876,13 +5876,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2375:15:1", + "src": "2375:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2365:25:1", + "src": "2365:25:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5896,7 +5896,7 @@ "typeString": "bool" } ], - "id": 217, + "id": 254, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5904,13 +5904,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2357:7:1", + "src": "2357:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 223, + "id": 260, "isConstant": false, "isLValue": false, "isPure": false, @@ -5918,16 +5918,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2357:34:1", + "src": "2357:34:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 224, + "id": 261, "nodeType": "ExpressionStatement", - "src": "2357:34:1" + "src": "2357:34:2" }, { "expression": { @@ -5939,19 +5939,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 233, + "id": 270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 226, + "id": 263, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2405:6:1", + "referencedDeclaration": 248, + "src": "2405:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5965,26 +5965,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 227, + "id": 264, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2415:7:1", + "referencedDeclaration": 100, + "src": "2415:7:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 229, + "id": 266, "indexExpression": { "argumentTypes": null, - "id": 228, + "id": 265, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2423:5:1", + "referencedDeclaration": 244, + "src": "2423:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5995,29 +5995,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2415:14:1", + "src": "2415:14:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 232, + "id": 269, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 230, + "id": 267, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2430:3:1", + "src": "2430:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 231, + "id": 268, "isConstant": false, "isLValue": false, "isPure": false, @@ -6025,7 +6025,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2430:10:1", + "src": "2430:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -6036,13 +6036,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2415:26:1", + "src": "2415:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2405:36:1", + "src": "2405:36:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6056,7 +6056,7 @@ "typeString": "bool" } ], - "id": 225, + "id": 262, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -6064,13 +6064,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2397:7:1", + "src": "2397:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 234, + "id": 271, "isConstant": false, "isLValue": false, "isPure": false, @@ -6078,21 +6078,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2397:45:1", + "src": "2397:45:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 235, + "id": 272, "nodeType": "ExpressionStatement", - "src": "2397:45:1" + "src": "2397:45:2" }, { "expression": { "argumentTypes": null, - "id": 240, + "id": 277, "isConstant": false, "isLValue": false, "isPure": false, @@ -6101,26 +6101,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 236, + "id": 273, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "2449:8:1", + "referencedDeclaration": 94, + "src": "2449:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 238, + "id": 275, "indexExpression": { "argumentTypes": null, - "id": 237, + "id": 274, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2458:5:1", + "referencedDeclaration": 244, + "src": "2458:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6131,7 +6131,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2449:15:1", + "src": "2449:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6141,31 +6141,31 @@ "operator": "-=", "rightHandSide": { "argumentTypes": null, - "id": 239, + "id": 276, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2468:6:1", + "referencedDeclaration": 248, + "src": "2468:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2449:25:1", + "src": "2449:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 241, + "id": 278, "nodeType": "ExpressionStatement", - "src": "2449:25:1" + "src": "2449:25:2" }, { "expression": { "argumentTypes": null, - "id": 246, + "id": 283, "isConstant": false, "isLValue": false, "isPure": false, @@ -6174,26 +6174,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 242, + "id": 279, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "2480:8:1", + "referencedDeclaration": 94, + "src": "2480:8:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 244, + "id": 281, "indexExpression": { "argumentTypes": null, - "id": 243, + "id": 280, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "2489:3:1", + "referencedDeclaration": 246, + "src": "2489:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6204,7 +6204,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2480:13:1", + "src": "2480:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6214,31 +6214,31 @@ "operator": "+=", "rightHandSide": { "argumentTypes": null, - "id": 245, + "id": 282, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2497:6:1", + "referencedDeclaration": 248, + "src": "2497:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2480:23:1", + "src": "2480:23:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 247, + "id": 284, "nodeType": "ExpressionStatement", - "src": "2480:23:1" + "src": "2480:23:2" }, { "expression": { "argumentTypes": null, - "id": 255, + "id": 292, "isConstant": false, "isLValue": false, "isPure": false, @@ -6249,26 +6249,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 248, + "id": 285, "name": "allowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "2510:7:1", + "referencedDeclaration": 100, + "src": "2510:7:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 252, + "id": 289, "indexExpression": { "argumentTypes": null, - "id": 249, + "id": 286, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2518:5:1", + "referencedDeclaration": 244, + "src": "2518:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6279,29 +6279,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2510:14:1", + "src": "2510:14:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 253, + "id": 290, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 250, + "id": 287, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2525:3:1", + "src": "2525:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 251, + "id": 288, "isConstant": false, "isLValue": false, "isPure": false, @@ -6309,7 +6309,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2525:10:1", + "src": "2525:10:2", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -6320,7 +6320,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2510:26:1", + "src": "2510:26:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6330,26 +6330,26 @@ "operator": "-=", "rightHandSide": { "argumentTypes": null, - "id": 254, + "id": 291, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2540:6:1", + "referencedDeclaration": 248, + "src": "2540:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2510:36:1", + "src": "2510:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 256, + "id": 293, "nodeType": "ExpressionStatement", - "src": "2510:36:1" + "src": "2510:36:2" }, { "eventCall": { @@ -6357,12 +6357,12 @@ "arguments": [ { "argumentTypes": null, - "id": 258, + "id": 295, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2567:5:1", + "referencedDeclaration": 244, + "src": "2567:5:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6370,12 +6370,12 @@ }, { "argumentTypes": null, - "id": 259, + "id": 296, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 209, - "src": "2574:3:1", + "referencedDeclaration": 246, + "src": "2574:3:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6383,12 +6383,12 @@ }, { "argumentTypes": null, - "id": 260, + "id": 297, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 211, - "src": "2579:6:1", + "referencedDeclaration": 248, + "src": "2579:6:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6410,20 +6410,20 @@ "typeString": "uint256" } ], - "id": 257, + "id": 294, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [ - 45 + 82 ], - "referencedDeclaration": 45, - "src": "2558:8:1", + "referencedDeclaration": 82, + "src": "2558:8:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 261, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, @@ -6431,29 +6431,29 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2558:28:1", + "src": "2558:28:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 262, + "id": 299, "nodeType": "EmitStatement", - "src": "2553:33:1" + "src": "2553:33:2" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 263, + "id": 300, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2599:4:1", + "src": "2599:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6461,40 +6461,40 @@ }, "value": "true" }, - "functionReturnParameters": 216, - "id": 264, + "functionReturnParameters": 253, + "id": 301, "nodeType": "Return", - "src": "2592:11:1" + "src": "2592:11:2" } ] }, "documentation": null, "functionSelector": "23b872dd", - "id": 266, + "id": 303, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": { - "id": 213, + "id": 250, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2326:8:1" + "src": "2326:8:2" }, "parameters": { - "id": 212, + "id": 249, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 207, + "id": 244, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 266, - "src": "2275:13:1", + "scope": 303, + "src": "2275:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6502,10 +6502,10 @@ "typeString": "address" }, "typeName": { - "id": 206, + "id": 243, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2275:7:1", + "src": "2275:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6517,13 +6517,13 @@ }, { "constant": false, - "id": 209, + "id": 246, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 266, - "src": "2290:11:1", + "scope": 303, + "src": "2290:11:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6531,10 +6531,10 @@ "typeString": "address" }, "typeName": { - "id": 208, + "id": 245, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2290:7:1", + "src": "2290:7:2", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6546,13 +6546,13 @@ }, { "constant": false, - "id": 211, + "id": 248, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 266, - "src": "2303:14:1", + "scope": 303, + "src": "2303:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6560,10 +6560,10 @@ "typeString": "uint256" }, "typeName": { - "id": 210, + "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2303:7:1", + "src": "2303:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6573,21 +6573,21 @@ "visibility": "internal" } ], - "src": "2274:44:1" + "src": "2274:44:2" }, "returnParameters": { - "id": 216, + "id": 253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 215, + "id": 252, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 266, - "src": "2344:4:1", + "scope": 303, + "src": "2344:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6595,10 +6595,10 @@ "typeString": "bool" }, "typeName": { - "id": 214, + "id": 251, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2344:4:1", + "src": "2344:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6608,20 +6608,20 @@ "visibility": "internal" } ], - "src": "2343:6:1" + "src": "2343:6:2" }, - "scope": 267, - "src": "2253:355:1", + "scope": 304, + "src": "2253:355:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], - "scope": 268, - "src": "114:2496:1" + "scope": 305, + "src": "114:2496:2" } ], - "src": "32:2579:1" + "src": "32:2579:2" }, "compiler": { "name": "solc", @@ -6682,12 +6682,12 @@ } }, "links": {}, - "address": "0x9a935ACDB7bBa49D31F63A41093E2d62733E8591", - "transactionHash": "0x519546343a36b06dc892fe48076e95b9416aba46c79c8f3e6016a15f7d291248" + "address": "0x783aB6Cb29c49661B972491b3bE4B9D5fcc57438", + "transactionHash": "0xeb6ba54c3eeaa49df19ebb20ef10d2538111ba9a61f42c6dcdcdb834d2244cff" } }, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-19T01:12:11.136Z", + "updatedAt": "2020-09-20T10:00:00.210Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 378f2a9..2d9c604 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -5,23 +5,23 @@ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209bf9ba12bca995ef1b67629171479b29f402e44fb15a0833d406de3a157f50ef64736f6c634300060c0033", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209bf9ba12bca995ef1b67629171479b29f402e44fb15a0833d406de3a157f50ef64736f6c634300060c0033", "immutableReferences": {}, - "sourceMap": "622:4578:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "622:4578:3:-:0;;;;;;;;", + "sourceMap": "622:4578:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "622:4578:4:-:0;;;;;;;;", "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n return sub(a, b, \"SafeMath: subtraction overflow\");\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b <= a, errorMessage);\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n return div(a, b, \"SafeMath: division by zero\");\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b > 0, errorMessage);\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n return mod(a, b, \"SafeMath: modulo by zero\");\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts with custom message when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b != 0, errorMessage);\n return a % b;\n }\n}\n", "sourcePath": "@openzeppelin/contracts/math/SafeMath.sol", "ast": { "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 486 + 523 ] }, - "id": 487, + "id": 524, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 292, + "id": 329, "literals": [ "solidity", "^", @@ -29,7 +29,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:3" + "src": "33:23:4" }, { "abstract": false, @@ -37,39 +37,39 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 293, + "id": 330, "nodeType": "StructuredDocumentation", - "src": "58:563:3", + "src": "58:563:4", "text": " @dev Wrappers over Solidity's arithmetic operations with added overflow\n checks.\n Arithmetic operations in Solidity wrap on overflow. This can easily result\n in bugs, because programmers usually assume that an overflow raises an\n error, which is the standard behavior in high level programming languages.\n `SafeMath` restores this intuition by reverting the transaction when an\n operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always." }, "fullyImplemented": true, - "id": 486, + "id": 523, "linearizedBaseContracts": [ - 486 + 523 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 318, + "id": 355, "nodeType": "Block", - "src": "941:109:3", + "src": "941:109:4", "statements": [ { "assignments": [ - 304 + 341 ], "declarations": [ { "constant": false, - "id": 304, + "id": 341, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 318, - "src": "951:9:3", + "scope": 355, + "src": "951:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -77,10 +77,10 @@ "typeString": "uint256" }, "typeName": { - "id": 303, + "id": 340, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "951:7:3", + "src": "951:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -90,26 +90,26 @@ "visibility": "internal" } ], - "id": 308, + "id": 345, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 307, + "id": 344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 305, + "id": 342, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "963:1:3", + "referencedDeclaration": 333, + "src": "963:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -119,25 +119,25 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 306, + "id": 343, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "967:1:3", + "referencedDeclaration": 335, + "src": "967:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "963:5:3", + "src": "963:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "951:17:3" + "src": "951:17:4" }, { "expression": { @@ -149,19 +149,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 312, + "id": 349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 310, + "id": 347, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "986:1:3", + "referencedDeclaration": 341, + "src": "986:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -171,18 +171,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 311, + "id": 348, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "991:1:3", + "referencedDeclaration": 333, + "src": "991:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "986:6:3", + "src": "986:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -191,14 +191,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 313, + "id": 350, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "994:29:3", + "src": "994:29:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", @@ -218,7 +218,7 @@ "typeString": "literal_string \"SafeMath: addition overflow\"" } ], - "id": 309, + "id": 346, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -226,13 +226,13 @@ -18 ], "referencedDeclaration": -18, - "src": "978:7:3", + "src": "978:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 314, + "id": 351, "isConstant": false, "isLValue": false, "isPure": false, @@ -240,45 +240,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "978:46:3", + "src": "978:46:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 315, + "id": 352, "nodeType": "ExpressionStatement", - "src": "978:46:3" + "src": "978:46:4" }, { "expression": { "argumentTypes": null, - "id": 316, + "id": 353, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "1042:1:3", + "referencedDeclaration": 341, + "src": "1042:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 302, - "id": 317, + "functionReturnParameters": 339, + "id": 354, "nodeType": "Return", - "src": "1035:8:3" + "src": "1035:8:4" } ] }, "documentation": { - "id": 294, + "id": 331, "nodeType": "StructuredDocumentation", - "src": "645:224:3", + "src": "645:224:4", "text": " @dev Returns the addition of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `+` operator.\n Requirements:\n - Addition cannot overflow." }, - "id": 319, + "id": 356, "implemented": true, "kind": "function", "modifiers": [], @@ -286,18 +286,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 299, + "id": 336, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 296, + "id": 333, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 319, - "src": "887:9:3", + "scope": 356, + "src": "887:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -305,10 +305,10 @@ "typeString": "uint256" }, "typeName": { - "id": 295, + "id": 332, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "887:7:3", + "src": "887:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -319,13 +319,13 @@ }, { "constant": false, - "id": 298, + "id": 335, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 319, - "src": "898:9:3", + "scope": 356, + "src": "898:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -333,10 +333,10 @@ "typeString": "uint256" }, "typeName": { - "id": 297, + "id": 334, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "898:7:3", + "src": "898:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -346,21 +346,21 @@ "visibility": "internal" } ], - "src": "886:22:3" + "src": "886:22:4" }, "returnParameters": { - "id": 302, + "id": 339, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 301, + "id": 338, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 319, - "src": "932:7:3", + "scope": 356, + "src": "932:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -368,10 +368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 300, + "id": 337, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "932:7:3", + "src": "932:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -381,19 +381,19 @@ "visibility": "internal" } ], - "src": "931:9:3" + "src": "931:9:4" }, - "scope": 486, - "src": "874:176:3", + "scope": 523, + "src": "874:176:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 335, + "id": 372, "nodeType": "Block", - "src": "1388:67:3", + "src": "1388:67:4", "statements": [ { "expression": { @@ -401,12 +401,12 @@ "arguments": [ { "argumentTypes": null, - "id": 330, + "id": 367, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 322, - "src": "1409:1:3", + "referencedDeclaration": 359, + "src": "1409:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -414,12 +414,12 @@ }, { "argumentTypes": null, - "id": 331, + "id": 368, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 324, - "src": "1412:1:3", + "referencedDeclaration": 361, + "src": "1412:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -428,14 +428,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 332, + "id": 369, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1415:32:3", + "src": "1415:32:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", @@ -459,21 +459,21 @@ "typeString": "literal_string \"SafeMath: subtraction overflow\"" } ], - "id": 329, + "id": 366, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [ - 336, - 364 + 373, + 401 ], - "referencedDeclaration": 364, - "src": "1405:3:3", + "referencedDeclaration": 401, + "src": "1405:3:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 333, + "id": 370, "isConstant": false, "isLValue": false, "isPure": false, @@ -481,27 +481,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1405:43:3", + "src": "1405:43:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 328, - "id": 334, + "functionReturnParameters": 365, + "id": 371, "nodeType": "Return", - "src": "1398:50:3" + "src": "1398:50:4" } ] }, "documentation": { - "id": 320, + "id": 357, "nodeType": "StructuredDocumentation", - "src": "1056:260:3", + "src": "1056:260:4", "text": " @dev Returns the subtraction of two unsigned integers, reverting on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow." }, - "id": 336, + "id": 373, "implemented": true, "kind": "function", "modifiers": [], @@ -509,18 +509,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 325, + "id": 362, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 322, + "id": 359, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 336, - "src": "1334:9:3", + "scope": 373, + "src": "1334:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -528,10 +528,10 @@ "typeString": "uint256" }, "typeName": { - "id": 321, + "id": 358, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1334:7:3", + "src": "1334:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -542,13 +542,13 @@ }, { "constant": false, - "id": 324, + "id": 361, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 336, - "src": "1345:9:3", + "scope": 373, + "src": "1345:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -556,10 +556,10 @@ "typeString": "uint256" }, "typeName": { - "id": 323, + "id": 360, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1345:7:3", + "src": "1345:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -569,21 +569,21 @@ "visibility": "internal" } ], - "src": "1333:22:3" + "src": "1333:22:4" }, "returnParameters": { - "id": 328, + "id": 365, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 327, + "id": 364, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 336, - "src": "1379:7:3", + "scope": 373, + "src": "1379:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -591,10 +591,10 @@ "typeString": "uint256" }, "typeName": { - "id": 326, + "id": 363, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1379:7:3", + "src": "1379:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -604,19 +604,19 @@ "visibility": "internal" } ], - "src": "1378:9:3" + "src": "1378:9:4" }, - "scope": 486, - "src": "1321:134:3", + "scope": 523, + "src": "1321:134:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 363, + "id": 400, "nodeType": "Block", - "src": "1841:92:3", + "src": "1841:92:4", "statements": [ { "expression": { @@ -628,19 +628,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 351, + "id": 388, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 349, + "id": 386, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "1859:1:3", + "referencedDeclaration": 378, + "src": "1859:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -650,18 +650,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 350, + "id": 387, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "1864:1:3", + "referencedDeclaration": 376, + "src": "1864:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1859:6:3", + "src": "1859:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -669,12 +669,12 @@ }, { "argumentTypes": null, - "id": 352, + "id": 389, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "1867:12:3", + "referencedDeclaration": 380, + "src": "1867:12:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -692,7 +692,7 @@ "typeString": "string memory" } ], - "id": 348, + "id": 385, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -700,13 +700,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1851:7:3", + "src": "1851:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 353, + "id": 390, "isConstant": false, "isLValue": false, "isPure": false, @@ -714,31 +714,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1851:29:3", + "src": "1851:29:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 354, + "id": 391, "nodeType": "ExpressionStatement", - "src": "1851:29:3" + "src": "1851:29:4" }, { "assignments": [ - 356 + 393 ], "declarations": [ { "constant": false, - "id": 356, + "id": 393, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 363, - "src": "1890:9:3", + "scope": 400, + "src": "1890:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -746,10 +746,10 @@ "typeString": "uint256" }, "typeName": { - "id": 355, + "id": 392, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1890:7:3", + "src": "1890:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -759,26 +759,26 @@ "visibility": "internal" } ], - "id": 360, + "id": 397, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 359, + "id": 396, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 357, + "id": 394, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "1902:1:3", + "referencedDeclaration": 376, + "src": "1902:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -788,54 +788,54 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 358, + "id": 395, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "1906:1:3", + "referencedDeclaration": 378, + "src": "1906:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1902:5:3", + "src": "1902:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1890:17:3" + "src": "1890:17:4" }, { "expression": { "argumentTypes": null, - "id": 361, + "id": 398, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 356, - "src": "1925:1:3", + "referencedDeclaration": 393, + "src": "1925:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 347, - "id": 362, + "functionReturnParameters": 384, + "id": 399, "nodeType": "Return", - "src": "1918:8:3" + "src": "1918:8:4" } ] }, "documentation": { - "id": 337, + "id": 374, "nodeType": "StructuredDocumentation", - "src": "1461:280:3", + "src": "1461:280:4", "text": " @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow." }, - "id": 364, + "id": 401, "implemented": true, "kind": "function", "modifiers": [], @@ -843,18 +843,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 344, + "id": 381, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 339, + "id": 376, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 364, - "src": "1759:9:3", + "scope": 401, + "src": "1759:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -862,10 +862,10 @@ "typeString": "uint256" }, "typeName": { - "id": 338, + "id": 375, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1759:7:3", + "src": "1759:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -876,13 +876,13 @@ }, { "constant": false, - "id": 341, + "id": 378, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 364, - "src": "1770:9:3", + "scope": 401, + "src": "1770:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -890,10 +890,10 @@ "typeString": "uint256" }, "typeName": { - "id": 340, + "id": 377, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1770:7:3", + "src": "1770:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -904,13 +904,13 @@ }, { "constant": false, - "id": 343, + "id": 380, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 364, - "src": "1781:26:3", + "scope": 401, + "src": "1781:26:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -918,10 +918,10 @@ "typeString": "string" }, "typeName": { - "id": 342, + "id": 379, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1781:6:3", + "src": "1781:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -931,21 +931,21 @@ "visibility": "internal" } ], - "src": "1758:50:3" + "src": "1758:50:4" }, "returnParameters": { - "id": 347, + "id": 384, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 346, + "id": 383, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 364, - "src": "1832:7:3", + "scope": 401, + "src": "1832:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -953,10 +953,10 @@ "typeString": "uint256" }, "typeName": { - "id": 345, + "id": 382, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1832:7:3", + "src": "1832:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -966,19 +966,19 @@ "visibility": "internal" } ], - "src": "1831:9:3" + "src": "1831:9:4" }, - "scope": 486, - "src": "1746:187:3", + "scope": 523, + "src": "1746:187:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 398, + "id": 435, "nodeType": "Block", - "src": "2247:392:3", + "src": "2247:392:4", "statements": [ { "condition": { @@ -987,19 +987,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 376, + "id": 413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 374, + "id": 411, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "2479:1:3", + "referencedDeclaration": 404, + "src": "2479:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1010,14 +1010,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 375, + "id": 412, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2484:1:3", + "src": "2484:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1025,33 +1025,33 @@ }, "value": "0" }, - "src": "2479:6:3", + "src": "2479:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 380, + "id": 417, "nodeType": "IfStatement", - "src": "2475:45:3", + "src": "2475:45:4", "trueBody": { - "id": 379, + "id": 416, "nodeType": "Block", - "src": "2487:33:3", + "src": "2487:33:4", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 377, + "id": 414, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2508:1:3", + "src": "2508:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1059,28 +1059,28 @@ }, "value": "0" }, - "functionReturnParameters": 373, - "id": 378, + "functionReturnParameters": 410, + "id": 415, "nodeType": "Return", - "src": "2501:8:3" + "src": "2501:8:4" } ] } }, { "assignments": [ - 382 + 419 ], "declarations": [ { "constant": false, - "id": 382, + "id": 419, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 398, - "src": "2530:9:3", + "scope": 435, + "src": "2530:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1088,10 +1088,10 @@ "typeString": "uint256" }, "typeName": { - "id": 381, + "id": 418, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2530:7:3", + "src": "2530:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1101,26 +1101,26 @@ "visibility": "internal" } ], - "id": 386, + "id": 423, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 385, + "id": 422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 383, + "id": 420, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "2542:1:3", + "referencedDeclaration": 404, + "src": "2542:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1130,25 +1130,25 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 384, + "id": 421, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "2546:1:3", + "referencedDeclaration": 406, + "src": "2546:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2542:5:3", + "src": "2542:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2530:17:3" + "src": "2530:17:4" }, { "expression": { @@ -1160,7 +1160,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 392, + "id": 429, "isConstant": false, "isLValue": false, "isPure": false, @@ -1171,19 +1171,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 390, + "id": 427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 388, + "id": 425, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 382, - "src": "2565:1:3", + "referencedDeclaration": 419, + "src": "2565:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1193,18 +1193,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 389, + "id": 426, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "2569:1:3", + "referencedDeclaration": 404, + "src": "2569:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2565:5:3", + "src": "2565:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1214,18 +1214,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 391, + "id": 428, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "2574:1:3", + "referencedDeclaration": 406, + "src": "2574:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2565:10:3", + "src": "2565:10:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1234,14 +1234,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 393, + "id": 430, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2577:35:3", + "src": "2577:35:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", @@ -1261,7 +1261,7 @@ "typeString": "literal_string \"SafeMath: multiplication overflow\"" } ], - "id": 387, + "id": 424, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1269,13 +1269,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2557:7:3", + "src": "2557:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 394, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, @@ -1283,45 +1283,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2557:56:3", + "src": "2557:56:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 395, + "id": 432, "nodeType": "ExpressionStatement", - "src": "2557:56:3" + "src": "2557:56:4" }, { "expression": { "argumentTypes": null, - "id": 396, + "id": 433, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 382, - "src": "2631:1:3", + "referencedDeclaration": 419, + "src": "2631:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 373, - "id": 397, + "functionReturnParameters": 410, + "id": 434, "nodeType": "Return", - "src": "2624:8:3" + "src": "2624:8:4" } ] }, "documentation": { - "id": 365, + "id": 402, "nodeType": "StructuredDocumentation", - "src": "1939:236:3", + "src": "1939:236:4", "text": " @dev Returns the multiplication of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `*` operator.\n Requirements:\n - Multiplication cannot overflow." }, - "id": 399, + "id": 436, "implemented": true, "kind": "function", "modifiers": [], @@ -1329,18 +1329,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 370, + "id": 407, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 367, + "id": 404, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 399, - "src": "2193:9:3", + "scope": 436, + "src": "2193:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1348,10 +1348,10 @@ "typeString": "uint256" }, "typeName": { - "id": 366, + "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2193:7:3", + "src": "2193:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1362,13 +1362,13 @@ }, { "constant": false, - "id": 369, + "id": 406, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 399, - "src": "2204:9:3", + "scope": 436, + "src": "2204:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1376,10 +1376,10 @@ "typeString": "uint256" }, "typeName": { - "id": 368, + "id": 405, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2204:7:3", + "src": "2204:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1389,21 +1389,21 @@ "visibility": "internal" } ], - "src": "2192:22:3" + "src": "2192:22:4" }, "returnParameters": { - "id": 373, + "id": 410, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 372, + "id": 409, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 399, - "src": "2238:7:3", + "scope": 436, + "src": "2238:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1411,10 +1411,10 @@ "typeString": "uint256" }, "typeName": { - "id": 371, + "id": 408, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2238:7:3", + "src": "2238:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1424,19 +1424,19 @@ "visibility": "internal" } ], - "src": "2237:9:3" + "src": "2237:9:4" }, - "scope": 486, - "src": "2180:459:3", + "scope": 523, + "src": "2180:459:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 415, + "id": 452, "nodeType": "Block", - "src": "3168:63:3", + "src": "3168:63:4", "statements": [ { "expression": { @@ -1444,12 +1444,12 @@ "arguments": [ { "argumentTypes": null, - "id": 410, + "id": 447, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "3189:1:3", + "referencedDeclaration": 439, + "src": "3189:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1457,12 +1457,12 @@ }, { "argumentTypes": null, - "id": 411, + "id": 448, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "3192:1:3", + "referencedDeclaration": 441, + "src": "3192:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1471,14 +1471,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 412, + "id": 449, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3195:28:3", + "src": "3195:28:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", @@ -1502,21 +1502,21 @@ "typeString": "literal_string \"SafeMath: division by zero\"" } ], - "id": 409, + "id": 446, "name": "div", "nodeType": "Identifier", "overloadedDeclarations": [ - 416, - 444 + 453, + 481 ], - "referencedDeclaration": 444, - "src": "3185:3:3", + "referencedDeclaration": 481, + "src": "3185:3:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 413, + "id": 450, "isConstant": false, "isLValue": false, "isPure": false, @@ -1524,27 +1524,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3185:39:3", + "src": "3185:39:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 408, - "id": 414, + "functionReturnParameters": 445, + "id": 451, "nodeType": "Return", - "src": "3178:46:3" + "src": "3178:46:4" } ] }, "documentation": { - "id": 400, + "id": 437, "nodeType": "StructuredDocumentation", - "src": "2645:451:3", + "src": "2645:451:4", "text": " @dev Returns the integer division of two unsigned integers. Reverts on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." }, - "id": 416, + "id": 453, "implemented": true, "kind": "function", "modifiers": [], @@ -1552,18 +1552,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 405, + "id": 442, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 402, + "id": 439, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 416, - "src": "3114:9:3", + "scope": 453, + "src": "3114:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1571,10 +1571,10 @@ "typeString": "uint256" }, "typeName": { - "id": 401, + "id": 438, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3114:7:3", + "src": "3114:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1585,13 +1585,13 @@ }, { "constant": false, - "id": 404, + "id": 441, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 416, - "src": "3125:9:3", + "scope": 453, + "src": "3125:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1599,10 +1599,10 @@ "typeString": "uint256" }, "typeName": { - "id": 403, + "id": 440, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3125:7:3", + "src": "3125:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1612,21 +1612,21 @@ "visibility": "internal" } ], - "src": "3113:22:3" + "src": "3113:22:4" }, "returnParameters": { - "id": 408, + "id": 445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 407, + "id": 444, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 416, - "src": "3159:7:3", + "scope": 453, + "src": "3159:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1634,10 +1634,10 @@ "typeString": "uint256" }, "typeName": { - "id": 406, + "id": 443, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3159:7:3", + "src": "3159:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1647,19 +1647,19 @@ "visibility": "internal" } ], - "src": "3158:9:3" + "src": "3158:9:4" }, - "scope": 486, - "src": "3101:130:3", + "scope": 523, + "src": "3101:130:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 443, + "id": 480, "nodeType": "Block", - "src": "3808:177:3", + "src": "3808:177:4", "statements": [ { "expression": { @@ -1671,19 +1671,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 431, + "id": 468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 429, + "id": 466, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "3826:1:3", + "referencedDeclaration": 458, + "src": "3826:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1694,14 +1694,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 430, + "id": 467, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3830:1:3", + "src": "3830:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1709,7 +1709,7 @@ }, "value": "0" }, - "src": "3826:5:3", + "src": "3826:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1717,12 +1717,12 @@ }, { "argumentTypes": null, - "id": 432, + "id": 469, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "3833:12:3", + "referencedDeclaration": 460, + "src": "3833:12:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1740,7 +1740,7 @@ "typeString": "string memory" } ], - "id": 428, + "id": 465, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1748,13 +1748,13 @@ -18 ], "referencedDeclaration": -18, - "src": "3818:7:3", + "src": "3818:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 433, + "id": 470, "isConstant": false, "isLValue": false, "isPure": false, @@ -1762,31 +1762,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3818:28:3", + "src": "3818:28:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 434, + "id": 471, "nodeType": "ExpressionStatement", - "src": "3818:28:3" + "src": "3818:28:4" }, { "assignments": [ - 436 + 473 ], "declarations": [ { "constant": false, - "id": 436, + "id": 473, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 443, - "src": "3856:9:3", + "scope": 480, + "src": "3856:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1794,10 +1794,10 @@ "typeString": "uint256" }, "typeName": { - "id": 435, + "id": 472, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3856:7:3", + "src": "3856:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1807,26 +1807,26 @@ "visibility": "internal" } ], - "id": 440, + "id": 477, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 439, + "id": 476, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 437, + "id": 474, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 419, - "src": "3868:1:3", + "referencedDeclaration": 456, + "src": "3868:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1836,54 +1836,54 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 438, + "id": 475, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "3872:1:3", + "referencedDeclaration": 458, + "src": "3872:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3868:5:3", + "src": "3868:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3856:17:3" + "src": "3856:17:4" }, { "expression": { "argumentTypes": null, - "id": 441, + "id": 478, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "3977:1:3", + "referencedDeclaration": 473, + "src": "3977:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 427, - "id": 442, + "functionReturnParameters": 464, + "id": 479, "nodeType": "Return", - "src": "3970:8:3" + "src": "3970:8:4" } ] }, "documentation": { - "id": 417, + "id": 454, "nodeType": "StructuredDocumentation", - "src": "3237:471:3", + "src": "3237:471:4", "text": " @dev Returns the integer division of two unsigned integers. Reverts with custom message on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." }, - "id": 444, + "id": 481, "implemented": true, "kind": "function", "modifiers": [], @@ -1891,18 +1891,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 424, + "id": 461, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 419, + "id": 456, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 444, - "src": "3726:9:3", + "scope": 481, + "src": "3726:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1910,10 +1910,10 @@ "typeString": "uint256" }, "typeName": { - "id": 418, + "id": 455, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3726:7:3", + "src": "3726:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1924,13 +1924,13 @@ }, { "constant": false, - "id": 421, + "id": 458, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 444, - "src": "3737:9:3", + "scope": 481, + "src": "3737:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1938,10 +1938,10 @@ "typeString": "uint256" }, "typeName": { - "id": 420, + "id": 457, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3737:7:3", + "src": "3737:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1952,13 +1952,13 @@ }, { "constant": false, - "id": 423, + "id": 460, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 444, - "src": "3748:26:3", + "scope": 481, + "src": "3748:26:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1966,10 +1966,10 @@ "typeString": "string" }, "typeName": { - "id": 422, + "id": 459, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3748:6:3", + "src": "3748:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1979,21 +1979,21 @@ "visibility": "internal" } ], - "src": "3725:50:3" + "src": "3725:50:4" }, "returnParameters": { - "id": 427, + "id": 464, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 426, + "id": 463, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 444, - "src": "3799:7:3", + "scope": 481, + "src": "3799:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2001,10 +2001,10 @@ "typeString": "uint256" }, "typeName": { - "id": 425, + "id": 462, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3799:7:3", + "src": "3799:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2014,19 +2014,19 @@ "visibility": "internal" } ], - "src": "3798:9:3" + "src": "3798:9:4" }, - "scope": 486, - "src": "3713:272:3", + "scope": 523, + "src": "3713:272:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 460, + "id": 497, "nodeType": "Block", - "src": "4503:61:3", + "src": "4503:61:4", "statements": [ { "expression": { @@ -2034,12 +2034,12 @@ "arguments": [ { "argumentTypes": null, - "id": 455, + "id": 492, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 447, - "src": "4524:1:3", + "referencedDeclaration": 484, + "src": "4524:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2047,12 +2047,12 @@ }, { "argumentTypes": null, - "id": 456, + "id": 493, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4527:1:3", + "referencedDeclaration": 486, + "src": "4527:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2061,14 +2061,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 457, + "id": 494, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4530:26:3", + "src": "4530:26:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", @@ -2092,21 +2092,21 @@ "typeString": "literal_string \"SafeMath: modulo by zero\"" } ], - "id": 454, + "id": 491, "name": "mod", "nodeType": "Identifier", "overloadedDeclarations": [ - 461, - 485 + 498, + 522 ], - "referencedDeclaration": 485, - "src": "4520:3:3", + "referencedDeclaration": 522, + "src": "4520:3:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 458, + "id": 495, "isConstant": false, "isLValue": false, "isPure": false, @@ -2114,27 +2114,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4520:37:3", + "src": "4520:37:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 453, - "id": 459, + "functionReturnParameters": 490, + "id": 496, "nodeType": "Return", - "src": "4513:44:3" + "src": "4513:44:4" } ] }, "documentation": { - "id": 445, + "id": 482, "nodeType": "StructuredDocumentation", - "src": "3991:440:3", + "src": "3991:440:4", "text": " @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n Reverts when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." }, - "id": 461, + "id": 498, "implemented": true, "kind": "function", "modifiers": [], @@ -2142,18 +2142,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 450, + "id": 487, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 447, + "id": 484, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 461, - "src": "4449:9:3", + "scope": 498, + "src": "4449:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2161,10 +2161,10 @@ "typeString": "uint256" }, "typeName": { - "id": 446, + "id": 483, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4449:7:3", + "src": "4449:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2175,13 +2175,13 @@ }, { "constant": false, - "id": 449, + "id": 486, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 461, - "src": "4460:9:3", + "scope": 498, + "src": "4460:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2189,10 +2189,10 @@ "typeString": "uint256" }, "typeName": { - "id": 448, + "id": 485, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4460:7:3", + "src": "4460:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2202,21 +2202,21 @@ "visibility": "internal" } ], - "src": "4448:22:3" + "src": "4448:22:4" }, "returnParameters": { - "id": 453, + "id": 490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 452, + "id": 489, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 461, - "src": "4494:7:3", + "scope": 498, + "src": "4494:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2224,10 +2224,10 @@ "typeString": "uint256" }, "typeName": { - "id": 451, + "id": 488, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4494:7:3", + "src": "4494:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2237,19 +2237,19 @@ "visibility": "internal" } ], - "src": "4493:9:3" + "src": "4493:9:4" }, - "scope": 486, - "src": "4436:128:3", + "scope": 523, + "src": "4436:128:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 484, + "id": 521, "nodeType": "Block", - "src": "5130:68:3", + "src": "5130:68:4", "statements": [ { "expression": { @@ -2261,19 +2261,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 476, + "id": 513, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 474, + "id": 511, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 466, - "src": "5148:1:3", + "referencedDeclaration": 503, + "src": "5148:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2284,14 +2284,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 475, + "id": 512, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5153:1:3", + "src": "5153:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2299,7 +2299,7 @@ }, "value": "0" }, - "src": "5148:6:3", + "src": "5148:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2307,12 +2307,12 @@ }, { "argumentTypes": null, - "id": 477, + "id": 514, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "5156:12:3", + "referencedDeclaration": 505, + "src": "5156:12:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -2330,7 +2330,7 @@ "typeString": "string memory" } ], - "id": 473, + "id": 510, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2338,13 +2338,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5140:7:3", + "src": "5140:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 478, + "id": 515, "isConstant": false, "isLValue": false, "isPure": false, @@ -2352,16 +2352,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5140:29:3", + "src": "5140:29:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 479, + "id": 516, "nodeType": "ExpressionStatement", - "src": "5140:29:3" + "src": "5140:29:4" }, { "expression": { @@ -2370,19 +2370,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 482, + "id": 519, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 480, + "id": 517, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "5186:1:3", + "referencedDeclaration": 501, + "src": "5186:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2392,37 +2392,37 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 481, + "id": 518, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 466, - "src": "5190:1:3", + "referencedDeclaration": 503, + "src": "5190:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5186:5:3", + "src": "5186:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 472, - "id": 483, + "functionReturnParameters": 509, + "id": 520, "nodeType": "Return", - "src": "5179:12:3" + "src": "5179:12:4" } ] }, "documentation": { - "id": 462, + "id": 499, "nodeType": "StructuredDocumentation", - "src": "4570:460:3", + "src": "4570:460:4", "text": " @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n Reverts with custom message when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." }, - "id": 485, + "id": 522, "implemented": true, "kind": "function", "modifiers": [], @@ -2430,18 +2430,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 469, + "id": 506, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 464, + "id": 501, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 485, - "src": "5048:9:3", + "scope": 522, + "src": "5048:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2449,10 +2449,10 @@ "typeString": "uint256" }, "typeName": { - "id": 463, + "id": 500, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5048:7:3", + "src": "5048:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2463,13 +2463,13 @@ }, { "constant": false, - "id": 466, + "id": 503, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 485, - "src": "5059:9:3", + "scope": 522, + "src": "5059:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2477,10 +2477,10 @@ "typeString": "uint256" }, "typeName": { - "id": 465, + "id": 502, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5059:7:3", + "src": "5059:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2491,13 +2491,13 @@ }, { "constant": false, - "id": 468, + "id": 505, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 485, - "src": "5070:26:3", + "scope": 522, + "src": "5070:26:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2505,10 +2505,10 @@ "typeString": "string" }, "typeName": { - "id": 467, + "id": 504, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5070:6:3", + "src": "5070:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2518,21 +2518,21 @@ "visibility": "internal" } ], - "src": "5047:50:3" + "src": "5047:50:4" }, "returnParameters": { - "id": 472, + "id": 509, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 471, + "id": 508, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 485, - "src": "5121:7:3", + "scope": 522, + "src": "5121:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2540,10 +2540,10 @@ "typeString": "uint256" }, "typeName": { - "id": 470, + "id": 507, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5121:7:3", + "src": "5121:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2553,34 +2553,34 @@ "visibility": "internal" } ], - "src": "5120:9:3" + "src": "5120:9:4" }, - "scope": 486, - "src": "5035:163:3", + "scope": 523, + "src": "5035:163:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 487, - "src": "622:4578:3" + "scope": 524, + "src": "622:4578:4" } ], - "src": "33:5168:3" + "src": "33:5168:4" }, "legacyAST": { "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 486 + 523 ] }, - "id": 487, + "id": 524, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 292, + "id": 329, "literals": [ "solidity", "^", @@ -2588,7 +2588,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "33:23:3" + "src": "33:23:4" }, { "abstract": false, @@ -2596,39 +2596,39 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 293, + "id": 330, "nodeType": "StructuredDocumentation", - "src": "58:563:3", + "src": "58:563:4", "text": " @dev Wrappers over Solidity's arithmetic operations with added overflow\n checks.\n Arithmetic operations in Solidity wrap on overflow. This can easily result\n in bugs, because programmers usually assume that an overflow raises an\n error, which is the standard behavior in high level programming languages.\n `SafeMath` restores this intuition by reverting the transaction when an\n operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always." }, "fullyImplemented": true, - "id": 486, + "id": 523, "linearizedBaseContracts": [ - 486 + 523 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 318, + "id": 355, "nodeType": "Block", - "src": "941:109:3", + "src": "941:109:4", "statements": [ { "assignments": [ - 304 + 341 ], "declarations": [ { "constant": false, - "id": 304, + "id": 341, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 318, - "src": "951:9:3", + "scope": 355, + "src": "951:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2636,10 +2636,10 @@ "typeString": "uint256" }, "typeName": { - "id": 303, + "id": 340, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "951:7:3", + "src": "951:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2649,26 +2649,26 @@ "visibility": "internal" } ], - "id": 308, + "id": 345, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 307, + "id": 344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 305, + "id": 342, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "963:1:3", + "referencedDeclaration": 333, + "src": "963:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2678,25 +2678,25 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 306, + "id": 343, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 298, - "src": "967:1:3", + "referencedDeclaration": 335, + "src": "967:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "963:5:3", + "src": "963:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "951:17:3" + "src": "951:17:4" }, { "expression": { @@ -2708,19 +2708,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 312, + "id": 349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 310, + "id": 347, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "986:1:3", + "referencedDeclaration": 341, + "src": "986:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2730,18 +2730,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 311, + "id": 348, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 296, - "src": "991:1:3", + "referencedDeclaration": 333, + "src": "991:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "986:6:3", + "src": "986:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2750,14 +2750,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 313, + "id": 350, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "994:29:3", + "src": "994:29:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", @@ -2777,7 +2777,7 @@ "typeString": "literal_string \"SafeMath: addition overflow\"" } ], - "id": 309, + "id": 346, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2785,13 +2785,13 @@ -18 ], "referencedDeclaration": -18, - "src": "978:7:3", + "src": "978:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 314, + "id": 351, "isConstant": false, "isLValue": false, "isPure": false, @@ -2799,45 +2799,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "978:46:3", + "src": "978:46:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 315, + "id": 352, "nodeType": "ExpressionStatement", - "src": "978:46:3" + "src": "978:46:4" }, { "expression": { "argumentTypes": null, - "id": 316, + "id": 353, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 304, - "src": "1042:1:3", + "referencedDeclaration": 341, + "src": "1042:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 302, - "id": 317, + "functionReturnParameters": 339, + "id": 354, "nodeType": "Return", - "src": "1035:8:3" + "src": "1035:8:4" } ] }, "documentation": { - "id": 294, + "id": 331, "nodeType": "StructuredDocumentation", - "src": "645:224:3", + "src": "645:224:4", "text": " @dev Returns the addition of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `+` operator.\n Requirements:\n - Addition cannot overflow." }, - "id": 319, + "id": 356, "implemented": true, "kind": "function", "modifiers": [], @@ -2845,18 +2845,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 299, + "id": 336, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 296, + "id": 333, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 319, - "src": "887:9:3", + "scope": 356, + "src": "887:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2864,10 +2864,10 @@ "typeString": "uint256" }, "typeName": { - "id": 295, + "id": 332, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "887:7:3", + "src": "887:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2878,13 +2878,13 @@ }, { "constant": false, - "id": 298, + "id": 335, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 319, - "src": "898:9:3", + "scope": 356, + "src": "898:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2892,10 +2892,10 @@ "typeString": "uint256" }, "typeName": { - "id": 297, + "id": 334, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "898:7:3", + "src": "898:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2905,21 +2905,21 @@ "visibility": "internal" } ], - "src": "886:22:3" + "src": "886:22:4" }, "returnParameters": { - "id": 302, + "id": 339, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 301, + "id": 338, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 319, - "src": "932:7:3", + "scope": 356, + "src": "932:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2927,10 +2927,10 @@ "typeString": "uint256" }, "typeName": { - "id": 300, + "id": 337, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "932:7:3", + "src": "932:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2940,19 +2940,19 @@ "visibility": "internal" } ], - "src": "931:9:3" + "src": "931:9:4" }, - "scope": 486, - "src": "874:176:3", + "scope": 523, + "src": "874:176:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 335, + "id": 372, "nodeType": "Block", - "src": "1388:67:3", + "src": "1388:67:4", "statements": [ { "expression": { @@ -2960,12 +2960,12 @@ "arguments": [ { "argumentTypes": null, - "id": 330, + "id": 367, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 322, - "src": "1409:1:3", + "referencedDeclaration": 359, + "src": "1409:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2973,12 +2973,12 @@ }, { "argumentTypes": null, - "id": 331, + "id": 368, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 324, - "src": "1412:1:3", + "referencedDeclaration": 361, + "src": "1412:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2987,14 +2987,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 332, + "id": 369, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1415:32:3", + "src": "1415:32:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", @@ -3018,21 +3018,21 @@ "typeString": "literal_string \"SafeMath: subtraction overflow\"" } ], - "id": 329, + "id": 366, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [ - 336, - 364 + 373, + 401 ], - "referencedDeclaration": 364, - "src": "1405:3:3", + "referencedDeclaration": 401, + "src": "1405:3:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 333, + "id": 370, "isConstant": false, "isLValue": false, "isPure": false, @@ -3040,27 +3040,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1405:43:3", + "src": "1405:43:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 328, - "id": 334, + "functionReturnParameters": 365, + "id": 371, "nodeType": "Return", - "src": "1398:50:3" + "src": "1398:50:4" } ] }, "documentation": { - "id": 320, + "id": 357, "nodeType": "StructuredDocumentation", - "src": "1056:260:3", + "src": "1056:260:4", "text": " @dev Returns the subtraction of two unsigned integers, reverting on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow." }, - "id": 336, + "id": 373, "implemented": true, "kind": "function", "modifiers": [], @@ -3068,18 +3068,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 325, + "id": 362, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 322, + "id": 359, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 336, - "src": "1334:9:3", + "scope": 373, + "src": "1334:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3087,10 +3087,10 @@ "typeString": "uint256" }, "typeName": { - "id": 321, + "id": 358, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1334:7:3", + "src": "1334:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3101,13 +3101,13 @@ }, { "constant": false, - "id": 324, + "id": 361, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 336, - "src": "1345:9:3", + "scope": 373, + "src": "1345:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3115,10 +3115,10 @@ "typeString": "uint256" }, "typeName": { - "id": 323, + "id": 360, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1345:7:3", + "src": "1345:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3128,21 +3128,21 @@ "visibility": "internal" } ], - "src": "1333:22:3" + "src": "1333:22:4" }, "returnParameters": { - "id": 328, + "id": 365, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 327, + "id": 364, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 336, - "src": "1379:7:3", + "scope": 373, + "src": "1379:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3150,10 +3150,10 @@ "typeString": "uint256" }, "typeName": { - "id": 326, + "id": 363, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1379:7:3", + "src": "1379:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3163,19 +3163,19 @@ "visibility": "internal" } ], - "src": "1378:9:3" + "src": "1378:9:4" }, - "scope": 486, - "src": "1321:134:3", + "scope": 523, + "src": "1321:134:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 363, + "id": 400, "nodeType": "Block", - "src": "1841:92:3", + "src": "1841:92:4", "statements": [ { "expression": { @@ -3187,19 +3187,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 351, + "id": 388, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 349, + "id": 386, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "1859:1:3", + "referencedDeclaration": 378, + "src": "1859:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3209,18 +3209,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 350, + "id": 387, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "1864:1:3", + "referencedDeclaration": 376, + "src": "1864:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1859:6:3", + "src": "1859:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3228,12 +3228,12 @@ }, { "argumentTypes": null, - "id": 352, + "id": 389, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "1867:12:3", + "referencedDeclaration": 380, + "src": "1867:12:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3251,7 +3251,7 @@ "typeString": "string memory" } ], - "id": 348, + "id": 385, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3259,13 +3259,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1851:7:3", + "src": "1851:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 353, + "id": 390, "isConstant": false, "isLValue": false, "isPure": false, @@ -3273,31 +3273,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1851:29:3", + "src": "1851:29:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 354, + "id": 391, "nodeType": "ExpressionStatement", - "src": "1851:29:3" + "src": "1851:29:4" }, { "assignments": [ - 356 + 393 ], "declarations": [ { "constant": false, - "id": 356, + "id": 393, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 363, - "src": "1890:9:3", + "scope": 400, + "src": "1890:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3305,10 +3305,10 @@ "typeString": "uint256" }, "typeName": { - "id": 355, + "id": 392, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1890:7:3", + "src": "1890:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3318,26 +3318,26 @@ "visibility": "internal" } ], - "id": 360, + "id": 397, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 359, + "id": 396, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 357, + "id": 394, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 339, - "src": "1902:1:3", + "referencedDeclaration": 376, + "src": "1902:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3347,54 +3347,54 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 358, + "id": 395, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "1906:1:3", + "referencedDeclaration": 378, + "src": "1906:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1902:5:3", + "src": "1902:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1890:17:3" + "src": "1890:17:4" }, { "expression": { "argumentTypes": null, - "id": 361, + "id": 398, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 356, - "src": "1925:1:3", + "referencedDeclaration": 393, + "src": "1925:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 347, - "id": 362, + "functionReturnParameters": 384, + "id": 399, "nodeType": "Return", - "src": "1918:8:3" + "src": "1918:8:4" } ] }, "documentation": { - "id": 337, + "id": 374, "nodeType": "StructuredDocumentation", - "src": "1461:280:3", + "src": "1461:280:4", "text": " @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow." }, - "id": 364, + "id": 401, "implemented": true, "kind": "function", "modifiers": [], @@ -3402,18 +3402,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 344, + "id": 381, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 339, + "id": 376, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 364, - "src": "1759:9:3", + "scope": 401, + "src": "1759:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3421,10 +3421,10 @@ "typeString": "uint256" }, "typeName": { - "id": 338, + "id": 375, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1759:7:3", + "src": "1759:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3435,13 +3435,13 @@ }, { "constant": false, - "id": 341, + "id": 378, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 364, - "src": "1770:9:3", + "scope": 401, + "src": "1770:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3449,10 +3449,10 @@ "typeString": "uint256" }, "typeName": { - "id": 340, + "id": 377, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1770:7:3", + "src": "1770:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3463,13 +3463,13 @@ }, { "constant": false, - "id": 343, + "id": 380, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 364, - "src": "1781:26:3", + "scope": 401, + "src": "1781:26:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3477,10 +3477,10 @@ "typeString": "string" }, "typeName": { - "id": 342, + "id": 379, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1781:6:3", + "src": "1781:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3490,21 +3490,21 @@ "visibility": "internal" } ], - "src": "1758:50:3" + "src": "1758:50:4" }, "returnParameters": { - "id": 347, + "id": 384, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 346, + "id": 383, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 364, - "src": "1832:7:3", + "scope": 401, + "src": "1832:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3512,10 +3512,10 @@ "typeString": "uint256" }, "typeName": { - "id": 345, + "id": 382, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1832:7:3", + "src": "1832:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3525,19 +3525,19 @@ "visibility": "internal" } ], - "src": "1831:9:3" + "src": "1831:9:4" }, - "scope": 486, - "src": "1746:187:3", + "scope": 523, + "src": "1746:187:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 398, + "id": 435, "nodeType": "Block", - "src": "2247:392:3", + "src": "2247:392:4", "statements": [ { "condition": { @@ -3546,19 +3546,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 376, + "id": 413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 374, + "id": 411, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "2479:1:3", + "referencedDeclaration": 404, + "src": "2479:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3569,14 +3569,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 375, + "id": 412, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2484:1:3", + "src": "2484:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3584,33 +3584,33 @@ }, "value": "0" }, - "src": "2479:6:3", + "src": "2479:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 380, + "id": 417, "nodeType": "IfStatement", - "src": "2475:45:3", + "src": "2475:45:4", "trueBody": { - "id": 379, + "id": 416, "nodeType": "Block", - "src": "2487:33:3", + "src": "2487:33:4", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 377, + "id": 414, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2508:1:3", + "src": "2508:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3618,28 +3618,28 @@ }, "value": "0" }, - "functionReturnParameters": 373, - "id": 378, + "functionReturnParameters": 410, + "id": 415, "nodeType": "Return", - "src": "2501:8:3" + "src": "2501:8:4" } ] } }, { "assignments": [ - 382 + 419 ], "declarations": [ { "constant": false, - "id": 382, + "id": 419, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 398, - "src": "2530:9:3", + "scope": 435, + "src": "2530:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3647,10 +3647,10 @@ "typeString": "uint256" }, "typeName": { - "id": 381, + "id": 418, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2530:7:3", + "src": "2530:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3660,26 +3660,26 @@ "visibility": "internal" } ], - "id": 386, + "id": 423, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 385, + "id": 422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 383, + "id": 420, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "2542:1:3", + "referencedDeclaration": 404, + "src": "2542:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3689,25 +3689,25 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 384, + "id": 421, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "2546:1:3", + "referencedDeclaration": 406, + "src": "2546:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2542:5:3", + "src": "2542:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2530:17:3" + "src": "2530:17:4" }, { "expression": { @@ -3719,7 +3719,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 392, + "id": 429, "isConstant": false, "isLValue": false, "isPure": false, @@ -3730,19 +3730,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 390, + "id": 427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 388, + "id": 425, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 382, - "src": "2565:1:3", + "referencedDeclaration": 419, + "src": "2565:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3752,18 +3752,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 389, + "id": 426, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 367, - "src": "2569:1:3", + "referencedDeclaration": 404, + "src": "2569:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2565:5:3", + "src": "2565:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3773,18 +3773,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 391, + "id": 428, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "2574:1:3", + "referencedDeclaration": 406, + "src": "2574:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2565:10:3", + "src": "2565:10:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3793,14 +3793,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 393, + "id": 430, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2577:35:3", + "src": "2577:35:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", @@ -3820,7 +3820,7 @@ "typeString": "literal_string \"SafeMath: multiplication overflow\"" } ], - "id": 387, + "id": 424, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3828,13 +3828,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2557:7:3", + "src": "2557:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 394, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, @@ -3842,45 +3842,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2557:56:3", + "src": "2557:56:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 395, + "id": 432, "nodeType": "ExpressionStatement", - "src": "2557:56:3" + "src": "2557:56:4" }, { "expression": { "argumentTypes": null, - "id": 396, + "id": 433, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 382, - "src": "2631:1:3", + "referencedDeclaration": 419, + "src": "2631:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 373, - "id": 397, + "functionReturnParameters": 410, + "id": 434, "nodeType": "Return", - "src": "2624:8:3" + "src": "2624:8:4" } ] }, "documentation": { - "id": 365, + "id": 402, "nodeType": "StructuredDocumentation", - "src": "1939:236:3", + "src": "1939:236:4", "text": " @dev Returns the multiplication of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `*` operator.\n Requirements:\n - Multiplication cannot overflow." }, - "id": 399, + "id": 436, "implemented": true, "kind": "function", "modifiers": [], @@ -3888,18 +3888,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 370, + "id": 407, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 367, + "id": 404, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 399, - "src": "2193:9:3", + "scope": 436, + "src": "2193:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3907,10 +3907,10 @@ "typeString": "uint256" }, "typeName": { - "id": 366, + "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2193:7:3", + "src": "2193:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3921,13 +3921,13 @@ }, { "constant": false, - "id": 369, + "id": 406, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 399, - "src": "2204:9:3", + "scope": 436, + "src": "2204:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3935,10 +3935,10 @@ "typeString": "uint256" }, "typeName": { - "id": 368, + "id": 405, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2204:7:3", + "src": "2204:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3948,21 +3948,21 @@ "visibility": "internal" } ], - "src": "2192:22:3" + "src": "2192:22:4" }, "returnParameters": { - "id": 373, + "id": 410, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 372, + "id": 409, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 399, - "src": "2238:7:3", + "scope": 436, + "src": "2238:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3970,10 +3970,10 @@ "typeString": "uint256" }, "typeName": { - "id": 371, + "id": 408, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2238:7:3", + "src": "2238:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3983,19 +3983,19 @@ "visibility": "internal" } ], - "src": "2237:9:3" + "src": "2237:9:4" }, - "scope": 486, - "src": "2180:459:3", + "scope": 523, + "src": "2180:459:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 415, + "id": 452, "nodeType": "Block", - "src": "3168:63:3", + "src": "3168:63:4", "statements": [ { "expression": { @@ -4003,12 +4003,12 @@ "arguments": [ { "argumentTypes": null, - "id": 410, + "id": 447, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "3189:1:3", + "referencedDeclaration": 439, + "src": "3189:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4016,12 +4016,12 @@ }, { "argumentTypes": null, - "id": 411, + "id": 448, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "3192:1:3", + "referencedDeclaration": 441, + "src": "3192:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4030,14 +4030,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 412, + "id": 449, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3195:28:3", + "src": "3195:28:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", @@ -4061,21 +4061,21 @@ "typeString": "literal_string \"SafeMath: division by zero\"" } ], - "id": 409, + "id": 446, "name": "div", "nodeType": "Identifier", "overloadedDeclarations": [ - 416, - 444 + 453, + 481 ], - "referencedDeclaration": 444, - "src": "3185:3:3", + "referencedDeclaration": 481, + "src": "3185:3:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 413, + "id": 450, "isConstant": false, "isLValue": false, "isPure": false, @@ -4083,27 +4083,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3185:39:3", + "src": "3185:39:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 408, - "id": 414, + "functionReturnParameters": 445, + "id": 451, "nodeType": "Return", - "src": "3178:46:3" + "src": "3178:46:4" } ] }, "documentation": { - "id": 400, + "id": 437, "nodeType": "StructuredDocumentation", - "src": "2645:451:3", + "src": "2645:451:4", "text": " @dev Returns the integer division of two unsigned integers. Reverts on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." }, - "id": 416, + "id": 453, "implemented": true, "kind": "function", "modifiers": [], @@ -4111,18 +4111,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 405, + "id": 442, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 402, + "id": 439, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 416, - "src": "3114:9:3", + "scope": 453, + "src": "3114:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4130,10 +4130,10 @@ "typeString": "uint256" }, "typeName": { - "id": 401, + "id": 438, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3114:7:3", + "src": "3114:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4144,13 +4144,13 @@ }, { "constant": false, - "id": 404, + "id": 441, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 416, - "src": "3125:9:3", + "scope": 453, + "src": "3125:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4158,10 +4158,10 @@ "typeString": "uint256" }, "typeName": { - "id": 403, + "id": 440, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3125:7:3", + "src": "3125:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4171,21 +4171,21 @@ "visibility": "internal" } ], - "src": "3113:22:3" + "src": "3113:22:4" }, "returnParameters": { - "id": 408, + "id": 445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 407, + "id": 444, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 416, - "src": "3159:7:3", + "scope": 453, + "src": "3159:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4193,10 +4193,10 @@ "typeString": "uint256" }, "typeName": { - "id": 406, + "id": 443, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3159:7:3", + "src": "3159:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4206,19 +4206,19 @@ "visibility": "internal" } ], - "src": "3158:9:3" + "src": "3158:9:4" }, - "scope": 486, - "src": "3101:130:3", + "scope": 523, + "src": "3101:130:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 443, + "id": 480, "nodeType": "Block", - "src": "3808:177:3", + "src": "3808:177:4", "statements": [ { "expression": { @@ -4230,19 +4230,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 431, + "id": 468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 429, + "id": 466, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "3826:1:3", + "referencedDeclaration": 458, + "src": "3826:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4253,14 +4253,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 430, + "id": 467, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3830:1:3", + "src": "3830:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4268,7 +4268,7 @@ }, "value": "0" }, - "src": "3826:5:3", + "src": "3826:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4276,12 +4276,12 @@ }, { "argumentTypes": null, - "id": 432, + "id": 469, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "3833:12:3", + "referencedDeclaration": 460, + "src": "3833:12:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4299,7 +4299,7 @@ "typeString": "string memory" } ], - "id": 428, + "id": 465, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4307,13 +4307,13 @@ -18 ], "referencedDeclaration": -18, - "src": "3818:7:3", + "src": "3818:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 433, + "id": 470, "isConstant": false, "isLValue": false, "isPure": false, @@ -4321,31 +4321,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3818:28:3", + "src": "3818:28:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 434, + "id": 471, "nodeType": "ExpressionStatement", - "src": "3818:28:3" + "src": "3818:28:4" }, { "assignments": [ - 436 + 473 ], "declarations": [ { "constant": false, - "id": 436, + "id": 473, "mutability": "mutable", "name": "c", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 443, - "src": "3856:9:3", + "scope": 480, + "src": "3856:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4353,10 +4353,10 @@ "typeString": "uint256" }, "typeName": { - "id": 435, + "id": 472, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3856:7:3", + "src": "3856:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4366,26 +4366,26 @@ "visibility": "internal" } ], - "id": 440, + "id": 477, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 439, + "id": 476, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 437, + "id": 474, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 419, - "src": "3868:1:3", + "referencedDeclaration": 456, + "src": "3868:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4395,54 +4395,54 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 438, + "id": 475, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "3872:1:3", + "referencedDeclaration": 458, + "src": "3872:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3868:5:3", + "src": "3868:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3856:17:3" + "src": "3856:17:4" }, { "expression": { "argumentTypes": null, - "id": 441, + "id": 478, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 436, - "src": "3977:1:3", + "referencedDeclaration": 473, + "src": "3977:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 427, - "id": 442, + "functionReturnParameters": 464, + "id": 479, "nodeType": "Return", - "src": "3970:8:3" + "src": "3970:8:4" } ] }, "documentation": { - "id": 417, + "id": 454, "nodeType": "StructuredDocumentation", - "src": "3237:471:3", + "src": "3237:471:4", "text": " @dev Returns the integer division of two unsigned integers. Reverts with custom message on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." }, - "id": 444, + "id": 481, "implemented": true, "kind": "function", "modifiers": [], @@ -4450,18 +4450,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 424, + "id": 461, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 419, + "id": 456, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 444, - "src": "3726:9:3", + "scope": 481, + "src": "3726:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4469,10 +4469,10 @@ "typeString": "uint256" }, "typeName": { - "id": 418, + "id": 455, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3726:7:3", + "src": "3726:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4483,13 +4483,13 @@ }, { "constant": false, - "id": 421, + "id": 458, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 444, - "src": "3737:9:3", + "scope": 481, + "src": "3737:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4497,10 +4497,10 @@ "typeString": "uint256" }, "typeName": { - "id": 420, + "id": 457, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3737:7:3", + "src": "3737:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4511,13 +4511,13 @@ }, { "constant": false, - "id": 423, + "id": 460, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 444, - "src": "3748:26:3", + "scope": 481, + "src": "3748:26:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4525,10 +4525,10 @@ "typeString": "string" }, "typeName": { - "id": 422, + "id": 459, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3748:6:3", + "src": "3748:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4538,21 +4538,21 @@ "visibility": "internal" } ], - "src": "3725:50:3" + "src": "3725:50:4" }, "returnParameters": { - "id": 427, + "id": 464, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 426, + "id": 463, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 444, - "src": "3799:7:3", + "scope": 481, + "src": "3799:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4560,10 +4560,10 @@ "typeString": "uint256" }, "typeName": { - "id": 425, + "id": 462, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3799:7:3", + "src": "3799:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4573,19 +4573,19 @@ "visibility": "internal" } ], - "src": "3798:9:3" + "src": "3798:9:4" }, - "scope": 486, - "src": "3713:272:3", + "scope": 523, + "src": "3713:272:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 460, + "id": 497, "nodeType": "Block", - "src": "4503:61:3", + "src": "4503:61:4", "statements": [ { "expression": { @@ -4593,12 +4593,12 @@ "arguments": [ { "argumentTypes": null, - "id": 455, + "id": 492, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 447, - "src": "4524:1:3", + "referencedDeclaration": 484, + "src": "4524:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4606,12 +4606,12 @@ }, { "argumentTypes": null, - "id": 456, + "id": 493, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 449, - "src": "4527:1:3", + "referencedDeclaration": 486, + "src": "4527:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4620,14 +4620,14 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 457, + "id": 494, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4530:26:3", + "src": "4530:26:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", @@ -4651,21 +4651,21 @@ "typeString": "literal_string \"SafeMath: modulo by zero\"" } ], - "id": 454, + "id": 491, "name": "mod", "nodeType": "Identifier", "overloadedDeclarations": [ - 461, - 485 + 498, + 522 ], - "referencedDeclaration": 485, - "src": "4520:3:3", + "referencedDeclaration": 522, + "src": "4520:3:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 458, + "id": 495, "isConstant": false, "isLValue": false, "isPure": false, @@ -4673,27 +4673,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4520:37:3", + "src": "4520:37:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 453, - "id": 459, + "functionReturnParameters": 490, + "id": 496, "nodeType": "Return", - "src": "4513:44:3" + "src": "4513:44:4" } ] }, "documentation": { - "id": 445, + "id": 482, "nodeType": "StructuredDocumentation", - "src": "3991:440:3", + "src": "3991:440:4", "text": " @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n Reverts when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." }, - "id": 461, + "id": 498, "implemented": true, "kind": "function", "modifiers": [], @@ -4701,18 +4701,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 450, + "id": 487, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 447, + "id": 484, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 461, - "src": "4449:9:3", + "scope": 498, + "src": "4449:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4720,10 +4720,10 @@ "typeString": "uint256" }, "typeName": { - "id": 446, + "id": 483, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4449:7:3", + "src": "4449:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4734,13 +4734,13 @@ }, { "constant": false, - "id": 449, + "id": 486, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 461, - "src": "4460:9:3", + "scope": 498, + "src": "4460:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4748,10 +4748,10 @@ "typeString": "uint256" }, "typeName": { - "id": 448, + "id": 485, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4460:7:3", + "src": "4460:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4761,21 +4761,21 @@ "visibility": "internal" } ], - "src": "4448:22:3" + "src": "4448:22:4" }, "returnParameters": { - "id": 453, + "id": 490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 452, + "id": 489, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 461, - "src": "4494:7:3", + "scope": 498, + "src": "4494:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4783,10 +4783,10 @@ "typeString": "uint256" }, "typeName": { - "id": 451, + "id": 488, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4494:7:3", + "src": "4494:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4796,19 +4796,19 @@ "visibility": "internal" } ], - "src": "4493:9:3" + "src": "4493:9:4" }, - "scope": 486, - "src": "4436:128:3", + "scope": 523, + "src": "4436:128:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 484, + "id": 521, "nodeType": "Block", - "src": "5130:68:3", + "src": "5130:68:4", "statements": [ { "expression": { @@ -4820,19 +4820,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 476, + "id": 513, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 474, + "id": 511, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 466, - "src": "5148:1:3", + "referencedDeclaration": 503, + "src": "5148:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4843,14 +4843,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 475, + "id": 512, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5153:1:3", + "src": "5153:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4858,7 +4858,7 @@ }, "value": "0" }, - "src": "5148:6:3", + "src": "5148:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4866,12 +4866,12 @@ }, { "argumentTypes": null, - "id": 477, + "id": 514, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 468, - "src": "5156:12:3", + "referencedDeclaration": 505, + "src": "5156:12:4", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4889,7 +4889,7 @@ "typeString": "string memory" } ], - "id": 473, + "id": 510, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4897,13 +4897,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5140:7:3", + "src": "5140:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 478, + "id": 515, "isConstant": false, "isLValue": false, "isPure": false, @@ -4911,16 +4911,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5140:29:3", + "src": "5140:29:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 479, + "id": 516, "nodeType": "ExpressionStatement", - "src": "5140:29:3" + "src": "5140:29:4" }, { "expression": { @@ -4929,19 +4929,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 482, + "id": 519, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 480, + "id": 517, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "5186:1:3", + "referencedDeclaration": 501, + "src": "5186:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4951,37 +4951,37 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 481, + "id": 518, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 466, - "src": "5190:1:3", + "referencedDeclaration": 503, + "src": "5190:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5186:5:3", + "src": "5186:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 472, - "id": 483, + "functionReturnParameters": 509, + "id": 520, "nodeType": "Return", - "src": "5179:12:3" + "src": "5179:12:4" } ] }, "documentation": { - "id": 462, + "id": 499, "nodeType": "StructuredDocumentation", - "src": "4570:460:3", + "src": "4570:460:4", "text": " @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n Reverts with custom message when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." }, - "id": 485, + "id": 522, "implemented": true, "kind": "function", "modifiers": [], @@ -4989,18 +4989,18 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 469, + "id": 506, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 464, + "id": 501, "mutability": "mutable", "name": "a", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 485, - "src": "5048:9:3", + "scope": 522, + "src": "5048:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5008,10 +5008,10 @@ "typeString": "uint256" }, "typeName": { - "id": 463, + "id": 500, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5048:7:3", + "src": "5048:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5022,13 +5022,13 @@ }, { "constant": false, - "id": 466, + "id": 503, "mutability": "mutable", "name": "b", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 485, - "src": "5059:9:3", + "scope": 522, + "src": "5059:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5036,10 +5036,10 @@ "typeString": "uint256" }, "typeName": { - "id": 465, + "id": 502, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5059:7:3", + "src": "5059:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5050,13 +5050,13 @@ }, { "constant": false, - "id": 468, + "id": 505, "mutability": "mutable", "name": "errorMessage", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 485, - "src": "5070:26:3", + "scope": 522, + "src": "5070:26:4", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5064,10 +5064,10 @@ "typeString": "string" }, "typeName": { - "id": 467, + "id": 504, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5070:6:3", + "src": "5070:6:4", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5077,21 +5077,21 @@ "visibility": "internal" } ], - "src": "5047:50:3" + "src": "5047:50:4" }, "returnParameters": { - "id": 472, + "id": 509, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 471, + "id": 508, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 485, - "src": "5121:7:3", + "scope": 522, + "src": "5121:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5099,10 +5099,10 @@ "typeString": "uint256" }, "typeName": { - "id": 470, + "id": 507, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5121:7:3", + "src": "5121:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5112,20 +5112,20 @@ "visibility": "internal" } ], - "src": "5120:9:3" + "src": "5120:9:4" }, - "scope": 486, - "src": "5035:163:3", + "scope": 523, + "src": "5035:163:4", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 487, - "src": "622:4578:3" + "scope": 524, + "src": "622:4578:4" } ], - "src": "33:5168:3" + "src": "33:5168:4" }, "compiler": { "name": "solc", @@ -5133,7 +5133,7 @@ }, "networks": {}, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-18T06:25:03.662Z", + "updatedAt": "2020-09-20T09:59:34.418Z", "devdoc": { "details": "Wrappers over Solidity's arithmetic operations with added overflow checks. Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.", "kind": "dev", diff --git a/contracts/ReportInfo.sol b/contracts/ReportInfo.sol new file mode 100644 index 0000000..9d00984 --- /dev/null +++ b/contracts/ReportInfo.sol @@ -0,0 +1,19 @@ +pragma solidity ^0.6.0; + +contract ReportInfo{ + string reportHash; + struct Report { + string _reportHash; + } + Report[] public Reports; + + function set(string memory _reportHash) public { + + reportHash = _reportHash; + Reports.push(Report(reportHash)); + } + + function get() public view returns (string memory) { + return reportHash; + } +} \ No newline at end of file diff --git a/migrations/3_ReportInfo.js b/migrations/3_ReportInfo.js new file mode 100644 index 0000000..5a3f301 --- /dev/null +++ b/migrations/3_ReportInfo.js @@ -0,0 +1,5 @@ +var ReportInfo = artifacts.require("ReportInfo"); + +module.exports = function (deployer) { + deployer.deploy(ReportInfo); +} \ No newline at end of file From 653836e13000731cf6e61a350929e67e8e53edf7 Mon Sep 17 00:00:00 2001 From: Nishino0719 Date: Sat, 26 Sep 2020 13:53:15 +0900 Subject: [PATCH 2/4] add set and get function --- build/contracts/Migrations.json | 6 +- build/contracts/ReportInfo.json | 1388 +++++++++++++++++++++++------- build/contracts/ReportToken.json | 6 +- contracts/ReportInfo.sol | 15 +- 4 files changed, 1083 insertions(+), 332 deletions(-) diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 398a797..9c8090e 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -897,12 +897,12 @@ "5777": { "events": {}, "links": {}, - "address": "0x2F286cbDA76F76ee62518F257988ECFdb5013e9a", - "transactionHash": "0xbfaf5e046c53feccfe933762263a307c270fe93acc92c2f78338964415f7f648" + "address": "0x52b8a966C4FF46e65644A695a64CF713C4E83aA6", + "transactionHash": "0x49bcaf360132f33375d660b5fc172e6179760057b921a1f05513d4c869c96ac9" } }, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-20T10:00:00.497Z", + "updatedAt": "2020-09-26T04:52:20.287Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/ReportInfo.json b/build/contracts/ReportInfo.json index c912c58..6ae3eae 100644 --- a/build/contracts/ReportInfo.json +++ b/build/contracts/ReportInfo.json @@ -13,8 +13,18 @@ "outputs": [ { "internalType": "string", - "name": "_reportHash", + "name": "userAddress", + "type": "string" + }, + { + "internalType": "string", + "name": "reportHash", "type": "string" + }, + { + "internalType": "uint16", + "name": "downloads", + "type": "uint16" } ], "stateMutability": "view", @@ -23,10 +33,20 @@ }, { "inputs": [ + { + "internalType": "string", + "name": "_userAddress", + "type": "string" + }, { "internalType": "string", "name": "_reportHash", "type": "string" + }, + { + "internalType": "uint16", + "name": "_downloads", + "type": "uint16" } ], "name": "set", @@ -35,13 +55,29 @@ "type": "function" }, { - "inputs": [], + "inputs": [ + { + "internalType": "uint256", + "name": "_index", + "type": "uint256" + } + ], "name": "get", "outputs": [ { "internalType": "string", "name": "", "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "uint16", + "name": "", + "type": "uint16" } ], "stateMutability": "view", @@ -49,22 +85,22 @@ "constant": true } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Reports\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_reportHash\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_reportHash\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":\"ReportInfo\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":{\"keccak256\":\"0xafe89dcf94eedd6b78262683751b7449340c5761d8de009b422c0badef02f639\",\"urls\":[\"bzz-raw://6df52de8025eae036ed1626c5857c40dd9f614f736fe228b9b139d76da71e638\",\"dweb:/ipfs/QmQHkiUGJBmVzRQnahNzp1U7CTs8PLj34VSi6EfRkLLUh6\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50610568806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063467f2cd8146100465780634ed3885e146100ed5780636d4ce63c146101a8575b600080fd5b6100726004803603602081101561005c57600080fd5b810190808035906020019092919050505061022b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100b2578082015181840152602081019050610097565b50505050905090810190601f1680156100df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a66004803603602081101561010357600080fd5b810190808035906020019064010000000081111561012057600080fd5b82018360208201111561013257600080fd5b8035906020019184600183028401116401000000008311171561015457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506102ea565b005b6101b06103f3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f05780820151818401526020810190506101d5565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6001818154811061023857fe5b90600052602060002001600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102e05780601f106102b5576101008083540402835291602001916102e0565b820191906000526020600020905b8154815290600101906020018083116102c357829003601f168201915b5050505050905081565b8060009080519060200190610300929190610495565b506001604051806020016040528060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103a45780601f10610379576101008083540402835291602001916103a4565b820191906000526020600020905b81548152906001019060200180831161038757829003601f168201915b50505050508152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000190805190602001906103ed929190610495565b50505050565b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561048b5780601f106104605761010080835404028352916020019161048b565b820191906000526020600020905b81548152906001019060200180831161046e57829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106104d657805160ff1916838001178555610504565b82800160010185558215610504579182015b828111156105035782518255916020019190600101906104e8565b5b5090506105119190610515565b5090565b5b8082111561052e576000816000905550600101610516565b509056fea2646970667358221220587c0a8a030d049d434f75a4d204e05a108d551f4ff71f0708d2e7a8ae1671fc64736f6c634300060c0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063467f2cd8146100465780634ed3885e146100ed5780636d4ce63c146101a8575b600080fd5b6100726004803603602081101561005c57600080fd5b810190808035906020019092919050505061022b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100b2578082015181840152602081019050610097565b50505050905090810190601f1680156100df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a66004803603602081101561010357600080fd5b810190808035906020019064010000000081111561012057600080fd5b82018360208201111561013257600080fd5b8035906020019184600183028401116401000000008311171561015457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506102ea565b005b6101b06103f3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f05780820151818401526020810190506101d5565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6001818154811061023857fe5b90600052602060002001600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102e05780601f106102b5576101008083540402835291602001916102e0565b820191906000526020600020905b8154815290600101906020018083116102c357829003601f168201915b5050505050905081565b8060009080519060200190610300929190610495565b506001604051806020016040528060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103a45780601f10610379576101008083540402835291602001916103a4565b820191906000526020600020905b81548152906001019060200180831161038757829003601f168201915b50505050508152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000190805190602001906103ed929190610495565b50505050565b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561048b5780601f106104605761010080835404028352916020019161048b565b820191906000526020600020905b81548152906001019060200180831161046e57829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106104d657805160ff1916838001178555610504565b82800160010185558215610504579182015b828111156105035782518255916020019190600101906104e8565b5b5090506105119190610515565b5090565b5b8082111561052e576000816000905550600101610516565b509056fea2646970667358221220587c0a8a030d049d434f75a4d204e05a108d551f4ff71f0708d2e7a8ae1671fc64736f6c634300060c0033", + "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Reports\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"userAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"reportHash\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"downloads\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_userAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_reportHash\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"_downloads\",\"type\":\"uint16\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":\"ReportInfo\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":{\"keccak256\":\"0x6d16ee94dbc180e2c810febbefe84dbaccbe83b874ea661492b861dae6f67da1\",\"urls\":[\"bzz-raw://2e89446c5f8a79287957bf639c95e447449734b636ddc3252d7774d21ad93974\",\"dweb:/ipfs/QmNhKQMyrx36Pms1o6jBJyjFsygvi36szFPfXer6xkBTSc\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5061088b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063467f2cd8146100465780639507d39a146101645780639583134714610282575b600080fd5b6100726004803603602081101561005c57600080fd5b81019080803590602001909291905050506103e2565b6040518080602001806020018461ffff168152602001838103835286818151815260200191508051906020019080838360005b838110156100c05780820151818401526020810190506100a5565b50505050905090810190601f1680156100ed5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561012657808201518184015260208101905061010b565b50505050905090810190601f1680156101535780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6101906004803603602081101561017a57600080fd5b8101908080359060200190929190505050610557565b6040518080602001806020018461ffff168152602001838103835286818151815260200191508051906020019080838360005b838110156101de5780820151818401526020810190506101c3565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015610244578082015181840152602081019050610229565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6103e06004803603606081101561029857600080fd5b81019080803590602001906401000000008111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460018302840111640100000000831117156102e957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561034c57600080fd5b82018360208201111561035e57600080fd5b8035906020019184600183028401116401000000008311171561038057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803561ffff16906020019092919050505061070a565b005b600181815481106103ef57fe5b9060005260206000209060030201600091509050806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049b5780601f106104705761010080835404028352916020019161049b565b820191906000526020600020905b81548152906001019060200180831161047e57829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105395780601f1061050e57610100808354040283529160200191610539565b820191906000526020600020905b81548152906001019060200180831161051c57829003601f168201915b5050505050908060020160009054906101000a900461ffff16905083565b60608060006001848154811061056957fe5b90600052602060002090600302016000016001858154811061058757fe5b9060005260206000209060030201600101600186815481106105a557fe5b906000526020600020906003020160020160009054906101000a900461ffff16828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561065a5780601f1061062f5761010080835404028352916020019161065a565b820191906000526020600020905b81548152906001019060200180831161063d57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106f65780601f106106cb576101008083540402835291602001916106f6565b820191906000526020600020905b8154815290600101906020018083116106d957829003601f168201915b505050505091509250925092509193909250565b600160405180606001604052808581526020018481526020018361ffff16815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000190805190602001906107709291906107b8565b50602082015181600101908051906020019061078d9291906107b8565b5060408201518160020160006101000a81548161ffff021916908361ffff1602179055505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107f957805160ff1916838001178555610827565b82800160010185558215610827579182015b8281111561082657825182559160200191906001019061080b565b5b5090506108349190610838565b5090565b5b80821115610851576000816000905550600101610839565b509056fea26469706673582212202db0b4c17e4728219a8e724bcdfefe5bb5064d0889dcaf89d21983b1b015df4964736f6c634300060c0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063467f2cd8146100465780639507d39a146101645780639583134714610282575b600080fd5b6100726004803603602081101561005c57600080fd5b81019080803590602001909291905050506103e2565b6040518080602001806020018461ffff168152602001838103835286818151815260200191508051906020019080838360005b838110156100c05780820151818401526020810190506100a5565b50505050905090810190601f1680156100ed5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561012657808201518184015260208101905061010b565b50505050905090810190601f1680156101535780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6101906004803603602081101561017a57600080fd5b8101908080359060200190929190505050610557565b6040518080602001806020018461ffff168152602001838103835286818151815260200191508051906020019080838360005b838110156101de5780820151818401526020810190506101c3565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015610244578082015181840152602081019050610229565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6103e06004803603606081101561029857600080fd5b81019080803590602001906401000000008111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460018302840111640100000000831117156102e957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561034c57600080fd5b82018360208201111561035e57600080fd5b8035906020019184600183028401116401000000008311171561038057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803561ffff16906020019092919050505061070a565b005b600181815481106103ef57fe5b9060005260206000209060030201600091509050806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049b5780601f106104705761010080835404028352916020019161049b565b820191906000526020600020905b81548152906001019060200180831161047e57829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105395780601f1061050e57610100808354040283529160200191610539565b820191906000526020600020905b81548152906001019060200180831161051c57829003601f168201915b5050505050908060020160009054906101000a900461ffff16905083565b60608060006001848154811061056957fe5b90600052602060002090600302016000016001858154811061058757fe5b9060005260206000209060030201600101600186815481106105a557fe5b906000526020600020906003020160020160009054906101000a900461ffff16828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561065a5780601f1061062f5761010080835404028352916020019161065a565b820191906000526020600020905b81548152906001019060200180831161063d57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106f65780601f106106cb576101008083540402835291602001916106f6565b820191906000526020600020905b8154815290600101906020018083116106d957829003601f168201915b505050505091509250925092509193909250565b600160405180606001604052808581526020018481526020018361ffff16815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000190805190602001906107709291906107b8565b50602082015181600101908051906020019061078d9291906107b8565b5060408201518160020160006101000a81548161ffff021916908361ffff1602179055505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107f957805160ff1916838001178555610827565b82800160010185558215610827579182015b8281111561082657825182559160200191906001019061080b565b5b5090506108349190610838565b5090565b5b80821115610851576000816000905550600101610839565b509056fea26469706673582212202db0b4c17e4728219a8e724bcdfefe5bb5064d0889dcaf89d21983b1b015df4964736f6c634300060c0033", "immutableReferences": {}, - "sourceMap": "25:399:1:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "25:399:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;170:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;200:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;337:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;170:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;200:131::-;271:11;258:10;:24;;;;;;;;;;;;:::i;:::-;;292:7;305:18;;;;;;;;312:10;305:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;292:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;200:131;:::o;337:85::-;373:13;405:10;398:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;337:85;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.6.0;\n\ncontract ReportInfo{\n string reportHash;\n // constructor(){\n struct Report {\n string _reportHash;\n }\n // }\n Report[] public Reports;\n\n function set(string memory _reportHash) public {\n\n reportHash = _reportHash;\n Reports.push(Report(reportHash));\n }\n\n function get() public view returns (string memory) {\n return reportHash;\n }\n}", + "sourceMap": "25:559:1:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "25:559:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;180:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;391:191;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;180:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;391:191::-;438:13;452;466:6;492:7;500:6;492:15;;;;;;;;;;;;;;;;;;:27;;521:7;529:6;521:15;;;;;;;;;;;;;;;;;;:26;;549:7;557:6;549:15;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;484:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;391:191;;;;;:::o;210:175::-;321:7;334:43;;;;;;;;341:12;334:43;;;;354:11;334:43;;;;366:10;334:43;;;;;321:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:175;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.6.0;\n\ncontract ReportInfo{\n string reportHash;\n struct Report {\n string userAddress;\n string reportHash;\n uint16 downloads;\n }\n Report[] public Reports;\n\n function set(string memory _userAddress,string memory _reportHash,uint16 _downloads) public {\n \n Reports.push(Report(_userAddress,_reportHash,_downloads));\n }\n\n function get(uint _index) public view returns (string memory,string memory,uint16) {\n return (Reports[_index].userAddress, Reports[_index].reportHash, Reports[_index].downloads);\n }\n}", "sourcePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", "ast": { "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", "exportedSymbols": { "ReportInfo": [ - 69 + 93 ] }, - "id": 70, + "id": 94, "license": null, "nodeType": "SourceUnit", "nodes": [ @@ -86,9 +122,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 69, + "id": 93, "linearizedBaseContracts": [ - 69 + 93 ], "name": "ReportInfo", "nodeType": "ContractDefinition", @@ -100,7 +136,7 @@ "name": "reportHash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 69, + "scope": 93, "src": "50:17:1", "stateVariable": true, "storageLocation": "default", @@ -123,17 +159,17 @@ }, { "canonicalName": "ReportInfo.Report", - "id": 39, + "id": 43, "members": [ { "constant": false, "id": 38, "mutability": "mutable", - "name": "_reportHash", + "name": "userAddress", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 39, - "src": "127:18:1", + "scope": 43, + "src": "97:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -144,7 +180,35 @@ "id": 37, "name": "string", "nodeType": "ElementaryTypeName", - "src": "127:6:1", + "src": "97:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 40, + "mutability": "mutable", + "name": "reportHash", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "125:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 39, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "125:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -152,49 +216,77 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 42, + "mutability": "mutable", + "name": "downloads", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "152:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 41, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "152:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": null, + "visibility": "internal" } ], "name": "Report", "nodeType": "StructDefinition", - "scope": 69, - "src": "99:57:1", + "scope": 93, + "src": "73:102:1", "visibility": "public" }, { "constant": false, "functionSelector": "467f2cd8", - "id": 42, + "id": 46, "mutability": "mutable", "name": "Reports", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 69, - "src": "170:23:1", + "scope": 93, + "src": "180:23:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", "typeString": "struct ReportInfo.Report[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 40, + "id": 44, "name": "Report", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 39, - "src": "170:6:1", + "referencedDeclaration": 43, + "src": "180:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$39_storage_ptr", + "typeIdentifier": "t_struct$_Report_$43_storage_ptr", "typeString": "struct ReportInfo.Report" } }, - "id": 41, + "id": 45, "length": null, "nodeType": "ArrayTypeName", - "src": "170:8:1", + "src": "180:8:1", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage_ptr", "typeString": "struct ReportInfo.Report[]" } }, @@ -203,56 +295,10 @@ }, { "body": { - "id": 59, + "id": 65, "nodeType": "Block", - "src": "247:84:1", + "src": "302:83:1", "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 49, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 47, - "name": "reportHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "258:10:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 48, - "name": "_reportHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44, - "src": "271:11:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "258:24:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 50, - "nodeType": "ExpressionStatement", - "src": "258:24:1" - }, { "expression": { "argumentTypes": null, @@ -262,37 +308,71 @@ "arguments": [ { "argumentTypes": null, - "id": 55, - "name": "reportHash", + "id": 59, + "name": "_userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "341:12:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 60, + "name": "_reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "354:11:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 61, + "name": "_downloads", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "312:10:1", + "referencedDeclaration": 52, + "src": "366:10:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" } ], - "id": 54, + "id": 58, "name": "Report", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "305:6:1", + "referencedDeclaration": 43, + "src": "334:6:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Report_$39_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Report_$43_storage_ptr_$", "typeString": "type(struct ReportInfo.Report storage pointer)" } }, - "id": 56, + "id": 62, "isConstant": false, "isLValue": false, "isPure": false, @@ -300,10 +380,10 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "305:18:1", + "src": "334:43:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$39_memory_ptr", + "typeIdentifier": "t_struct$_Report_$43_memory_ptr", "typeString": "struct ReportInfo.Report memory" } } @@ -311,24 +391,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Report_$39_memory_ptr", + "typeIdentifier": "t_struct$_Report_$43_memory_ptr", "typeString": "struct ReportInfo.Report memory" } ], "expression": { "argumentTypes": null, - "id": 51, + "id": 55, "name": "Reports", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 42, - "src": "292:7:1", + "referencedDeclaration": 46, + "src": "321:7:1", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", "typeString": "struct ReportInfo.Report storage ref[] storage ref" } }, - "id": 53, + "id": 57, "isConstant": false, "isLValue": false, "isPure": false, @@ -336,13 +416,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "292:12:1", + "src": "321:12:1", "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Report_$39_storage_$returns$__$", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Report_$43_storage_$returns$__$", "typeString": "function (struct ReportInfo.Report storage ref)" } }, - "id": 57, + "id": 63, "isConstant": false, "isLValue": false, "isPure": false, @@ -350,22 +430,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "292:32:1", + "src": "321:57:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 58, + "id": 64, "nodeType": "ExpressionStatement", - "src": "292:32:1" + "src": "321:57:1" } ] }, "documentation": null, - "functionSelector": "4ed3885e", - "id": 60, + "functionSelector": "95831347", + "id": 66, "implemented": true, "kind": "function", "modifiers": [], @@ -373,18 +453,46 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 45, + "id": 53, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44, + "id": 48, + "mutability": "mutable", + "name": "_userAddress", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 66, + "src": "223:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 47, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "223:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 50, "mutability": "mutable", "name": "_reportHash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 60, - "src": "213:25:1", + "scope": 66, + "src": "250:25:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -392,10 +500,10 @@ "typeString": "string" }, "typeName": { - "id": 43, + "id": 49, "name": "string", "nodeType": "ElementaryTypeName", - "src": "213:6:1", + "src": "250:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -403,52 +511,252 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 52, + "mutability": "mutable", + "name": "_downloads", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 66, + "src": "276:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 51, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "276:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "212:27:1" + "src": "222:72:1" }, "returnParameters": { - "id": 46, + "id": 54, "nodeType": "ParameterList", "parameters": [], - "src": "247:0:1" + "src": "302:0:1" }, - "scope": 69, - "src": "200:131:1", + "scope": 93, + "src": "210:175:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 67, + "id": 91, "nodeType": "Block", - "src": "388:34:1", + "src": "474:108:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 65, - "name": "reportHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "405:10:1", + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 77, + "name": "Reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "492:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report storage ref[] storage ref" + } + }, + "id": 79, + "indexExpression": { + "argumentTypes": null, + "id": 78, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "500:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "492:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$43_storage", + "typeString": "struct ReportInfo.Report storage ref" + } + }, + "id": 80, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 38, + "src": "492:27:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 81, + "name": "Reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "521:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report storage ref[] storage ref" + } + }, + "id": 83, + "indexExpression": { + "argumentTypes": null, + "id": 82, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "529:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "521:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$43_storage", + "typeString": "struct ReportInfo.Report storage ref" + } + }, + "id": 84, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reportHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 40, + "src": "521:26:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 85, + "name": "Reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "549:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report storage ref[] storage ref" + } + }, + "id": 87, + "indexExpression": { + "argumentTypes": null, + "id": 86, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "557:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "549:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$43_storage", + "typeString": "struct ReportInfo.Report storage ref" + } + }, + "id": 88, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "downloads", + "nodeType": "MemberAccess", + "referencedDeclaration": 42, + "src": "549:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "id": 89, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "491:84:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_tuple$_t_string_storage_$_t_string_storage_$_t_uint16_$", + "typeString": "tuple(string storage ref,string storage ref,uint16)" } }, - "functionReturnParameters": 64, - "id": 66, + "functionReturnParameters": 76, + "id": 90, "nodeType": "Return", - "src": "398:17:1" + "src": "484:91:1" } ] }, "documentation": null, - "functionSelector": "6d4ce63c", - "id": 68, + "functionSelector": "9507d39a", + "id": 92, "implemented": true, "kind": "function", "modifiers": [], @@ -456,24 +764,53 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 61, + "id": 69, "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:1" + "parameters": [ + { + "constant": false, + "id": 68, + "mutability": "mutable", + "name": "_index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 92, + "src": "404:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "404:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "403:13:1" }, "returnParameters": { - "id": 64, + "id": 76, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 63, + "id": 71, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 68, - "src": "373:13:1", + "scope": 92, + "src": "438:13:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -481,10 +818,10 @@ "typeString": "string" }, "typeName": { - "id": 62, + "id": 70, "name": "string", "nodeType": "ElementaryTypeName", - "src": "373:6:1", + "src": "438:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -492,40 +829,96 @@ }, "value": null, "visibility": "internal" - } - ], - "src": "372:15:1" - }, - "scope": 69, - "src": "337:85:1", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 70, - "src": "25:399:1" - } - ], - "src": "0:424:1" - }, - "legacyAST": { - "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", - "exportedSymbols": { - "ReportInfo": [ - 69 - ] - }, - "id": 70, - "license": null, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 34, - "literals": [ - "solidity", - "^", - "0.6", + }, + { + "constant": false, + "id": 73, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 92, + "src": "452:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 72, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "452:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 75, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 92, + "src": "466:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 74, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "466:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "437:36:1" + }, + "scope": 93, + "src": "391:191:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 94, + "src": "25:559:1" + } + ], + "src": "0:584:1" + }, + "legacyAST": { + "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", + "exportedSymbols": { + "ReportInfo": [ + 93 + ] + }, + "id": 94, + "license": null, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 34, + "literals": [ + "solidity", + "^", + "0.6", ".0" ], "nodeType": "PragmaDirective", @@ -538,9 +931,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 69, + "id": 93, "linearizedBaseContracts": [ - 69 + 93 ], "name": "ReportInfo", "nodeType": "ContractDefinition", @@ -552,7 +945,7 @@ "name": "reportHash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 69, + "scope": 93, "src": "50:17:1", "stateVariable": true, "storageLocation": "default", @@ -575,17 +968,17 @@ }, { "canonicalName": "ReportInfo.Report", - "id": 39, + "id": 43, "members": [ { "constant": false, "id": 38, "mutability": "mutable", - "name": "_reportHash", + "name": "userAddress", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 39, - "src": "127:18:1", + "scope": 43, + "src": "97:18:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -596,7 +989,35 @@ "id": 37, "name": "string", "nodeType": "ElementaryTypeName", - "src": "127:6:1", + "src": "97:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 40, + "mutability": "mutable", + "name": "reportHash", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "125:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 39, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "125:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -604,49 +1025,77 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 42, + "mutability": "mutable", + "name": "downloads", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 43, + "src": "152:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 41, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "152:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": null, + "visibility": "internal" } ], "name": "Report", "nodeType": "StructDefinition", - "scope": 69, - "src": "99:57:1", + "scope": 93, + "src": "73:102:1", "visibility": "public" }, { "constant": false, "functionSelector": "467f2cd8", - "id": 42, + "id": 46, "mutability": "mutable", "name": "Reports", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 69, - "src": "170:23:1", + "scope": 93, + "src": "180:23:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", "typeString": "struct ReportInfo.Report[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 40, + "id": 44, "name": "Report", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 39, - "src": "170:6:1", + "referencedDeclaration": 43, + "src": "180:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$39_storage_ptr", + "typeIdentifier": "t_struct$_Report_$43_storage_ptr", "typeString": "struct ReportInfo.Report" } }, - "id": 41, + "id": 45, "length": null, "nodeType": "ArrayTypeName", - "src": "170:8:1", + "src": "180:8:1", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage_ptr", "typeString": "struct ReportInfo.Report[]" } }, @@ -655,56 +1104,10 @@ }, { "body": { - "id": 59, + "id": 65, "nodeType": "Block", - "src": "247:84:1", + "src": "302:83:1", "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 49, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 47, - "name": "reportHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "258:10:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 48, - "name": "_reportHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 44, - "src": "271:11:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "258:24:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 50, - "nodeType": "ExpressionStatement", - "src": "258:24:1" - }, { "expression": { "argumentTypes": null, @@ -714,37 +1117,71 @@ "arguments": [ { "argumentTypes": null, - "id": 55, - "name": "reportHash", + "id": 59, + "name": "_userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "341:12:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 60, + "name": "_reportHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "312:10:1", + "referencedDeclaration": 50, + "src": "354:11:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 61, + "name": "_downloads", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 52, + "src": "366:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" } ], - "id": 54, + "id": 58, "name": "Report", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "305:6:1", + "referencedDeclaration": 43, + "src": "334:6:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Report_$39_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Report_$43_storage_ptr_$", "typeString": "type(struct ReportInfo.Report storage pointer)" } }, - "id": 56, + "id": 62, "isConstant": false, "isLValue": false, "isPure": false, @@ -752,10 +1189,10 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "305:18:1", + "src": "334:43:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$39_memory_ptr", + "typeIdentifier": "t_struct$_Report_$43_memory_ptr", "typeString": "struct ReportInfo.Report memory" } } @@ -763,24 +1200,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Report_$39_memory_ptr", + "typeIdentifier": "t_struct$_Report_$43_memory_ptr", "typeString": "struct ReportInfo.Report memory" } ], "expression": { "argumentTypes": null, - "id": 51, + "id": 55, "name": "Reports", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 42, - "src": "292:7:1", + "referencedDeclaration": 46, + "src": "321:7:1", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$39_storage_$dyn_storage", + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", "typeString": "struct ReportInfo.Report storage ref[] storage ref" } }, - "id": 53, + "id": 57, "isConstant": false, "isLValue": false, "isPure": false, @@ -788,13 +1225,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "292:12:1", + "src": "321:12:1", "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Report_$39_storage_$returns$__$", + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Report_$43_storage_$returns$__$", "typeString": "function (struct ReportInfo.Report storage ref)" } }, - "id": 57, + "id": 63, "isConstant": false, "isLValue": false, "isPure": false, @@ -802,22 +1239,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "292:32:1", + "src": "321:57:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 58, + "id": 64, "nodeType": "ExpressionStatement", - "src": "292:32:1" + "src": "321:57:1" } ] }, "documentation": null, - "functionSelector": "4ed3885e", - "id": 60, + "functionSelector": "95831347", + "id": 66, "implemented": true, "kind": "function", "modifiers": [], @@ -825,18 +1262,46 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 45, + "id": 53, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 44, + "id": 48, + "mutability": "mutable", + "name": "_userAddress", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 66, + "src": "223:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 47, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "223:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 50, "mutability": "mutable", "name": "_reportHash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 60, - "src": "213:25:1", + "scope": 66, + "src": "250:25:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -844,10 +1309,10 @@ "typeString": "string" }, "typeName": { - "id": 43, + "id": 49, "name": "string", "nodeType": "ElementaryTypeName", - "src": "213:6:1", + "src": "250:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -855,52 +1320,252 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 52, + "mutability": "mutable", + "name": "_downloads", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 66, + "src": "276:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 51, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "276:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "212:27:1" + "src": "222:72:1" }, "returnParameters": { - "id": 46, + "id": 54, "nodeType": "ParameterList", "parameters": [], - "src": "247:0:1" + "src": "302:0:1" }, - "scope": 69, - "src": "200:131:1", + "scope": 93, + "src": "210:175:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 67, + "id": 91, "nodeType": "Block", - "src": "388:34:1", + "src": "474:108:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 65, - "name": "reportHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 36, - "src": "405:10:1", + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 77, + "name": "Reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "492:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report storage ref[] storage ref" + } + }, + "id": 79, + "indexExpression": { + "argumentTypes": null, + "id": 78, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "500:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "492:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$43_storage", + "typeString": "struct ReportInfo.Report storage ref" + } + }, + "id": 80, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 38, + "src": "492:27:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 81, + "name": "Reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "521:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report storage ref[] storage ref" + } + }, + "id": 83, + "indexExpression": { + "argumentTypes": null, + "id": 82, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "529:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "521:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$43_storage", + "typeString": "struct ReportInfo.Report storage ref" + } + }, + "id": 84, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reportHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 40, + "src": "521:26:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 85, + "name": "Reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "549:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", + "typeString": "struct ReportInfo.Report storage ref[] storage ref" + } + }, + "id": 87, + "indexExpression": { + "argumentTypes": null, + "id": 86, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "557:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "549:15:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Report_$43_storage", + "typeString": "struct ReportInfo.Report storage ref" + } + }, + "id": 88, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "downloads", + "nodeType": "MemberAccess", + "referencedDeclaration": 42, + "src": "549:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "id": 89, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "491:84:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_tuple$_t_string_storage_$_t_string_storage_$_t_uint16_$", + "typeString": "tuple(string storage ref,string storage ref,uint16)" } }, - "functionReturnParameters": 64, - "id": 66, + "functionReturnParameters": 76, + "id": 90, "nodeType": "Return", - "src": "398:17:1" + "src": "484:91:1" } ] }, "documentation": null, - "functionSelector": "6d4ce63c", - "id": 68, + "functionSelector": "9507d39a", + "id": 92, "implemented": true, "kind": "function", "modifiers": [], @@ -908,24 +1573,81 @@ "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 61, + "id": 69, "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:1" + "parameters": [ + { + "constant": false, + "id": 68, + "mutability": "mutable", + "name": "_index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 92, + "src": "404:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "404:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "403:13:1" }, "returnParameters": { - "id": 64, + "id": 76, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 63, + "id": 71, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 92, + "src": "438:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 70, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "438:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 73, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 68, - "src": "373:13:1", + "scope": 92, + "src": "452:13:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -933,10 +1655,10 @@ "typeString": "string" }, "typeName": { - "id": 62, + "id": 72, "name": "string", "nodeType": "ElementaryTypeName", - "src": "373:6:1", + "src": "452:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -944,22 +1666,50 @@ }, "value": null, "visibility": "internal" + }, + { + "constant": false, + "id": 75, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 92, + "src": "466:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 74, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "466:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": null, + "visibility": "internal" } ], - "src": "372:15:1" + "src": "437:36:1" }, - "scope": 69, - "src": "337:85:1", + "scope": 93, + "src": "391:191:1", "stateMutability": "view", "virtual": false, "visibility": "public" } ], - "scope": 70, - "src": "25:399:1" + "scope": 94, + "src": "25:559:1" } ], - "src": "0:424:1" + "src": "0:584:1" }, "compiler": { "name": "solc", @@ -969,12 +1719,12 @@ "5777": { "events": {}, "links": {}, - "address": "0xE9DEd4E4abaBEF3d580A5bcF051D866dcFE3d999", - "transactionHash": "0xf5af4947144e832f7c942a8b975d14384a49da33d8cd4142f610a8318607a178" + "address": "0x4B41f9f31A6E9e5Ea9500A34BA18752BEa7f62A8", + "transactionHash": "0x6aa409f45b99a4bfc82583e8341cfa022133cce15263d877a642535a10773435" } }, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-20T10:00:00.495Z", + "updatedAt": "2020-09-26T04:52:20.286Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/ReportToken.json b/build/contracts/ReportToken.json index eb34ea0..f7fc9ed 100644 --- a/build/contracts/ReportToken.json +++ b/build/contracts/ReportToken.json @@ -6682,12 +6682,12 @@ } }, "links": {}, - "address": "0x783aB6Cb29c49661B972491b3bE4B9D5fcc57438", - "transactionHash": "0xeb6ba54c3eeaa49df19ebb20ef10d2538111ba9a61f42c6dcdcdb834d2244cff" + "address": "0x0C049575ad3E866ef587F441dDBF576848b05c54", + "transactionHash": "0x8eaf6da91e1da3406b391eef1f962b4e065a3310a9fd256bad6e18534f55682f" } }, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-20T10:00:00.210Z", + "updatedAt": "2020-09-26T04:52:20.065Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/contracts/ReportInfo.sol b/contracts/ReportInfo.sol index 9d00984..fe8d07e 100644 --- a/contracts/ReportInfo.sol +++ b/contracts/ReportInfo.sol @@ -3,17 +3,18 @@ pragma solidity ^0.6.0; contract ReportInfo{ string reportHash; struct Report { - string _reportHash; + string userAddress; + string reportHash; + uint16 downloads; } Report[] public Reports; - function set(string memory _reportHash) public { - - reportHash = _reportHash; - Reports.push(Report(reportHash)); + function set(string memory _userAddress,string memory _reportHash,uint16 _downloads) public { + + Reports.push(Report(_userAddress,_reportHash,_downloads)); } - function get() public view returns (string memory) { - return reportHash; + function get(uint _index) public view returns (string memory,string memory,uint16) { + return (Reports[_index].userAddress, Reports[_index].reportHash, Reports[_index].downloads); } } \ No newline at end of file From de125d0f05466eba1a3e2f1a0c0db9494a53a286 Mon Sep 17 00:00:00 2001 From: Nishino0719 Date: Mon, 28 Sep 2020 18:53:54 +0900 Subject: [PATCH 3/4] add mapping and change functions --- contracts/ReportInfo.sol | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/contracts/ReportInfo.sol b/contracts/ReportInfo.sol index fe8d07e..21b7f5a 100644 --- a/contracts/ReportInfo.sol +++ b/contracts/ReportInfo.sol @@ -1,20 +1,31 @@ pragma solidity ^0.6.0; contract ReportInfo{ - string reportHash; - struct Report { - string userAddress; - string reportHash; - uint16 downloads; + //mapping + mapping(address => uint16) public reportId; + mapping(address => mapping(uint16 => string)) public reports; + + + //レポートを共有した時に呼び出される関数 + //引数はレポートのハッシュ値 + //set + function setReport(string memory _reportHash) public returns(uint16){ + reportId[msg.sender]++; + reports[msg.sender][reportId[msg.sender]] = _reportHash; + return reportId[msg.sender]; } - Report[] public Reports; - function set(string memory _userAddress,string memory _reportHash,uint16 _downloads) public { - - Reports.push(Report(_userAddress,_reportHash,_downloads)); + //自分が共有したレポートを見る時の関数 + //引数はレポートのID(インデックス) + //get owner report + function getOwnerReport(uint16 _index) public view returns (string memory) { + return reports[msg.sender][_index]; } - function get(uint _index) public view returns (string memory,string memory,uint16) { - return (Reports[_index].userAddress, Reports[_index].reportHash, Reports[_index].downloads); + //購入したレポートを見る時の関数 + //引数はレポートのID(インデックス)とそのレポートをシェアしたアカウントのアドレス + //get report + function getReport(uint16 _index,address _shareAddress) public view returns (string memory){ + return reports[_shareAddress][_index]; } } \ No newline at end of file From 6d0451c15edda56f99e7e35693016feb15f0d8e0 Mon Sep 17 00:00:00 2001 From: Nishino0719 Date: Tue, 29 Sep 2020 15:11:07 +0900 Subject: [PATCH 4/4] add json files --- build/contracts/Migrations.json | 6 +- build/contracts/ReportInfo.json | 2318 +++++++++++++++++------------- build/contracts/ReportToken.json | 6 +- 3 files changed, 1295 insertions(+), 1035 deletions(-) diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 9c8090e..0e522e5 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -897,12 +897,12 @@ "5777": { "events": {}, "links": {}, - "address": "0x52b8a966C4FF46e65644A695a64CF713C4E83aA6", - "transactionHash": "0x49bcaf360132f33375d660b5fc172e6179760057b921a1f05513d4c869c96ac9" + "address": "0xDA4b9A13204F74D5349dEf80183F8F2BDe218067", + "transactionHash": "0x211ef9fdc5511836c52f0d8355ad5161576c334bc74f79abecc5470e09dd6116" } }, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-26T04:52:20.287Z", + "updatedAt": "2020-09-28T09:52:46.242Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/ReportInfo.json b/build/contracts/ReportInfo.json index 6ae3eae..fb21cc8 100644 --- a/build/contracts/ReportInfo.json +++ b/build/contracts/ReportInfo.json @@ -4,26 +4,16 @@ { "inputs": [ { - "internalType": "uint256", + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], - "name": "Reports", + "name": "reportId", "outputs": [ - { - "internalType": "string", - "name": "userAddress", - "type": "string" - }, - { - "internalType": "string", - "name": "reportHash", - "type": "string" - }, { "internalType": "uint16", - "name": "downloads", + "name": "", "type": "uint16" } ], @@ -33,51 +23,87 @@ }, { "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "name": "reports", + "outputs": [ { "internalType": "string", - "name": "_userAddress", + "name": "", "type": "string" - }, + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ { "internalType": "string", "name": "_reportHash", "type": "string" - }, + } + ], + "name": "setReport", + "outputs": [ { "internalType": "uint16", - "name": "_downloads", + "name": "", "type": "uint16" } ], - "name": "set", - "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { - "internalType": "uint256", + "internalType": "uint16", "name": "_index", - "type": "uint256" + "type": "uint16" } ], - "name": "get", + "name": "getOwnerReport", "outputs": [ { "internalType": "string", "name": "", "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint16", + "name": "_index", + "type": "uint16" }, + { + "internalType": "address", + "name": "_shareAddress", + "type": "address" + } + ], + "name": "getReport", + "outputs": [ { "internalType": "string", "name": "", "type": "string" - }, - { - "internalType": "uint16", - "name": "", - "type": "uint16" } ], "stateMutability": "view", @@ -85,22 +111,22 @@ "constant": true } ], - "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Reports\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"userAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"reportHash\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"downloads\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_userAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_reportHash\",\"type\":\"string\"},{\"internalType\":\"uint16\",\"name\":\"_downloads\",\"type\":\"uint16\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":\"ReportInfo\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":{\"keccak256\":\"0x6d16ee94dbc180e2c810febbefe84dbaccbe83b874ea661492b861dae6f67da1\",\"urls\":[\"bzz-raw://2e89446c5f8a79287957bf639c95e447449734b636ddc3252d7774d21ad93974\",\"dweb:/ipfs/QmNhKQMyrx36Pms1o6jBJyjFsygvi36szFPfXer6xkBTSc\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061088b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063467f2cd8146100465780639507d39a146101645780639583134714610282575b600080fd5b6100726004803603602081101561005c57600080fd5b81019080803590602001909291905050506103e2565b6040518080602001806020018461ffff168152602001838103835286818151815260200191508051906020019080838360005b838110156100c05780820151818401526020810190506100a5565b50505050905090810190601f1680156100ed5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561012657808201518184015260208101905061010b565b50505050905090810190601f1680156101535780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6101906004803603602081101561017a57600080fd5b8101908080359060200190929190505050610557565b6040518080602001806020018461ffff168152602001838103835286818151815260200191508051906020019080838360005b838110156101de5780820151818401526020810190506101c3565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015610244578082015181840152602081019050610229565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6103e06004803603606081101561029857600080fd5b81019080803590602001906401000000008111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460018302840111640100000000831117156102e957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561034c57600080fd5b82018360208201111561035e57600080fd5b8035906020019184600183028401116401000000008311171561038057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803561ffff16906020019092919050505061070a565b005b600181815481106103ef57fe5b9060005260206000209060030201600091509050806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049b5780601f106104705761010080835404028352916020019161049b565b820191906000526020600020905b81548152906001019060200180831161047e57829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105395780601f1061050e57610100808354040283529160200191610539565b820191906000526020600020905b81548152906001019060200180831161051c57829003601f168201915b5050505050908060020160009054906101000a900461ffff16905083565b60608060006001848154811061056957fe5b90600052602060002090600302016000016001858154811061058757fe5b9060005260206000209060030201600101600186815481106105a557fe5b906000526020600020906003020160020160009054906101000a900461ffff16828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561065a5780601f1061062f5761010080835404028352916020019161065a565b820191906000526020600020905b81548152906001019060200180831161063d57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106f65780601f106106cb576101008083540402835291602001916106f6565b820191906000526020600020905b8154815290600101906020018083116106d957829003601f168201915b505050505091509250925092509193909250565b600160405180606001604052808581526020018481526020018361ffff16815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000190805190602001906107709291906107b8565b50602082015181600101908051906020019061078d9291906107b8565b5060408201518160020160006101000a81548161ffff021916908361ffff1602179055505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107f957805160ff1916838001178555610827565b82800160010185558215610827579182015b8281111561082657825182559160200191906001019061080b565b5b5090506108349190610838565b5090565b5b80821115610851576000816000905550600101610839565b509056fea26469706673582212202db0b4c17e4728219a8e724bcdfefe5bb5064d0889dcaf89d21983b1b015df4964736f6c634300060c0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063467f2cd8146100465780639507d39a146101645780639583134714610282575b600080fd5b6100726004803603602081101561005c57600080fd5b81019080803590602001909291905050506103e2565b6040518080602001806020018461ffff168152602001838103835286818151815260200191508051906020019080838360005b838110156100c05780820151818401526020810190506100a5565b50505050905090810190601f1680156100ed5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561012657808201518184015260208101905061010b565b50505050905090810190601f1680156101535780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6101906004803603602081101561017a57600080fd5b8101908080359060200190929190505050610557565b6040518080602001806020018461ffff168152602001838103835286818151815260200191508051906020019080838360005b838110156101de5780820151818401526020810190506101c3565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015610244578082015181840152602081019050610229565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b6103e06004803603606081101561029857600080fd5b81019080803590602001906401000000008111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460018302840111640100000000831117156102e957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561034c57600080fd5b82018360208201111561035e57600080fd5b8035906020019184600183028401116401000000008311171561038057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803561ffff16906020019092919050505061070a565b005b600181815481106103ef57fe5b9060005260206000209060030201600091509050806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561049b5780601f106104705761010080835404028352916020019161049b565b820191906000526020600020905b81548152906001019060200180831161047e57829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105395780601f1061050e57610100808354040283529160200191610539565b820191906000526020600020905b81548152906001019060200180831161051c57829003601f168201915b5050505050908060020160009054906101000a900461ffff16905083565b60608060006001848154811061056957fe5b90600052602060002090600302016000016001858154811061058757fe5b9060005260206000209060030201600101600186815481106105a557fe5b906000526020600020906003020160020160009054906101000a900461ffff16828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561065a5780601f1061062f5761010080835404028352916020019161065a565b820191906000526020600020905b81548152906001019060200180831161063d57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106f65780601f106106cb576101008083540402835291602001916106f6565b820191906000526020600020905b8154815290600101906020018083116106d957829003601f168201915b505050505091509250925092509193909250565b600160405180606001604052808581526020018481526020018361ffff16815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000190805190602001906107709291906107b8565b50602082015181600101908051906020019061078d9291906107b8565b5060408201518160020160006101000a81548161ffff021916908361ffff1602179055505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106107f957805160ff1916838001178555610827565b82800160010185558215610827579182015b8281111561082657825182559160200191906001019061080b565b5b5090506108349190610838565b5090565b5b80821115610851576000816000905550600101610839565b509056fea26469706673582212202db0b4c17e4728219a8e724bcdfefe5bb5064d0889dcaf89d21983b1b015df4964736f6c634300060c0033", + "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_index\",\"type\":\"uint16\"}],\"name\":\"getOwnerReport\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_index\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"_shareAddress\",\"type\":\"address\"}],\"name\":\"getReport\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"reportId\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"name\":\"reports\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_reportHash\",\"type\":\"string\"}],\"name\":\"setReport\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":\"ReportInfo\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol\":{\"keccak256\":\"0x8ff6ac8d3a566396cd6f17ac36a7d73d01a01bb620236f47fbf9d75ec96ff72b\",\"urls\":[\"bzz-raw://1a258e41ca9e9533ae492d287dcad8c410a39c53da37d1d7e69ddf5ea95a62b5\",\"dweb:/ipfs/Qmam6NS3a8tfQdwWyXeaQdPQvX9zeX2WJECBskZvu3PP6C\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506108f2806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80637fe39e3e1461005c57806389bf20601461012f578063b2052c17146101da578063cc0dfdd914610236578063efb2553214610301575b600080fd5b6101156004803603602081101561007257600080fd5b810190808035906020019064010000000081111561008f57600080fd5b8201836020820111156100a157600080fd5b803590602001918460018302840111640100000000831117156100c357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506103cc565b604051808261ffff16815260200191505060405180910390f35b61015f6004803603602081101561014557600080fd5b81019080803561ffff16906020019092919050505061054c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019f578082015181840152602081019050610184565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021c600480360360208110156101f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610646565b604051808261ffff16815260200191505060405180910390f35b6102866004803603604081101561024c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803561ffff169060200190929190505050610667565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102c65780820151818401526020810190506102ab565b50505050905090810190601f1680156102f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103516004803603604081101561031757600080fd5b81019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610724565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610391578082015181840152602081019050610376565b50505050905090810190601f1680156103be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff1602179055505081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002090805190602001906104f792919061081f565b506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff169050919050565b6060600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008361ffff1661ffff1681526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561063a5780601f1061060f5761010080835404028352916020019161063a565b820191906000526020600020905b81548152906001019060200180831161061d57829003601f168201915b50505050509050919050565b60006020528060005260406000206000915054906101000a900461ffff1681565b6001602052816000526040600020602052806000526040600020600091509150508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561071c5780601f106106f15761010080835404028352916020019161071c565b820191906000526020600020905b8154815290600101906020018083116106ff57829003601f168201915b505050505081565b6060600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008461ffff1661ffff1681526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108125780601f106107e757610100808354040283529160200191610812565b820191906000526020600020905b8154815290600101906020018083116107f557829003601f168201915b5050505050905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061086057805160ff191683800117855561088e565b8280016001018555821561088e579182015b8281111561088d578251825591602001919060010190610872565b5b50905061089b919061089f565b5090565b5b808211156108b85760008160009055506001016108a0565b509056fea264697066735822122081445290cb01148d9f1e713b5c39a7f1996ee85e782170bacaed5343235cded264736f6c634300060c0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80637fe39e3e1461005c57806389bf20601461012f578063b2052c17146101da578063cc0dfdd914610236578063efb2553214610301575b600080fd5b6101156004803603602081101561007257600080fd5b810190808035906020019064010000000081111561008f57600080fd5b8201836020820111156100a157600080fd5b803590602001918460018302840111640100000000831117156100c357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506103cc565b604051808261ffff16815260200191505060405180910390f35b61015f6004803603602081101561014557600080fd5b81019080803561ffff16906020019092919050505061054c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019f578082015181840152602081019050610184565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021c600480360360208110156101f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610646565b604051808261ffff16815260200191505060405180910390f35b6102866004803603604081101561024c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803561ffff169060200190929190505050610667565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102c65780820151818401526020810190506102ab565b50505050905090810190601f1680156102f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103516004803603604081101561031757600080fd5b81019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610724565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610391578082015181840152602081019050610376565b50505050905090810190601f1680156103be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff1602179055505081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002090805190602001906104f792919061081f565b506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff169050919050565b6060600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008361ffff1661ffff1681526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561063a5780601f1061060f5761010080835404028352916020019161063a565b820191906000526020600020905b81548152906001019060200180831161061d57829003601f168201915b50505050509050919050565b60006020528060005260406000206000915054906101000a900461ffff1681565b6001602052816000526040600020602052806000526040600020600091509150508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561071c5780601f106106f15761010080835404028352916020019161071c565b820191906000526020600020905b8154815290600101906020018083116106ff57829003601f168201915b505050505081565b6060600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008461ffff1661ffff1681526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108125780601f106107e757610100808354040283529160200191610812565b820191906000526020600020905b8154815290600101906020018083116107f557829003601f168201915b5050505050905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061086057805160ff191683800117855561088e565b8280016001018555821561088e579182015b8281111561088d578251825591602001919060010190610872565b5b50905061089b919061089f565b5090565b5b808211156108b85760008160009055506001016108a0565b509056fea264697066735822122081445290cb01148d9f1e713b5c39a7f1996ee85e782170bacaed5343235cded264736f6c634300060c0033", "immutableReferences": {}, - "sourceMap": "25:559:1:-:0;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "25:559:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;180:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;391:191;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;180:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;391:191::-;438:13;452;466:6;492:7;500:6;492:15;;;;;;;;;;;;;;;;;;:27;;521:7;529:6;521:15;;;;;;;;;;;;;;;;;;:26;;549:7;557:6;549:15;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;484:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;391:191;;;;;:::o;210:175::-;321:7;334:43;;;;;;;;341:12;334:43;;;;354:11;334:43;;;;366:10;334:43;;;;;321:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:175;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.6.0;\n\ncontract ReportInfo{\n string reportHash;\n struct Report {\n string userAddress;\n string reportHash;\n uint16 downloads;\n }\n Report[] public Reports;\n\n function set(string memory _userAddress,string memory _reportHash,uint16 _downloads) public {\n \n Reports.push(Report(_userAddress,_reportHash,_downloads));\n }\n\n function get(uint _index) public view returns (string memory,string memory,uint16) {\n return (Reports[_index].userAddress, Reports[_index].reportHash, Reports[_index].downloads);\n }\n}", + "sourceMap": "25:1097:1:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "25:1097:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;300:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;652:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;64:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;112:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;975:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;300:209;361:6;378:8;:20;387:10;378:20;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;454:11;410:7;:19;418:10;410:19;;;;;;;;;;;;;;;:41;430:8;:20;439:10;430:20;;;;;;;;;;;;;;;;;;;;;;;;;410:41;;;;;;;;;;;;;;;:55;;;;;;;;;;;;:::i;:::-;;482:8;:20;491:10;482:20;;;;;;;;;;;;;;;;;;;;;;;;;475:27;;300:209;;;:::o;652:126::-;712:13;744:7;:19;752:10;744:19;;;;;;;;;;;;;;;:27;764:6;744:27;;;;;;;;;;;;;;;737:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;652:126;;;:::o;64:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;112:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;975:145::-;1052:13;1083:7;:22;1091:13;1083:22;;;;;;;;;;;;;;;:30;1106:6;1083:30;;;;;;;;;;;;;;;1076:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;975:145;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.6.0;\n\ncontract ReportInfo{\n //mapping\n mapping(address => uint16) public reportId;\n mapping(address => mapping(uint16 => string)) public reports;\n\n\n //レポートを共有した時に呼び出される関数\n //引数はレポートのハッシュ値\n //set\n function setReport(string memory _reportHash) public returns(uint16){\n reportId[msg.sender]++;\n reports[msg.sender][reportId[msg.sender]] = _reportHash;\n return reportId[msg.sender];\n }\n\n //自分が共有したレポートを見る時の関数\n //引数はレポートのID(インデックス)\n //get owner report\n function getOwnerReport(uint16 _index) public view returns (string memory) {\n return reports[msg.sender][_index];\n }\n\n //購入したレポートを見る時の関数\n //引数はレポートのID(インデックス)とそのレポートをシェアしたアカウントのアドレス\n //get report\n function getReport(uint16 _index,address _shareAddress) public view returns (string memory){\n return reports[_shareAddress][_index];\n }\n}", "sourcePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", "ast": { "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", "exportedSymbols": { "ReportInfo": [ - 93 + 107 ] }, - "id": 94, + "id": 108, "license": null, "nodeType": "SourceUnit", "nodes": [ @@ -122,172 +148,123 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 93, + "id": 107, "linearizedBaseContracts": [ - 93 + 107 ], "name": "ReportInfo", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 36, + "functionSelector": "b2052c17", + "id": 38, "mutability": "mutable", - "name": "reportHash", + "name": "reportId", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 93, - "src": "50:17:1", + "scope": 107, + "src": "64:42:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" }, "typeName": { - "id": 35, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "50:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "canonicalName": "ReportInfo.Report", - "id": 43, - "members": [ - { - "constant": false, - "id": 38, - "mutability": "mutable", - "name": "userAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "97:18:1", - "stateVariable": false, - "storageLocation": "default", + "id": 37, + "keyType": { + "id": 35, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "72:7:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 37, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "97:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - { - "constant": false, - "id": 40, - "mutability": "mutable", - "name": "reportHash", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "125:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 39, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "125:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" + "nodeType": "Mapping", + "src": "64:26:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" }, - { - "constant": false, - "id": 42, - "mutability": "mutable", - "name": "downloads", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "152:16:1", - "stateVariable": false, - "storageLocation": "default", + "valueType": { + "id": 36, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "83:6:1", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" - }, - "typeName": { - "id": 41, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "152:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": null, - "visibility": "internal" + } } - ], - "name": "Report", - "nodeType": "StructDefinition", - "scope": 93, - "src": "73:102:1", + }, + "value": null, "visibility": "public" }, { "constant": false, - "functionSelector": "467f2cd8", - "id": 46, + "functionSelector": "cc0dfdd9", + "id": 44, "mutability": "mutable", - "name": "Reports", + "name": "reports", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 93, - "src": "180:23:1", + "scope": 107, + "src": "112:60:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report[]" + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string))" }, "typeName": { - "baseType": { - "contractScope": null, - "id": 44, - "name": "Report", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "180:6:1", + "id": 43, + "keyType": { + "id": 39, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "120:7:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_storage_ptr", - "typeString": "struct ReportInfo.Report" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 45, - "length": null, - "nodeType": "ArrayTypeName", - "src": "180:8:1", + "nodeType": "Mapping", + "src": "112:45:1", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage_ptr", - "typeString": "struct ReportInfo.Report[]" + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string))" + }, + "valueType": { + "id": 42, + "keyType": { + "id": 40, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "139:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "Mapping", + "src": "131:25:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint16_$_t_string_storage_$", + "typeString": "mapping(uint16 => string)" + }, + "valueType": { + "id": 41, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "149:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } } }, "value": null, @@ -295,176 +272,332 @@ }, { "body": { - "id": 65, + "id": 74, "nodeType": "Block", - "src": "302:83:1", + "src": "368:141:1", "statements": [ { "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "378:22:1", + "subExpression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 59, - "name": "_userAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 48, - "src": "341:12:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { + "id": 51, + "name": "reportId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "378:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" + } + }, + "id": 54, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 52, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "387:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 53, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "387:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "378:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "id": 56, + "nodeType": "ExpressionStatement", + "src": "378:22:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 67, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 57, + "name": "reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "410:7:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string storage ref))" + } + }, + "id": 64, + "indexExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 60, - "name": "_reportHash", + "id": 58, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "354:11:1", + "referencedDeclaration": -15, + "src": "418:3:1", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - { + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "418:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "410:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint16_$_t_string_storage_$", + "typeString": "mapping(uint16 => string storage ref)" + } + }, + "id": 65, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 60, + "name": "reportId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "430:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" + } + }, + "id": 63, + "indexExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, "id": 61, - "name": "_downloads", + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "366:10:1", + "referencedDeclaration": -15, + "src": "439:3:1", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } - ], - "id": 58, - "name": "Report", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "334:6:1", + }, + "id": 62, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "439:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Report_$43_storage_ptr_$", - "typeString": "type(struct ReportInfo.Report storage pointer)" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "id": 62, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "structConstructorCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "334:43:1", - "tryCall": false, + "nodeType": "IndexAccess", + "src": "430:20:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_memory_ptr", - "typeString": "struct ReportInfo.Report memory" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "410:41:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Report_$43_memory_ptr", - "typeString": "struct ReportInfo.Report memory" - } - ], + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 66, + "name": "_reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "454:11:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "410:55:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 68, + "nodeType": "ExpressionStatement", + "src": "410:55:1" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 69, + "name": "reportId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "482:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" + } + }, + "id": 72, + "indexExpression": { + "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 55, - "name": "Reports", + "id": 70, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "321:7:1", + "referencedDeclaration": -15, + "src": "491:3:1", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report storage ref[] storage ref" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 57, + "id": 71, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "push", + "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "321:12:1", + "src": "491:10:1", "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Report_$43_storage_$returns$__$", - "typeString": "function (struct ReportInfo.Report storage ref)" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "id": 63, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "321:57:1", - "tryCall": false, + "nodeType": "IndexAccess", + "src": "482:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, - "id": 64, - "nodeType": "ExpressionStatement", - "src": "321:57:1" + "functionReturnParameters": 50, + "id": 73, + "nodeType": "Return", + "src": "475:27:1" } ] }, "documentation": null, - "functionSelector": "95831347", - "id": 66, + "functionSelector": "7fe39e3e", + "id": 75, "implemented": true, "kind": "function", "modifiers": [], - "name": "set", + "name": "setReport", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 53, + "id": 47, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 48, + "id": 46, "mutability": "mutable", - "name": "_userAddress", + "name": "_reportHash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 66, - "src": "223:26:1", + "scope": 75, + "src": "319:25:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -472,10 +605,10 @@ "typeString": "string" }, "typeName": { - "id": 47, + "id": 45, "name": "string", "nodeType": "ElementaryTypeName", - "src": "223:6:1", + "src": "319:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -483,55 +616,34 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "318:27:1" + }, + "returnParameters": { + "id": 50, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 50, + "id": 49, "mutability": "mutable", - "name": "_reportHash", + "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 66, - "src": "250:25:1", + "scope": 75, + "src": "361:6:1", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, "typeName": { - "id": 49, - "name": "string", + "id": 48, + "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "250:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 52, - "mutability": "mutable", - "name": "_downloads", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 66, - "src": "276:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 51, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "276:6:1", + "src": "361:6:1", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -541,276 +653,168 @@ "visibility": "internal" } ], - "src": "222:72:1" + "src": "360:8:1" }, - "returnParameters": { - "id": 54, - "nodeType": "ParameterList", - "parameters": [], - "src": "302:0:1" - }, - "scope": 93, - "src": "210:175:1", + "scope": 107, + "src": "300:209:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 91, + "id": 89, "nodeType": "Block", - "src": "474:108:1", + "src": "727:51:1", "statements": [ { "expression": { "argumentTypes": null, - "components": [ - { + "baseExpression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 77, - "name": "Reports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "492:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report storage ref[] storage ref" - } - }, - "id": 79, - "indexExpression": { - "argumentTypes": null, - "id": 78, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "500:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "492:15:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_storage", - "typeString": "struct ReportInfo.Report storage ref" - } - }, - "id": 80, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "userAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 38, - "src": "492:27:1", + "id": 82, + "name": "reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "744:7:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string storage ref))" } }, - { + "id": 85, + "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 81, - "name": "Reports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "521:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report storage ref[] storage ref" - } - }, "id": 83, - "indexExpression": { - "argumentTypes": null, - "id": 82, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "529:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "521:15:1", + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "752:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_storage", - "typeString": "struct ReportInfo.Report storage ref" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, "id": 84, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "reportHash", + "memberName": "sender", "nodeType": "MemberAccess", - "referencedDeclaration": 40, - "src": "521:26:1", + "referencedDeclaration": null, + "src": "752:10:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 85, - "name": "Reports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "549:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report storage ref[] storage ref" - } - }, - "id": 87, - "indexExpression": { - "argumentTypes": null, - "id": 86, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "557:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "549:15:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_storage", - "typeString": "struct ReportInfo.Report storage ref" - } - }, - "id": 88, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "downloads", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "549:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "744:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint16_$_t_string_storage_$", + "typeString": "mapping(uint16 => string storage ref)" } - ], - "id": 89, + }, + "id": 87, + "indexExpression": { + "argumentTypes": null, + "id": 86, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "764:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, "isConstant": false, - "isInlineArray": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "491:84:1", + "nodeType": "IndexAccess", + "src": "744:27:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_storage_$_t_string_storage_$_t_uint16_$", - "typeString": "tuple(string storage ref,string storage ref,uint16)" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, - "functionReturnParameters": 76, - "id": 90, + "functionReturnParameters": 81, + "id": 88, "nodeType": "Return", - "src": "484:91:1" + "src": "737:34:1" } ] }, "documentation": null, - "functionSelector": "9507d39a", - "id": 92, + "functionSelector": "89bf2060", + "id": 90, "implemented": true, "kind": "function", "modifiers": [], - "name": "get", + "name": "getOwnerReport", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 69, + "id": 78, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 68, + "id": 77, "mutability": "mutable", "name": "_index", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 92, - "src": "404:11:1", + "scope": 90, + "src": "676:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, "typeName": { - "id": 67, - "name": "uint", + "id": 76, + "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "404:4:1", + "src": "676:6:1", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, "value": null, "visibility": "internal" } ], - "src": "403:13:1" + "src": "675:15:1" }, "returnParameters": { - "id": 76, + "id": 81, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 71, + "id": 80, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 92, - "src": "438:13:1", + "scope": 90, + "src": "712:13:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -818,10 +822,10 @@ "typeString": "string" }, "typeName": { - "id": 70, + "id": 79, "name": "string", "nodeType": "ElementaryTypeName", - "src": "438:6:1", + "src": "712:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -829,30 +833,133 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "711:15:1" + }, + "scope": 107, + "src": "652:126:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 105, + "nodeType": "Block", + "src": "1066:54:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 99, + "name": "reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "1083:7:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string storage ref))" + } + }, + "id": 101, + "indexExpression": { + "argumentTypes": null, + "id": 100, + "name": "_shareAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "1091:13:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1083:22:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint16_$_t_string_storage_$", + "typeString": "mapping(uint16 => string storage ref)" + } + }, + "id": 103, + "indexExpression": { + "argumentTypes": null, + "id": 102, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 92, + "src": "1106:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1083:30:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 98, + "id": 104, + "nodeType": "Return", + "src": "1076:37:1" + } + ] + }, + "documentation": null, + "functionSelector": "efb25532", + "id": 106, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getReport", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 95, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 73, + "id": 92, "mutability": "mutable", - "name": "", + "name": "_index", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 92, - "src": "452:13:1", + "scope": 106, + "src": "994:13:1", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, "typeName": { - "id": 72, - "name": "string", + "id": 91, + "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "452:6:1", + "src": "994:6:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, "value": null, @@ -860,56 +967,92 @@ }, { "constant": false, - "id": 75, + "id": 94, "mutability": "mutable", - "name": "", + "name": "_shareAddress", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 92, - "src": "466:6:1", + "scope": 106, + "src": "1008:21:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 74, - "name": "uint16", + "id": 93, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "466:6:1", + "src": "1008:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "993:37:1" + }, + "returnParameters": { + "id": 98, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 97, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 106, + "src": "1052:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 96, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1052:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, "value": null, "visibility": "internal" } ], - "src": "437:36:1" + "src": "1051:15:1" }, - "scope": 93, - "src": "391:191:1", + "scope": 107, + "src": "975:145:1", "stateMutability": "view", "virtual": false, "visibility": "public" } ], - "scope": 94, - "src": "25:559:1" + "scope": 108, + "src": "25:1097:1" } ], - "src": "0:584:1" + "src": "0:1122:1" }, "legacyAST": { "absolutePath": "/Users/nishinosatsushin/Desktop/ReportToken/contracts/ReportInfo.sol", "exportedSymbols": { "ReportInfo": [ - 93 + 107 ] }, - "id": 94, + "id": 108, "license": null, "nodeType": "SourceUnit", "nodes": [ @@ -931,172 +1074,123 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 93, + "id": 107, "linearizedBaseContracts": [ - 93 + 107 ], "name": "ReportInfo", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 36, + "functionSelector": "b2052c17", + "id": 38, "mutability": "mutable", - "name": "reportHash", + "name": "reportId", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 93, - "src": "50:17:1", + "scope": 107, + "src": "64:42:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" }, "typeName": { - "id": 35, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "50:6:1", + "id": 37, + "keyType": { + "id": 35, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "72:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "64:26:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" + }, + "valueType": { + "id": 36, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "83:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } } }, "value": null, - "visibility": "internal" + "visibility": "public" }, { - "canonicalName": "ReportInfo.Report", - "id": 43, - "members": [ - { - "constant": false, - "id": 38, - "mutability": "mutable", - "name": "userAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "97:18:1", - "stateVariable": false, - "storageLocation": "default", + "constant": false, + "functionSelector": "cc0dfdd9", + "id": 44, + "mutability": "mutable", + "name": "reports", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 107, + "src": "112:60:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string))" + }, + "typeName": { + "id": 43, + "keyType": { + "id": 39, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "120:7:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 37, - "name": "string", + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "112:45:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string))" + }, + "valueType": { + "id": 42, + "keyType": { + "id": 40, + "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "97:6:1", + "src": "139:6:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 40, - "mutability": "mutable", - "name": "reportHash", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "125:17:1", - "stateVariable": false, - "storageLocation": "default", + "nodeType": "Mapping", + "src": "131:25:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_mapping$_t_uint16_$_t_string_storage_$", + "typeString": "mapping(uint16 => string)" }, - "typeName": { - "id": 39, + "valueType": { + "id": 41, "name": "string", "nodeType": "ElementaryTypeName", - "src": "125:6:1", + "src": "149:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 42, - "mutability": "mutable", - "name": "downloads", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 43, - "src": "152:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 41, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "152:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Report", - "nodeType": "StructDefinition", - "scope": 93, - "src": "73:102:1", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "467f2cd8", - "id": 46, - "mutability": "mutable", - "name": "Reports", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 93, - "src": "180:23:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 44, - "name": "Report", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "180:6:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_storage_ptr", - "typeString": "struct ReportInfo.Report" } - }, - "id": 45, - "length": null, - "nodeType": "ArrayTypeName", - "src": "180:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage_ptr", - "typeString": "struct ReportInfo.Report[]" } }, "value": null, @@ -1104,204 +1198,332 @@ }, { "body": { - "id": 65, + "id": 74, "nodeType": "Block", - "src": "302:83:1", + "src": "368:141:1", "statements": [ { "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 55, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "378:22:1", + "subExpression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 59, - "name": "_userAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 48, - "src": "341:12:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { + "id": 51, + "name": "reportId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "378:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" + } + }, + "id": 54, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 52, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "387:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 53, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "387:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "378:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "id": 56, + "nodeType": "ExpressionStatement", + "src": "378:22:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 67, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 57, + "name": "reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "410:7:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string storage ref))" + } + }, + "id": 64, + "indexExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 60, - "name": "_reportHash", + "id": 58, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "354:11:1", + "referencedDeclaration": -15, + "src": "418:3:1", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - { + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "418:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "410:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint16_$_t_string_storage_$", + "typeString": "mapping(uint16 => string storage ref)" + } + }, + "id": 65, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 60, + "name": "reportId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "430:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" + } + }, + "id": 63, + "indexExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, "id": 61, - "name": "_downloads", + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "366:10:1", + "referencedDeclaration": -15, + "src": "439:3:1", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } - ], - "id": 58, - "name": "Report", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "334:6:1", + }, + "id": 62, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "439:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Report_$43_storage_ptr_$", - "typeString": "type(struct ReportInfo.Report storage pointer)" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "id": 62, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "structConstructorCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "334:43:1", - "tryCall": false, + "nodeType": "IndexAccess", + "src": "430:20:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_memory_ptr", - "typeString": "struct ReportInfo.Report memory" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "410:41:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Report_$43_memory_ptr", - "typeString": "struct ReportInfo.Report memory" - } - ], + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 66, + "name": "_reportHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "454:11:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "410:55:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 68, + "nodeType": "ExpressionStatement", + "src": "410:55:1" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 69, + "name": "reportId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "482:8:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint16_$", + "typeString": "mapping(address => uint16)" + } + }, + "id": 72, + "indexExpression": { + "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 55, - "name": "Reports", + "id": 70, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "321:7:1", + "referencedDeclaration": -15, + "src": "491:3:1", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report storage ref[] storage ref" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 57, + "id": 71, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "push", + "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "321:12:1", + "src": "491:10:1", "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Report_$43_storage_$returns$__$", - "typeString": "function (struct ReportInfo.Report storage ref)" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "id": 63, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "321:57:1", - "tryCall": false, + "nodeType": "IndexAccess", + "src": "482:20:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, - "id": 64, - "nodeType": "ExpressionStatement", - "src": "321:57:1" + "functionReturnParameters": 50, + "id": 73, + "nodeType": "Return", + "src": "475:27:1" } ] }, "documentation": null, - "functionSelector": "95831347", - "id": 66, + "functionSelector": "7fe39e3e", + "id": 75, "implemented": true, "kind": "function", "modifiers": [], - "name": "set", + "name": "setReport", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 53, + "id": 47, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 48, - "mutability": "mutable", - "name": "_userAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 66, - "src": "223:26:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 47, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "223:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 50, + "id": 46, "mutability": "mutable", "name": "_reportHash", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 66, - "src": "250:25:1", + "scope": 75, + "src": "319:25:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1309,10 +1531,10 @@ "typeString": "string" }, "typeName": { - "id": 49, + "id": 45, "name": "string", "nodeType": "ElementaryTypeName", - "src": "250:6:1", + "src": "319:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1320,16 +1542,23 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "318:27:1" + }, + "returnParameters": { + "id": 50, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 52, + "id": 49, "mutability": "mutable", - "name": "_downloads", + "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 66, - "src": "276:17:1", + "scope": 75, + "src": "361:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1337,10 +1566,10 @@ "typeString": "uint16" }, "typeName": { - "id": 51, + "id": 48, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "276:6:1", + "src": "361:6:1", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -1350,276 +1579,168 @@ "visibility": "internal" } ], - "src": "222:72:1" + "src": "360:8:1" }, - "returnParameters": { - "id": 54, - "nodeType": "ParameterList", - "parameters": [], - "src": "302:0:1" - }, - "scope": 93, - "src": "210:175:1", + "scope": 107, + "src": "300:209:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 91, + "id": 89, "nodeType": "Block", - "src": "474:108:1", + "src": "727:51:1", "statements": [ { "expression": { "argumentTypes": null, - "components": [ - { + "baseExpression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 77, - "name": "Reports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "492:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report storage ref[] storage ref" - } - }, - "id": 79, - "indexExpression": { - "argumentTypes": null, - "id": 78, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "500:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "492:15:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_storage", - "typeString": "struct ReportInfo.Report storage ref" - } - }, - "id": 80, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "userAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 38, - "src": "492:27:1", + "id": 82, + "name": "reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "744:7:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string storage ref))" } }, - { + "id": 85, + "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 81, - "name": "Reports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "521:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report storage ref[] storage ref" - } - }, "id": 83, - "indexExpression": { - "argumentTypes": null, - "id": 82, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "529:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "521:15:1", + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "752:3:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_storage", - "typeString": "struct ReportInfo.Report storage ref" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, "id": 84, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "reportHash", + "memberName": "sender", "nodeType": "MemberAccess", - "referencedDeclaration": 40, - "src": "521:26:1", + "referencedDeclaration": null, + "src": "752:10:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 85, - "name": "Reports", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "549:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Report_$43_storage_$dyn_storage", - "typeString": "struct ReportInfo.Report storage ref[] storage ref" - } - }, - "id": 87, - "indexExpression": { - "argumentTypes": null, - "id": 86, - "name": "_index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "557:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "549:15:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Report_$43_storage", - "typeString": "struct ReportInfo.Report storage ref" - } - }, - "id": 88, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "downloads", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "549:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "744:19:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint16_$_t_string_storage_$", + "typeString": "mapping(uint16 => string storage ref)" + } + }, + "id": 87, + "indexExpression": { + "argumentTypes": null, + "id": 86, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "764:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" } - ], - "id": 89, + }, "isConstant": false, - "isInlineArray": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "491:84:1", + "nodeType": "IndexAccess", + "src": "744:27:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_storage_$_t_string_storage_$_t_uint16_$", - "typeString": "tuple(string storage ref,string storage ref,uint16)" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, - "functionReturnParameters": 76, - "id": 90, + "functionReturnParameters": 81, + "id": 88, "nodeType": "Return", - "src": "484:91:1" + "src": "737:34:1" } ] }, "documentation": null, - "functionSelector": "9507d39a", - "id": 92, + "functionSelector": "89bf2060", + "id": 90, "implemented": true, "kind": "function", "modifiers": [], - "name": "get", + "name": "getOwnerReport", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { - "id": 69, + "id": 78, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 68, + "id": 77, "mutability": "mutable", "name": "_index", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 92, - "src": "404:11:1", + "scope": 90, + "src": "676:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, "typeName": { - "id": 67, - "name": "uint", + "id": 76, + "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "404:4:1", + "src": "676:6:1", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, "value": null, "visibility": "internal" } ], - "src": "403:13:1" + "src": "675:15:1" }, "returnParameters": { - "id": 76, + "id": 81, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 71, + "id": 80, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 92, - "src": "438:13:1", + "scope": 90, + "src": "712:13:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1627,10 +1748,10 @@ "typeString": "string" }, "typeName": { - "id": 70, + "id": 79, "name": "string", "nodeType": "ElementaryTypeName", - "src": "438:6:1", + "src": "712:6:1", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1638,30 +1759,133 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "711:15:1" + }, + "scope": 107, + "src": "652:126:1", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 105, + "nodeType": "Block", + "src": "1066:54:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 99, + "name": "reports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "1083:7:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint16_$_t_string_storage_$_$", + "typeString": "mapping(address => mapping(uint16 => string storage ref))" + } + }, + "id": 101, + "indexExpression": { + "argumentTypes": null, + "id": 100, + "name": "_shareAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "1091:13:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1083:22:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint16_$_t_string_storage_$", + "typeString": "mapping(uint16 => string storage ref)" + } + }, + "id": 103, + "indexExpression": { + "argumentTypes": null, + "id": 102, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 92, + "src": "1106:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1083:30:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 98, + "id": 104, + "nodeType": "Return", + "src": "1076:37:1" + } + ] + }, + "documentation": null, + "functionSelector": "efb25532", + "id": 106, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getReport", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 95, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 73, + "id": 92, "mutability": "mutable", - "name": "", + "name": "_index", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 92, - "src": "452:13:1", + "scope": 106, + "src": "994:13:1", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" + "typeIdentifier": "t_uint16", + "typeString": "uint16" }, "typeName": { - "id": 72, - "name": "string", + "id": 91, + "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "452:6:1", + "src": "994:6:1", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, "value": null, @@ -1669,47 +1893,83 @@ }, { "constant": false, - "id": 75, + "id": 94, "mutability": "mutable", - "name": "", + "name": "_shareAddress", "nodeType": "VariableDeclaration", "overrides": null, - "scope": 92, - "src": "466:6:1", + "scope": 106, + "src": "1008:21:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 74, - "name": "uint16", + "id": 93, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "466:6:1", + "src": "1008:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "993:37:1" + }, + "returnParameters": { + "id": 98, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 97, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 106, + "src": "1052:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 96, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1052:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, "value": null, "visibility": "internal" } ], - "src": "437:36:1" + "src": "1051:15:1" }, - "scope": 93, - "src": "391:191:1", + "scope": 107, + "src": "975:145:1", "stateMutability": "view", "virtual": false, "visibility": "public" } ], - "scope": 94, - "src": "25:559:1" + "scope": 108, + "src": "25:1097:1" } ], - "src": "0:584:1" + "src": "0:1122:1" }, "compiler": { "name": "solc", @@ -1719,12 +1979,12 @@ "5777": { "events": {}, "links": {}, - "address": "0x4B41f9f31A6E9e5Ea9500A34BA18752BEa7f62A8", - "transactionHash": "0x6aa409f45b99a4bfc82583e8341cfa022133cce15263d877a642535a10773435" + "address": "0xA91E18f2569F71eF027cf42aE628745f7EE873D0", + "transactionHash": "0xe467ba015ebb6949c93edb9195194ecaa55d51d3ac846d3cf68f3815831f5e3e" } }, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-26T04:52:20.286Z", + "updatedAt": "2020-09-28T09:52:46.240Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/ReportToken.json b/build/contracts/ReportToken.json index f7fc9ed..221f9dd 100644 --- a/build/contracts/ReportToken.json +++ b/build/contracts/ReportToken.json @@ -6682,12 +6682,12 @@ } }, "links": {}, - "address": "0x0C049575ad3E866ef587F441dDBF576848b05c54", - "transactionHash": "0x8eaf6da91e1da3406b391eef1f962b4e065a3310a9fd256bad6e18534f55682f" + "address": "0x34BFE81B59aCaF25e1e024CDE469b31aFC076672", + "transactionHash": "0xd1b4fbf1eb65234550f518e17e93746be91c9acce2156c79f1f49edfe87839a0" } }, "schemaVersion": "3.2.2", - "updatedAt": "2020-09-26T04:52:20.065Z", + "updatedAt": "2020-09-28T09:52:46.006Z", "networkType": "ethereum", "devdoc": { "kind": "dev",