mirror of
https://github.com/PatrickAlphaC/dungeons-and-dragons-nft.git
synced 2021-05-29 14:48:35 +03:00
11974 lines
509 KiB
JSON
11974 lines
509 KiB
JSON
{
|
|
"contractName": "EnumerableMap",
|
|
"abi": [],
|
|
"metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing an enumerable variant of Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] type. * Maps have the following properties: * - Entries are added, removed, and checked for existence in constant time (O(1)). - Entries are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableMap for EnumerableMap.UintToAddressMap; * // Declare a set state variable EnumerableMap.UintToAddressMap private myMap; } ``` * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are supported.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/EnumerableMap.sol\":\"EnumerableMap\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x244e4b74b17716120cf28e58636f11c699b8c0c94628bd952a95cee038d7e32b\",\"urls\":[\"bzz-raw://198d566157120c526bd6b5086b32cae85a11389b8a538f533ba9f9447915da0e\",\"dweb:/ipfs/QmeE6d8KWERx7f1FVS5tMnitNJxBm2yWXRSEUBF7R6voLh\"]}},\"version\":1}",
|
|
"bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f4ace167cd6d5b2c26c6991d2eac54e81b0493d2864a8cb4d2fe82bbb730a52464736f6c63430006060033",
|
|
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f4ace167cd6d5b2c26c6991d2eac54e81b0493d2864a8cb4d2fe82bbb730a52464736f6c63430006060033",
|
|
"immutableReferences": {},
|
|
"sourceMap": "764:7555:18:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",
|
|
"deployedSourceMap": "764:7555:18:-:0;;;;;;12:1:-1;9;2:12",
|
|
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\n/**\n * @dev Library for managing an enumerable variant of Solidity's\n * https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\n * type.\n *\n * Maps have the following properties:\n *\n * - Entries are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Entries are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n * // Add the library methods\n * using EnumerableMap for EnumerableMap.UintToAddressMap;\n *\n * // Declare a set state variable\n * EnumerableMap.UintToAddressMap private myMap;\n * }\n * ```\n *\n * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are\n * supported.\n */\nlibrary EnumerableMap {\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Map type with\n // bytes32 keys and values.\n // The Map implementation uses private functions, and user-facing\n // implementations (such as Uint256ToAddressMap) are just wrappers around\n // the underlying Map.\n // This means that we can only create new EnumerableMaps for types that fit\n // in bytes32.\n\n struct MapEntry {\n bytes32 _key;\n bytes32 _value;\n }\n\n struct Map {\n // Storage of map keys and values\n MapEntry[] _entries;\n\n // Position of the entry defined by a key in the `entries` array, plus 1\n // because index 0 means a key is not in the map.\n mapping (bytes32 => uint256) _indexes;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function _set(Map storage map, bytes32 key, bytes32 value) private returns (bool) {\n // We read and store the key's index to prevent multiple reads from the same storage slot\n uint256 keyIndex = map._indexes[key];\n\n if (keyIndex == 0) { // Equivalent to !contains(map, key)\n map._entries.push(MapEntry({ _key: key, _value: value }));\n // The entry is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n map._indexes[key] = map._entries.length;\n return true;\n } else {\n map._entries[keyIndex - 1]._value = value;\n return false;\n }\n }\n\n /**\n * @dev Removes a key-value pair from a map. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function _remove(Map storage map, bytes32 key) private returns (bool) {\n // We read and store the key's index to prevent multiple reads from the same storage slot\n uint256 keyIndex = map._indexes[key];\n\n if (keyIndex != 0) { // Equivalent to contains(map, key)\n // To delete a key-value pair from the _entries array in O(1), we swap the entry to delete with the last one\n // in the array, and then remove the last entry (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 toDeleteIndex = keyIndex - 1;\n uint256 lastIndex = map._entries.length - 1;\n\n // When the entry to delete is the last one, the swap operation is unnecessary. However, since this occurs\n // so rarely, we still do the swap anyway to avoid the gas cost of adding an 'if' statement.\n\n MapEntry storage lastEntry = map._entries[lastIndex];\n\n // Move the last entry to the index where the entry to delete is\n map._entries[toDeleteIndex] = lastEntry;\n // Update the index for the moved entry\n map._indexes[lastEntry._key] = toDeleteIndex + 1; // All indexes are 1-based\n\n // Delete the slot where the moved entry was stored\n map._entries.pop();\n\n // Delete the index for the deleted slot\n delete map._indexes[key];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function _contains(Map storage map, bytes32 key) private view returns (bool) {\n return map._indexes[key] != 0;\n }\n\n /**\n * @dev Returns the number of key-value pairs in the map. O(1).\n */\n function _length(Map storage map) private view returns (uint256) {\n return map._entries.length;\n }\n\n /**\n * @dev Returns the key-value pair stored at position `index` in the map. O(1).\n *\n * Note that there are no guarantees on the ordering of entries inside the\n * array, and it may change when more entries are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function _at(Map storage map, uint256 index) private view returns (bytes32, bytes32) {\n require(map._entries.length > index, \"EnumerableMap: index out of bounds\");\n\n MapEntry storage entry = map._entries[index];\n return (entry._key, entry._value);\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function _get(Map storage map, bytes32 key) private view returns (bytes32) {\n return _get(map, key, \"EnumerableMap: nonexistent key\");\n }\n\n /**\n * @dev Same as {_get}, with a custom error message when `key` is not in the map.\n */\n function _get(Map storage map, bytes32 key, string memory errorMessage) private view returns (bytes32) {\n uint256 keyIndex = map._indexes[key];\n require(keyIndex != 0, errorMessage); // Equivalent to contains(map, key)\n return map._entries[keyIndex - 1]._value; // All indexes are 1-based\n }\n\n // UintToAddressMap\n\n struct UintToAddressMap {\n Map _inner;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function set(UintToAddressMap storage map, uint256 key, address value) internal returns (bool) {\n return _set(map._inner, bytes32(key), bytes32(uint256(value)));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function remove(UintToAddressMap storage map, uint256 key) internal returns (bool) {\n return _remove(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function contains(UintToAddressMap storage map, uint256 key) internal view returns (bool) {\n return _contains(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns the number of elements in the map. O(1).\n */\n function length(UintToAddressMap storage map) internal view returns (uint256) {\n return _length(map._inner);\n }\n\n /**\n * @dev Returns the element stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) {\n (bytes32 key, bytes32 value) = _at(map._inner, index);\n return (uint256(key), address(uint256(value)));\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function get(UintToAddressMap storage map, uint256 key) internal view returns (address) {\n return address(uint256(_get(map._inner, bytes32(key))));\n }\n\n /**\n * @dev Same as {get}, with a custom error message when `key` is not in the map.\n */\n function get(UintToAddressMap storage map, uint256 key, string memory errorMessage) internal view returns (address) {\n return address(uint256(_get(map._inner, bytes32(key), errorMessage)));\n }\n}\n",
|
|
"sourcePath": "@openzeppelin/contracts/utils/EnumerableMap.sol",
|
|
"ast": {
|
|
"absolutePath": "@openzeppelin/contracts/utils/EnumerableMap.sol",
|
|
"exportedSymbols": {
|
|
"EnumerableMap": [
|
|
3055
|
|
]
|
|
},
|
|
"id": 3056,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 2602,
|
|
"literals": [
|
|
"solidity",
|
|
"^",
|
|
"0.6",
|
|
".0"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "33:23:18"
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"contractDependencies": [],
|
|
"contractKind": "library",
|
|
"documentation": {
|
|
"id": 2603,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "58:705:18",
|
|
"text": "@dev Library for managing an enumerable variant of Solidity's\nhttps://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\ntype.\n * Maps have the following properties:\n * - Entries are added, removed, and checked for existence in constant time\n(O(1)).\n- Entries are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableMap for EnumerableMap.UintToAddressMap;\n * // Declare a set state variable\n EnumerableMap.UintToAddressMap private myMap;\n}\n```\n * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are\nsupported."
|
|
},
|
|
"fullyImplemented": true,
|
|
"id": 3055,
|
|
"linearizedBaseContracts": [
|
|
3055
|
|
],
|
|
"name": "EnumerableMap",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"canonicalName": "EnumerableMap.MapEntry",
|
|
"id": 2608,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 2605,
|
|
"mutability": "mutable",
|
|
"name": "_key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2608,
|
|
"src": "1276:12:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2604,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1276:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2607,
|
|
"mutability": "mutable",
|
|
"name": "_value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2608,
|
|
"src": "1298:14:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2606,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1298:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "MapEntry",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3055,
|
|
"src": "1250:69:18",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"canonicalName": "EnumerableMap.Map",
|
|
"id": 2616,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 2611,
|
|
"mutability": "mutable",
|
|
"name": "_entries",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2616,
|
|
"src": "1388:19:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"contractScope": null,
|
|
"id": 2609,
|
|
"name": "MapEntry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2608,
|
|
"src": "1388:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
}
|
|
},
|
|
"id": 2610,
|
|
"length": null,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "1388:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry[]"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2615,
|
|
"mutability": "mutable",
|
|
"name": "_indexes",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2616,
|
|
"src": "1557:37:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 2614,
|
|
"keyType": {
|
|
"id": 2612,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1566:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1557:28:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 2613,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1577:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "Map",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3055,
|
|
"src": "1325:276:18",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2677,
|
|
"nodeType": "Block",
|
|
"src": "1910:596:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2629
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2629,
|
|
"mutability": "mutable",
|
|
"name": "keyIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2677,
|
|
"src": "2018:16:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2628,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2018:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2634,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2630,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2037:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2631,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "2037:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2633,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2632,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2621,
|
|
"src": "2050:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2037:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2018:36:18"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2637,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2635,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2629,
|
|
"src": "2069:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2636,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2081:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "2069:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 2675,
|
|
"nodeType": "Block",
|
|
"src": "2408:92:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2671,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2662,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2422:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2667,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "2422:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2668,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2666,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2664,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2629,
|
|
"src": "2435:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2665,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2446:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2435:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2422:26:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"id": 2669,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"memberName": "_value",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2607,
|
|
"src": "2422:33:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 2670,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2623,
|
|
"src": "2458:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"src": "2422:41:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"id": 2672,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2422:41:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 2673,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2484:5:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"functionReturnParameters": 2627,
|
|
"id": 2674,
|
|
"nodeType": "Return",
|
|
"src": "2477:12:18"
|
|
}
|
|
]
|
|
},
|
|
"id": 2676,
|
|
"nodeType": "IfStatement",
|
|
"src": "2065:435:18",
|
|
"trueBody": {
|
|
"id": 2661,
|
|
"nodeType": "Block",
|
|
"src": "2084:318:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2644,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2621,
|
|
"src": "2170:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2645,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2623,
|
|
"src": "2183:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2643,
|
|
"name": "MapEntry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2608,
|
|
"src": "2153:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_MapEntry_$2608_storage_ptr_$",
|
|
"typeString": "type(struct EnumerableMap.MapEntry storage pointer)"
|
|
}
|
|
},
|
|
"id": 2646,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"names": [
|
|
"_key",
|
|
"_value"
|
|
],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2153:38:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_memory_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_memory_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry memory"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2638,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2135:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2641,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "2135:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2642,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "push",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2135:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MapEntry_$2608_storage_$returns$__$",
|
|
"typeString": "function (struct EnumerableMap.MapEntry storage ref)"
|
|
}
|
|
},
|
|
"id": 2647,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2135:57:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2648,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2135:57:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2657,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2649,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2327:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2652,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "2327:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2653,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2651,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2621,
|
|
"src": "2340:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2327:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2654,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2347:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2655,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "2347:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2656,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2347:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "2327:39:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 2658,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2327:39:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 2659,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2387:4:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 2627,
|
|
"id": 2660,
|
|
"nodeType": "Return",
|
|
"src": "2380:11:18"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2617,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1607:216:18",
|
|
"text": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present."
|
|
},
|
|
"id": 2678,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_set",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2624,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2619,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2678,
|
|
"src": "1842:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2618,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "1842:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2621,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2678,
|
|
"src": "1859:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2620,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1859:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2623,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2678,
|
|
"src": "1872:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2622,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1872:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1841:45:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2627,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2626,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2678,
|
|
"src": "1904:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2625,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1904:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1903:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "1828:678:18",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2758,
|
|
"nodeType": "Block",
|
|
"src": "2744:1447:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2689
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2689,
|
|
"mutability": "mutable",
|
|
"name": "keyIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2758,
|
|
"src": "2852:16:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2688,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2852:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2694,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2690,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "2871:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2691,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "2871:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2693,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2692,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2683,
|
|
"src": "2884:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2871:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2852:36:18"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2697,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2695,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2689,
|
|
"src": "2903:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2696,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2915:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "2903:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 2756,
|
|
"nodeType": "Block",
|
|
"src": "4148:37:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 2754,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4169:5:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"functionReturnParameters": 2687,
|
|
"id": 2755,
|
|
"nodeType": "Return",
|
|
"src": "4162:12:18"
|
|
}
|
|
]
|
|
},
|
|
"id": 2757,
|
|
"nodeType": "IfStatement",
|
|
"src": "2899:1286:18",
|
|
"trueBody": {
|
|
"id": 2753,
|
|
"nodeType": "Block",
|
|
"src": "2918:1224:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2699
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2699,
|
|
"mutability": "mutable",
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2753,
|
|
"src": "3259:21:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2698,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3259:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2703,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2702,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2700,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2689,
|
|
"src": "3283:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2701,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3294:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3283:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3259:36:18"
|
|
},
|
|
{
|
|
"assignments": [
|
|
2705
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2705,
|
|
"mutability": "mutable",
|
|
"name": "lastIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2753,
|
|
"src": "3309:17:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2704,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3309:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2711,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2710,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2706,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3329:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2707,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "3329:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2708,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "3329:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2709,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3351:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3329:23:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3309:43:18"
|
|
},
|
|
{
|
|
"assignments": [
|
|
2713
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2713,
|
|
"mutability": "mutable",
|
|
"name": "lastEntry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2753,
|
|
"src": "3592:26:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2712,
|
|
"name": "MapEntry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2608,
|
|
"src": "3592:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2718,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2714,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3621:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2715,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "3621:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2717,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2716,
|
|
"name": "lastIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2705,
|
|
"src": "3634:9:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3621:23:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3592:52:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2725,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2719,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3736:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2722,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "3736:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2723,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2721,
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2699,
|
|
"src": "3749:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3736:27:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 2724,
|
|
"name": "lastEntry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2713,
|
|
"src": "3766:9:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry storage pointer"
|
|
}
|
|
},
|
|
"src": "3736:39:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"id": 2726,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3736:39:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2736,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2727,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3841:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2731,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "3841:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2732,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2729,
|
|
"name": "lastEntry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2713,
|
|
"src": "3854:9:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry storage pointer"
|
|
}
|
|
},
|
|
"id": 2730,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_key",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2605,
|
|
"src": "3854:14:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3841:28:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2735,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2733,
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2699,
|
|
"src": "3872:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "+",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2734,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3888:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3872:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "3841:48:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 2737,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3841:48:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2738,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3995:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2741,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "3995:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2742,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "pop",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "3995:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 2743,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3995:18:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2744,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3995:18:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2749,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "delete",
|
|
"prefix": true,
|
|
"src": "4081:24:18",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2745,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "4088:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2746,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "4088:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2748,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2747,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2683,
|
|
"src": "4101:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4088:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2750,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4081:24:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 2751,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4127:4:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 2687,
|
|
"id": 2752,
|
|
"nodeType": "Return",
|
|
"src": "4120:11:18"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2679,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2512:157:18",
|
|
"text": "@dev Removes a key-value pair from a map. O(1).\n * Returns true if the key was removed from the map, that is if it was present."
|
|
},
|
|
"id": 2759,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2684,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2681,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2759,
|
|
"src": "2691:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2680,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "2691:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2683,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2759,
|
|
"src": "2708:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2682,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2708:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2690:30:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2687,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2686,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2759,
|
|
"src": "2738:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2685,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2738:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2737:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "2674:1517:18",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2776,
|
|
"nodeType": "Block",
|
|
"src": "4347:46:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2774,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2769,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2762,
|
|
"src": "4364:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2770,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "4364:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2772,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2771,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2764,
|
|
"src": "4377:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4364:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2773,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4385:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "4364:22:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2768,
|
|
"id": 2775,
|
|
"nodeType": "Return",
|
|
"src": "4357:29:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2760,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4197:68:18",
|
|
"text": "@dev Returns true if the key is in the map. O(1)."
|
|
},
|
|
"id": 2777,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2765,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2762,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2777,
|
|
"src": "4289:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2761,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "4289:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2764,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2777,
|
|
"src": "4306:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2763,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4306:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4288:30:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2768,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2767,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2777,
|
|
"src": "4341:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2766,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4341:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4340:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "4270:123:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2789,
|
|
"nodeType": "Block",
|
|
"src": "4548:43:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2785,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2780,
|
|
"src": "4565:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2786,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "4565:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2787,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4565:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2784,
|
|
"id": 2788,
|
|
"nodeType": "Return",
|
|
"src": "4558:26:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2778,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4399:79:18",
|
|
"text": "@dev Returns the number of key-value pairs in the map. O(1)."
|
|
},
|
|
"id": 2790,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2781,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2780,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2790,
|
|
"src": "4500:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2779,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "4500:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4499:17:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2784,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2783,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2790,
|
|
"src": "4539:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2782,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4539:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4538:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "4483:108:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2824,
|
|
"nodeType": "Block",
|
|
"src": "5019:189:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2807,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2803,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2793,
|
|
"src": "5037:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2804,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "5037:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2805,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5037:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2806,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2795,
|
|
"src": "5059:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "5037:27:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473",
|
|
"id": 2808,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5066:36:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155",
|
|
"typeString": "literal_string \"EnumerableMap: index out of bounds\""
|
|
},
|
|
"value": "EnumerableMap: index out of bounds"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155",
|
|
"typeString": "literal_string \"EnumerableMap: index out of bounds\""
|
|
}
|
|
],
|
|
"id": 2802,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "5029:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2809,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5029:74:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2810,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5029:74:18"
|
|
},
|
|
{
|
|
"assignments": [
|
|
2812
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2812,
|
|
"mutability": "mutable",
|
|
"name": "entry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2824,
|
|
"src": "5114:22:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2811,
|
|
"name": "MapEntry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2608,
|
|
"src": "5114:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2817,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2813,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2793,
|
|
"src": "5139:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2814,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "5139:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2816,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2815,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2795,
|
|
"src": "5152:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "5139:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "5114:44:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"components": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2818,
|
|
"name": "entry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2812,
|
|
"src": "5176:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry storage pointer"
|
|
}
|
|
},
|
|
"id": 2819,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_key",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2605,
|
|
"src": "5176:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2820,
|
|
"name": "entry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2812,
|
|
"src": "5188:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry storage pointer"
|
|
}
|
|
},
|
|
"id": 2821,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_value",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2607,
|
|
"src": "5188:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"id": 2822,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "5175:26:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$",
|
|
"typeString": "tuple(bytes32,bytes32)"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2801,
|
|
"id": 2823,
|
|
"nodeType": "Return",
|
|
"src": "5168:33:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2791,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4596:333:18",
|
|
"text": "@dev Returns the key-value pair stored at position `index` in the map. O(1).\n * Note that there are no guarantees on the ordering of entries inside the\narray, and it may change when more entries are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}."
|
|
},
|
|
"id": 2825,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2796,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2793,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2825,
|
|
"src": "4947:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2792,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "4947:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2795,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2825,
|
|
"src": "4964:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2794,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4964:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4946:32:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2801,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2798,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2825,
|
|
"src": "5001:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2797,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5001:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2800,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2825,
|
|
"src": "5010:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2799,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5010:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5000:18:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "4934:274:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2841,
|
|
"nodeType": "Block",
|
|
"src": "5435:72:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2836,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2828,
|
|
"src": "5457:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2837,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2830,
|
|
"src": "5462:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579",
|
|
"id": 2838,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5467:32:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072",
|
|
"typeString": "literal_string \"EnumerableMap: nonexistent key\""
|
|
},
|
|
"value": "EnumerableMap: nonexistent key"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072",
|
|
"typeString": "literal_string \"EnumerableMap: nonexistent key\""
|
|
}
|
|
],
|
|
"id": 2835,
|
|
"name": "_get",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2842,
|
|
2877
|
|
],
|
|
"referencedDeclaration": 2877,
|
|
"src": "5452:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,string memory) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 2839,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5452:48:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2834,
|
|
"id": 2840,
|
|
"nodeType": "Return",
|
|
"src": "5445:55:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2826,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5214:141:18",
|
|
"text": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map."
|
|
},
|
|
"id": 2842,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_get",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2831,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2828,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2842,
|
|
"src": "5374:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2827,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "5374:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2830,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2842,
|
|
"src": "5391:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2829,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5391:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5373:30:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2834,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2833,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2842,
|
|
"src": "5426:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2832,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5426:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5425:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "5360:147:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2876,
|
|
"nodeType": "Block",
|
|
"src": "5718:212:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2855
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2855,
|
|
"mutability": "mutable",
|
|
"name": "keyIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2876,
|
|
"src": "5728:16:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2854,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5728:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2860,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2856,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2845,
|
|
"src": "5747:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2857,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "5747:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2859,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2858,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2847,
|
|
"src": "5760:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "5747:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "5728:36:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2864,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2862,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2855,
|
|
"src": "5782:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2863,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5794:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "5782:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2865,
|
|
"name": "errorMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2849,
|
|
"src": "5797:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
],
|
|
"id": 2861,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "5774:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2866,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5774:36:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2867,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5774:36:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2868,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2845,
|
|
"src": "5863:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2869,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "5863:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2873,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2872,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2870,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2855,
|
|
"src": "5876:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2871,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5887:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "5876:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "5863:26:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"id": 2874,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_value",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2607,
|
|
"src": "5863:33:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2853,
|
|
"id": 2875,
|
|
"nodeType": "Return",
|
|
"src": "5856:40:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2843,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5513:97:18",
|
|
"text": "@dev Same as {_get}, with a custom error message when `key` is not in the map."
|
|
},
|
|
"id": 2877,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_get",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2850,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2845,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2877,
|
|
"src": "5629:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2844,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "5629:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2847,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2877,
|
|
"src": "5646:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2846,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5646:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2849,
|
|
"mutability": "mutable",
|
|
"name": "errorMessage",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2877,
|
|
"src": "5659:26:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2848,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5659:6:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5628:58:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2853,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2852,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2877,
|
|
"src": "5709:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2851,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5709:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5708:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "5615:315:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"canonicalName": "EnumerableMap.UintToAddressMap",
|
|
"id": 2880,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 2879,
|
|
"mutability": "mutable",
|
|
"name": "_inner",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2880,
|
|
"src": "5995:10:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2878,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "5995:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3055,
|
|
"src": "5961:51:18",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2908,
|
|
"nodeType": "Block",
|
|
"src": "6334:79:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2893,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2883,
|
|
"src": "6356:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2894,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "6356:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2897,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2885,
|
|
"src": "6376:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2896,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6368:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 2895,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6368:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2898,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6368:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2903,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2887,
|
|
"src": "6398:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 2902,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6390:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 2901,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6390:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2904,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6390:14:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2900,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6382:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 2899,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6382:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2905,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6382:23:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2892,
|
|
"name": "_set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2678,
|
|
"src": "6351:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 2906,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6351:55:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2891,
|
|
"id": 2907,
|
|
"nodeType": "Return",
|
|
"src": "6344:62:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2881,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6018:216:18",
|
|
"text": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present."
|
|
},
|
|
"id": 2909,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "set",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2888,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2883,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2909,
|
|
"src": "6252:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2882,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "6252:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2885,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2909,
|
|
"src": "6282:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2884,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6282:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2887,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2909,
|
|
"src": "6295:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2886,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6295:7:18",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6251:58:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2891,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2890,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2909,
|
|
"src": "6328:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2889,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6328:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6327:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "6239:174:18",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2928,
|
|
"nodeType": "Block",
|
|
"src": "6655:57:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2920,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2912,
|
|
"src": "6680:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2921,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "6680:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2924,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2914,
|
|
"src": "6700:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2923,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6692:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 2922,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6692:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2925,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6692:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2919,
|
|
"name": "_remove",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2759,
|
|
"src": "6672:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 2926,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6672:33:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2918,
|
|
"id": 2927,
|
|
"nodeType": "Return",
|
|
"src": "6665:40:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2910,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6419:148:18",
|
|
"text": "@dev Removes a value from a set. O(1).\n * Returns true if the key was removed from the map, that is if it was present."
|
|
},
|
|
"id": 2929,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2915,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2912,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2929,
|
|
"src": "6588:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2911,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "6588:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2914,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2929,
|
|
"src": "6618:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2913,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6618:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6587:43:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2918,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2917,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2929,
|
|
"src": "6649:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2916,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6649:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6648:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "6572:140:18",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2948,
|
|
"nodeType": "Block",
|
|
"src": "6881:59:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2940,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2932,
|
|
"src": "6908:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2941,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "6908:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2944,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2934,
|
|
"src": "6928:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2943,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6920:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 2942,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6920:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2945,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6920:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2939,
|
|
"name": "_contains",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2777,
|
|
"src": "6898:9:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 2946,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6898:35:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2938,
|
|
"id": 2947,
|
|
"nodeType": "Return",
|
|
"src": "6891:42:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2930,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6718:68:18",
|
|
"text": "@dev Returns true if the key is in the map. O(1)."
|
|
},
|
|
"id": 2949,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2935,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2932,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2949,
|
|
"src": "6809:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2931,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "6809:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2934,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2949,
|
|
"src": "6839:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2933,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6839:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6808:43:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2938,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2937,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2949,
|
|
"src": "6875:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2936,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6875:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6874:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "6791:149:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2962,
|
|
"nodeType": "Block",
|
|
"src": "7101:43:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2958,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2952,
|
|
"src": "7126:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2959,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "7126:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
],
|
|
"id": 2957,
|
|
"name": "_length",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2790,
|
|
"src": "7118:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$returns$_t_uint256_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer) view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 2960,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7118:19:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2956,
|
|
"id": 2961,
|
|
"nodeType": "Return",
|
|
"src": "7111:26:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2950,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6946:72:18",
|
|
"text": "@dev Returns the number of elements in the map. O(1)."
|
|
},
|
|
"id": 2963,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2953,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2952,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2963,
|
|
"src": "7039:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2951,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "7039:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7038:30:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2956,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2955,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2963,
|
|
"src": "7092:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2954,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7092:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7091:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "7023:121:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2998,
|
|
"nodeType": "Block",
|
|
"src": "7570:126:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2976,
|
|
2978
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2976,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2998,
|
|
"src": "7581:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2975,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7581:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2978,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2998,
|
|
"src": "7594:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2977,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7594:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2984,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2980,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2966,
|
|
"src": "7615:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2981,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "7615:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2982,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2968,
|
|
"src": "7627:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2979,
|
|
"name": "_at",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2825,
|
|
"src": "7611:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,uint256) view returns (bytes32,bytes32)"
|
|
}
|
|
},
|
|
"id": 2983,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7611:22:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$",
|
|
"typeString": "tuple(bytes32,bytes32)"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "7580:53:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"components": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2987,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2976,
|
|
"src": "7659:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2986,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7651:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 2985,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7651:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2988,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7651:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2993,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2978,
|
|
"src": "7681:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2992,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7673:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 2991,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7673:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2994,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7673:14:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2990,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7665:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 2989,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7665:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2995,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7665:23:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
}
|
|
],
|
|
"id": 2996,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "7650:39:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint256_$_t_address_payable_$",
|
|
"typeString": "tuple(uint256,address payable)"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2974,
|
|
"id": 2997,
|
|
"nodeType": "Return",
|
|
"src": "7643:46:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2964,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7149:318:18",
|
|
"text": "@dev Returns the element stored at position `index` in the set. O(1).\nNote that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}."
|
|
},
|
|
"id": 2999,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2969,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2966,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2999,
|
|
"src": "7484:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2965,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "7484:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2968,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2999,
|
|
"src": "7514:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2967,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7514:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7483:45:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2974,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2971,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2999,
|
|
"src": "7552:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2970,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7552:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2973,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2999,
|
|
"src": "7561:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2972,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7561:7:18",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7551:18:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "7472:224:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3024,
|
|
"nodeType": "Block",
|
|
"src": "7936:72:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3014,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3002,
|
|
"src": "7974:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 3015,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "7974:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3018,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3004,
|
|
"src": "7994:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3017,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7986:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3016,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7986:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3019,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7986:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3013,
|
|
"name": "_get",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2842,
|
|
2877
|
|
],
|
|
"referencedDeclaration": 2842,
|
|
"src": "7969:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3020,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7969:30:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3012,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7961:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3011,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7961:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3021,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7961:39:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3010,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7953:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 3009,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7953:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3022,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7953:48:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3008,
|
|
"id": 3023,
|
|
"nodeType": "Return",
|
|
"src": "7946:55:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3000,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7702:141:18",
|
|
"text": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map."
|
|
},
|
|
"id": 3025,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "get",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3005,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3002,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3025,
|
|
"src": "7861:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3001,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "7861:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3004,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3025,
|
|
"src": "7891:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3003,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7891:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7860:43:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3008,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3007,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3025,
|
|
"src": "7927:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3006,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7927:7:18",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7926:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "7848:160:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3053,
|
|
"nodeType": "Block",
|
|
"src": "8231:86:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3042,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3028,
|
|
"src": "8269:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 3043,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "8269:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3046,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "8289:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3045,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "8281:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3044,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8281:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3047,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8281:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3048,
|
|
"name": "errorMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3032,
|
|
"src": "8295:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
],
|
|
"id": 3041,
|
|
"name": "_get",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2842,
|
|
2877
|
|
],
|
|
"referencedDeclaration": 2877,
|
|
"src": "8264:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,string memory) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3049,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8264:44:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3040,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "8256:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3039,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8256:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3050,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8256:53:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3038,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "8248:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 3037,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8248:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3051,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8248:62:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3036,
|
|
"id": 3052,
|
|
"nodeType": "Return",
|
|
"src": "8241:69:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3026,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "8014:96:18",
|
|
"text": "@dev Same as {get}, with a custom error message when `key` is not in the map."
|
|
},
|
|
"id": 3054,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "get",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3033,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3028,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3054,
|
|
"src": "8128:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3027,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "8128:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3030,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3054,
|
|
"src": "8158:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3029,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8158:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3032,
|
|
"mutability": "mutable",
|
|
"name": "errorMessage",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3054,
|
|
"src": "8171:26:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3031,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8171:6:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8127:71:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3036,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3035,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3054,
|
|
"src": "8222:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3034,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8222:7:18",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8221:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "8115:202:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"scope": 3056,
|
|
"src": "764:7555:18"
|
|
}
|
|
],
|
|
"src": "33:8287:18"
|
|
},
|
|
"legacyAST": {
|
|
"absolutePath": "@openzeppelin/contracts/utils/EnumerableMap.sol",
|
|
"exportedSymbols": {
|
|
"EnumerableMap": [
|
|
3055
|
|
]
|
|
},
|
|
"id": 3056,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 2602,
|
|
"literals": [
|
|
"solidity",
|
|
"^",
|
|
"0.6",
|
|
".0"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "33:23:18"
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"contractDependencies": [],
|
|
"contractKind": "library",
|
|
"documentation": {
|
|
"id": 2603,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "58:705:18",
|
|
"text": "@dev Library for managing an enumerable variant of Solidity's\nhttps://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\ntype.\n * Maps have the following properties:\n * - Entries are added, removed, and checked for existence in constant time\n(O(1)).\n- Entries are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableMap for EnumerableMap.UintToAddressMap;\n * // Declare a set state variable\n EnumerableMap.UintToAddressMap private myMap;\n}\n```\n * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are\nsupported."
|
|
},
|
|
"fullyImplemented": true,
|
|
"id": 3055,
|
|
"linearizedBaseContracts": [
|
|
3055
|
|
],
|
|
"name": "EnumerableMap",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"canonicalName": "EnumerableMap.MapEntry",
|
|
"id": 2608,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 2605,
|
|
"mutability": "mutable",
|
|
"name": "_key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2608,
|
|
"src": "1276:12:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2604,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1276:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2607,
|
|
"mutability": "mutable",
|
|
"name": "_value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2608,
|
|
"src": "1298:14:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2606,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1298:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "MapEntry",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3055,
|
|
"src": "1250:69:18",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"canonicalName": "EnumerableMap.Map",
|
|
"id": 2616,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 2611,
|
|
"mutability": "mutable",
|
|
"name": "_entries",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2616,
|
|
"src": "1388:19:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"contractScope": null,
|
|
"id": 2609,
|
|
"name": "MapEntry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2608,
|
|
"src": "1388:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
}
|
|
},
|
|
"id": 2610,
|
|
"length": null,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "1388:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry[]"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2615,
|
|
"mutability": "mutable",
|
|
"name": "_indexes",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2616,
|
|
"src": "1557:37:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 2614,
|
|
"keyType": {
|
|
"id": 2612,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1566:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1557:28:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 2613,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1577:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "Map",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3055,
|
|
"src": "1325:276:18",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2677,
|
|
"nodeType": "Block",
|
|
"src": "1910:596:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2629
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2629,
|
|
"mutability": "mutable",
|
|
"name": "keyIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2677,
|
|
"src": "2018:16:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2628,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2018:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2634,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2630,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2037:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2631,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "2037:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2633,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2632,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2621,
|
|
"src": "2050:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2037:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2018:36:18"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2637,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2635,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2629,
|
|
"src": "2069:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2636,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2081:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "2069:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 2675,
|
|
"nodeType": "Block",
|
|
"src": "2408:92:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2671,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2662,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2422:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2667,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "2422:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2668,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2666,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2664,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2629,
|
|
"src": "2435:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2665,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2446:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2435:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2422:26:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"id": 2669,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"memberName": "_value",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2607,
|
|
"src": "2422:33:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 2670,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2623,
|
|
"src": "2458:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"src": "2422:41:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"id": 2672,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2422:41:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 2673,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2484:5:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"functionReturnParameters": 2627,
|
|
"id": 2674,
|
|
"nodeType": "Return",
|
|
"src": "2477:12:18"
|
|
}
|
|
]
|
|
},
|
|
"id": 2676,
|
|
"nodeType": "IfStatement",
|
|
"src": "2065:435:18",
|
|
"trueBody": {
|
|
"id": 2661,
|
|
"nodeType": "Block",
|
|
"src": "2084:318:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2644,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2621,
|
|
"src": "2170:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2645,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2623,
|
|
"src": "2183:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2643,
|
|
"name": "MapEntry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2608,
|
|
"src": "2153:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_MapEntry_$2608_storage_ptr_$",
|
|
"typeString": "type(struct EnumerableMap.MapEntry storage pointer)"
|
|
}
|
|
},
|
|
"id": 2646,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"names": [
|
|
"_key",
|
|
"_value"
|
|
],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2153:38:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_memory_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_memory_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry memory"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2638,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2135:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2641,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "2135:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2642,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "push",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2135:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MapEntry_$2608_storage_$returns$__$",
|
|
"typeString": "function (struct EnumerableMap.MapEntry storage ref)"
|
|
}
|
|
},
|
|
"id": 2647,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2135:57:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2648,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2135:57:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2657,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2649,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2327:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2652,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "2327:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2653,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2651,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2621,
|
|
"src": "2340:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2327:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2654,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2619,
|
|
"src": "2347:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2655,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "2347:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2656,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2347:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "2327:39:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 2658,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2327:39:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 2659,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2387:4:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 2627,
|
|
"id": 2660,
|
|
"nodeType": "Return",
|
|
"src": "2380:11:18"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2617,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1607:216:18",
|
|
"text": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present."
|
|
},
|
|
"id": 2678,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_set",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2624,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2619,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2678,
|
|
"src": "1842:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2618,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "1842:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2621,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2678,
|
|
"src": "1859:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2620,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1859:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2623,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2678,
|
|
"src": "1872:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2622,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1872:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1841:45:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2627,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2626,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2678,
|
|
"src": "1904:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2625,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1904:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1903:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "1828:678:18",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2758,
|
|
"nodeType": "Block",
|
|
"src": "2744:1447:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2689
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2689,
|
|
"mutability": "mutable",
|
|
"name": "keyIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2758,
|
|
"src": "2852:16:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2688,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2852:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2694,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2690,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "2871:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2691,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "2871:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2693,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2692,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2683,
|
|
"src": "2884:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2871:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2852:36:18"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2697,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2695,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2689,
|
|
"src": "2903:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2696,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2915:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "2903:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 2756,
|
|
"nodeType": "Block",
|
|
"src": "4148:37:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 2754,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4169:5:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"functionReturnParameters": 2687,
|
|
"id": 2755,
|
|
"nodeType": "Return",
|
|
"src": "4162:12:18"
|
|
}
|
|
]
|
|
},
|
|
"id": 2757,
|
|
"nodeType": "IfStatement",
|
|
"src": "2899:1286:18",
|
|
"trueBody": {
|
|
"id": 2753,
|
|
"nodeType": "Block",
|
|
"src": "2918:1224:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2699
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2699,
|
|
"mutability": "mutable",
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2753,
|
|
"src": "3259:21:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2698,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3259:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2703,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2702,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2700,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2689,
|
|
"src": "3283:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2701,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3294:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3283:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3259:36:18"
|
|
},
|
|
{
|
|
"assignments": [
|
|
2705
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2705,
|
|
"mutability": "mutable",
|
|
"name": "lastIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2753,
|
|
"src": "3309:17:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2704,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3309:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2711,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2710,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2706,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3329:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2707,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "3329:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2708,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "3329:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2709,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3351:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3329:23:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3309:43:18"
|
|
},
|
|
{
|
|
"assignments": [
|
|
2713
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2713,
|
|
"mutability": "mutable",
|
|
"name": "lastEntry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2753,
|
|
"src": "3592:26:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2712,
|
|
"name": "MapEntry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2608,
|
|
"src": "3592:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2718,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2714,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3621:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2715,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "3621:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2717,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2716,
|
|
"name": "lastIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2705,
|
|
"src": "3634:9:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3621:23:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3592:52:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2725,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2719,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3736:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2722,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "3736:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2723,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2721,
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2699,
|
|
"src": "3749:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3736:27:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 2724,
|
|
"name": "lastEntry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2713,
|
|
"src": "3766:9:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry storage pointer"
|
|
}
|
|
},
|
|
"src": "3736:39:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"id": 2726,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3736:39:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2736,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2727,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3841:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2731,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "3841:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2732,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2729,
|
|
"name": "lastEntry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2713,
|
|
"src": "3854:9:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry storage pointer"
|
|
}
|
|
},
|
|
"id": 2730,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_key",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2605,
|
|
"src": "3854:14:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3841:28:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2735,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2733,
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2699,
|
|
"src": "3872:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "+",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2734,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3888:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3872:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "3841:48:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 2737,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3841:48:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2738,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "3995:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2741,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "3995:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2742,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "pop",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "3995:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 2743,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3995:18:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2744,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3995:18:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2749,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "delete",
|
|
"prefix": true,
|
|
"src": "4081:24:18",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2745,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2681,
|
|
"src": "4088:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2746,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "4088:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2748,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2747,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2683,
|
|
"src": "4101:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4088:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2750,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4081:24:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 2751,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4127:4:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 2687,
|
|
"id": 2752,
|
|
"nodeType": "Return",
|
|
"src": "4120:11:18"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2679,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2512:157:18",
|
|
"text": "@dev Removes a key-value pair from a map. O(1).\n * Returns true if the key was removed from the map, that is if it was present."
|
|
},
|
|
"id": 2759,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2684,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2681,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2759,
|
|
"src": "2691:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2680,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "2691:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2683,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2759,
|
|
"src": "2708:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2682,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2708:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2690:30:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2687,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2686,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2759,
|
|
"src": "2738:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2685,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2738:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2737:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "2674:1517:18",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2776,
|
|
"nodeType": "Block",
|
|
"src": "4347:46:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2774,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2769,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2762,
|
|
"src": "4364:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2770,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "4364:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2772,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2771,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2764,
|
|
"src": "4377:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4364:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2773,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4385:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "4364:22:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2768,
|
|
"id": 2775,
|
|
"nodeType": "Return",
|
|
"src": "4357:29:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2760,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4197:68:18",
|
|
"text": "@dev Returns true if the key is in the map. O(1)."
|
|
},
|
|
"id": 2777,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2765,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2762,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2777,
|
|
"src": "4289:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2761,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "4289:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2764,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2777,
|
|
"src": "4306:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2763,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4306:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4288:30:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2768,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2767,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2777,
|
|
"src": "4341:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2766,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4341:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4340:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "4270:123:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2789,
|
|
"nodeType": "Block",
|
|
"src": "4548:43:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2785,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2780,
|
|
"src": "4565:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2786,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "4565:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2787,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4565:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2784,
|
|
"id": 2788,
|
|
"nodeType": "Return",
|
|
"src": "4558:26:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2778,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4399:79:18",
|
|
"text": "@dev Returns the number of key-value pairs in the map. O(1)."
|
|
},
|
|
"id": 2790,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2781,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2780,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2790,
|
|
"src": "4500:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2779,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "4500:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4499:17:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2784,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2783,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2790,
|
|
"src": "4539:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2782,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4539:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4538:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "4483:108:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2824,
|
|
"nodeType": "Block",
|
|
"src": "5019:189:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2807,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2803,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2793,
|
|
"src": "5037:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2804,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "5037:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2805,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "5037:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2806,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2795,
|
|
"src": "5059:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "5037:27:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473",
|
|
"id": 2808,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5066:36:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155",
|
|
"typeString": "literal_string \"EnumerableMap: index out of bounds\""
|
|
},
|
|
"value": "EnumerableMap: index out of bounds"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155",
|
|
"typeString": "literal_string \"EnumerableMap: index out of bounds\""
|
|
}
|
|
],
|
|
"id": 2802,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "5029:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2809,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5029:74:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2810,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5029:74:18"
|
|
},
|
|
{
|
|
"assignments": [
|
|
2812
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2812,
|
|
"mutability": "mutable",
|
|
"name": "entry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2824,
|
|
"src": "5114:22:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2811,
|
|
"name": "MapEntry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2608,
|
|
"src": "5114:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2817,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2813,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2793,
|
|
"src": "5139:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2814,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "5139:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2816,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2815,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2795,
|
|
"src": "5152:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "5139:19:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "5114:44:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"components": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2818,
|
|
"name": "entry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2812,
|
|
"src": "5176:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry storage pointer"
|
|
}
|
|
},
|
|
"id": 2819,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_key",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2605,
|
|
"src": "5176:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2820,
|
|
"name": "entry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2812,
|
|
"src": "5188:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage_ptr",
|
|
"typeString": "struct EnumerableMap.MapEntry storage pointer"
|
|
}
|
|
},
|
|
"id": 2821,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_value",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2607,
|
|
"src": "5188:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"id": 2822,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "5175:26:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$",
|
|
"typeString": "tuple(bytes32,bytes32)"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2801,
|
|
"id": 2823,
|
|
"nodeType": "Return",
|
|
"src": "5168:33:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2791,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4596:333:18",
|
|
"text": "@dev Returns the key-value pair stored at position `index` in the map. O(1).\n * Note that there are no guarantees on the ordering of entries inside the\narray, and it may change when more entries are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}."
|
|
},
|
|
"id": 2825,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2796,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2793,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2825,
|
|
"src": "4947:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2792,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "4947:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2795,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2825,
|
|
"src": "4964:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2794,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4964:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4946:32:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2801,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2798,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2825,
|
|
"src": "5001:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2797,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5001:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2800,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2825,
|
|
"src": "5010:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2799,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5010:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5000:18:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "4934:274:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2841,
|
|
"nodeType": "Block",
|
|
"src": "5435:72:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2836,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2828,
|
|
"src": "5457:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2837,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2830,
|
|
"src": "5462:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579",
|
|
"id": 2838,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5467:32:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072",
|
|
"typeString": "literal_string \"EnumerableMap: nonexistent key\""
|
|
},
|
|
"value": "EnumerableMap: nonexistent key"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072",
|
|
"typeString": "literal_string \"EnumerableMap: nonexistent key\""
|
|
}
|
|
],
|
|
"id": 2835,
|
|
"name": "_get",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2842,
|
|
2877
|
|
],
|
|
"referencedDeclaration": 2877,
|
|
"src": "5452:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,string memory) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 2839,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5452:48:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2834,
|
|
"id": 2840,
|
|
"nodeType": "Return",
|
|
"src": "5445:55:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2826,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5214:141:18",
|
|
"text": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map."
|
|
},
|
|
"id": 2842,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_get",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2831,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2828,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2842,
|
|
"src": "5374:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2827,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "5374:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2830,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2842,
|
|
"src": "5391:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2829,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5391:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5373:30:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2834,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2833,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2842,
|
|
"src": "5426:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2832,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5426:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5425:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "5360:147:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2876,
|
|
"nodeType": "Block",
|
|
"src": "5718:212:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2855
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2855,
|
|
"mutability": "mutable",
|
|
"name": "keyIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2876,
|
|
"src": "5728:16:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2854,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5728:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2860,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2856,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2845,
|
|
"src": "5747:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2857,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2615,
|
|
"src": "5747:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 2859,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2858,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2847,
|
|
"src": "5760:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "5747:17:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "5728:36:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2864,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2862,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2855,
|
|
"src": "5782:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 2863,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5794:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "5782:13:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2865,
|
|
"name": "errorMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2849,
|
|
"src": "5797:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
],
|
|
"id": 2861,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "5774:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 2866,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5774:36:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 2867,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "5774:36:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2868,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2845,
|
|
"src": "5863:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map storage pointer"
|
|
}
|
|
},
|
|
"id": 2869,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_entries",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2611,
|
|
"src": "5863:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_MapEntry_$2608_storage_$dyn_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref"
|
|
}
|
|
},
|
|
"id": 2873,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 2872,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 2870,
|
|
"name": "keyIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2855,
|
|
"src": "5876:8:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 2871,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "5887:1:18",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "5876:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "5863:26:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_MapEntry_$2608_storage",
|
|
"typeString": "struct EnumerableMap.MapEntry storage ref"
|
|
}
|
|
},
|
|
"id": 2874,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_value",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2607,
|
|
"src": "5863:33:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2853,
|
|
"id": 2875,
|
|
"nodeType": "Return",
|
|
"src": "5856:40:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2843,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5513:97:18",
|
|
"text": "@dev Same as {_get}, with a custom error message when `key` is not in the map."
|
|
},
|
|
"id": 2877,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_get",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2850,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2845,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2877,
|
|
"src": "5629:15:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2844,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "5629:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2847,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2877,
|
|
"src": "5646:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2846,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5646:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2849,
|
|
"mutability": "mutable",
|
|
"name": "errorMessage",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2877,
|
|
"src": "5659:26:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 2848,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5659:6:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5628:58:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2853,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2852,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2877,
|
|
"src": "5709:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2851,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5709:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5708:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "5615:315:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"canonicalName": "EnumerableMap.UintToAddressMap",
|
|
"id": 2880,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 2879,
|
|
"mutability": "mutable",
|
|
"name": "_inner",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2880,
|
|
"src": "5995:10:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2878,
|
|
"name": "Map",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2616,
|
|
"src": "5995:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage_ptr",
|
|
"typeString": "struct EnumerableMap.Map"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3055,
|
|
"src": "5961:51:18",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2908,
|
|
"nodeType": "Block",
|
|
"src": "6334:79:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2893,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2883,
|
|
"src": "6356:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2894,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "6356:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2897,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2885,
|
|
"src": "6376:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2896,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6368:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 2895,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6368:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2898,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6368:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2903,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2887,
|
|
"src": "6398:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 2902,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6390:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 2901,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6390:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2904,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6390:14:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2900,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6382:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 2899,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6382:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2905,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6382:23:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2892,
|
|
"name": "_set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2678,
|
|
"src": "6351:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 2906,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6351:55:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2891,
|
|
"id": 2907,
|
|
"nodeType": "Return",
|
|
"src": "6344:62:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2881,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6018:216:18",
|
|
"text": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present."
|
|
},
|
|
"id": 2909,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "set",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2888,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2883,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2909,
|
|
"src": "6252:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2882,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "6252:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2885,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2909,
|
|
"src": "6282:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2884,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6282:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2887,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2909,
|
|
"src": "6295:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2886,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6295:7:18",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6251:58:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2891,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2890,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2909,
|
|
"src": "6328:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2889,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6328:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6327:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "6239:174:18",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2928,
|
|
"nodeType": "Block",
|
|
"src": "6655:57:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2920,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2912,
|
|
"src": "6680:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2921,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "6680:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2924,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2914,
|
|
"src": "6700:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2923,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6692:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 2922,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6692:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2925,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6692:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2919,
|
|
"name": "_remove",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2759,
|
|
"src": "6672:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 2926,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6672:33:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2918,
|
|
"id": 2927,
|
|
"nodeType": "Return",
|
|
"src": "6665:40:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2910,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6419:148:18",
|
|
"text": "@dev Removes a value from a set. O(1).\n * Returns true if the key was removed from the map, that is if it was present."
|
|
},
|
|
"id": 2929,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2915,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2912,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2929,
|
|
"src": "6588:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2911,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "6588:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2914,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2929,
|
|
"src": "6618:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2913,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6618:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6587:43:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2918,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2917,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2929,
|
|
"src": "6649:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2916,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6649:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6648:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "6572:140:18",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2948,
|
|
"nodeType": "Block",
|
|
"src": "6881:59:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2940,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2932,
|
|
"src": "6908:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2941,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "6908:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2944,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2934,
|
|
"src": "6928:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2943,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6920:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 2942,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6920:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2945,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6920:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2939,
|
|
"name": "_contains",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2777,
|
|
"src": "6898:9:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 2946,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6898:35:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2938,
|
|
"id": 2947,
|
|
"nodeType": "Return",
|
|
"src": "6891:42:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2930,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6718:68:18",
|
|
"text": "@dev Returns true if the key is in the map. O(1)."
|
|
},
|
|
"id": 2949,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2935,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2932,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2949,
|
|
"src": "6809:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2931,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "6809:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2934,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2949,
|
|
"src": "6839:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2933,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6839:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6808:43:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2938,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2937,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2949,
|
|
"src": "6875:4:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 2936,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6875:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6874:6:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "6791:149:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2962,
|
|
"nodeType": "Block",
|
|
"src": "7101:43:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2958,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2952,
|
|
"src": "7126:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2959,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "7126:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
],
|
|
"id": 2957,
|
|
"name": "_length",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2790,
|
|
"src": "7118:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$returns$_t_uint256_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer) view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 2960,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7118:19:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2956,
|
|
"id": 2961,
|
|
"nodeType": "Return",
|
|
"src": "7111:26:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2950,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6946:72:18",
|
|
"text": "@dev Returns the number of elements in the map. O(1)."
|
|
},
|
|
"id": 2963,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2953,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2952,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2963,
|
|
"src": "7039:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2951,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "7039:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7038:30:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2956,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2955,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2963,
|
|
"src": "7092:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2954,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7092:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7091:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "7023:121:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 2998,
|
|
"nodeType": "Block",
|
|
"src": "7570:126:18",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
2976,
|
|
2978
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 2976,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2998,
|
|
"src": "7581:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2975,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7581:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2978,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2998,
|
|
"src": "7594:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 2977,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7594:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 2984,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 2980,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2966,
|
|
"src": "7615:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 2981,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "7615:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2982,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2968,
|
|
"src": "7627:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2979,
|
|
"name": "_at",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2825,
|
|
"src": "7611:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,uint256) view returns (bytes32,bytes32)"
|
|
}
|
|
},
|
|
"id": 2983,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7611:22:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$",
|
|
"typeString": "tuple(bytes32,bytes32)"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "7580:53:18"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"components": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2987,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2976,
|
|
"src": "7659:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2986,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7651:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 2985,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7651:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2988,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7651:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 2993,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2978,
|
|
"src": "7681:5:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 2992,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7673:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 2991,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7673:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2994,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7673:14:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 2990,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7665:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 2989,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7665:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 2995,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7665:23:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
}
|
|
],
|
|
"id": 2996,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "7650:39:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint256_$_t_address_payable_$",
|
|
"typeString": "tuple(uint256,address payable)"
|
|
}
|
|
},
|
|
"functionReturnParameters": 2974,
|
|
"id": 2997,
|
|
"nodeType": "Return",
|
|
"src": "7643:46:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 2964,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7149:318:18",
|
|
"text": "@dev Returns the element stored at position `index` in the set. O(1).\nNote that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}."
|
|
},
|
|
"id": 2999,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 2969,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2966,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2999,
|
|
"src": "7484:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 2965,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "7484:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2968,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2999,
|
|
"src": "7514:13:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2967,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7514:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7483:45:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 2974,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 2971,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2999,
|
|
"src": "7552:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 2970,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7552:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 2973,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 2999,
|
|
"src": "7561:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 2972,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7561:7:18",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7551:18:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "7472:224:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3024,
|
|
"nodeType": "Block",
|
|
"src": "7936:72:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3014,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3002,
|
|
"src": "7974:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 3015,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "7974:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3018,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3004,
|
|
"src": "7994:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3017,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7986:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3016,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7986:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3019,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7986:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3013,
|
|
"name": "_get",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2842,
|
|
2877
|
|
],
|
|
"referencedDeclaration": 2842,
|
|
"src": "7969:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3020,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7969:30:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3012,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7961:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3011,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7961:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3021,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7961:39:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3010,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7953:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 3009,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7953:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3022,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7953:48:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3008,
|
|
"id": 3023,
|
|
"nodeType": "Return",
|
|
"src": "7946:55:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3000,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7702:141:18",
|
|
"text": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map."
|
|
},
|
|
"id": 3025,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "get",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3005,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3002,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3025,
|
|
"src": "7861:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3001,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "7861:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3004,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3025,
|
|
"src": "7891:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3003,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7891:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7860:43:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3008,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3007,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3025,
|
|
"src": "7927:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3006,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7927:7:18",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7926:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "7848:160:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3053,
|
|
"nodeType": "Block",
|
|
"src": "8231:86:18",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3042,
|
|
"name": "map",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3028,
|
|
"src": "8269:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap storage pointer"
|
|
}
|
|
},
|
|
"id": 3043,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 2879,
|
|
"src": "8269:10:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3046,
|
|
"name": "key",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3030,
|
|
"src": "8289:3:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3045,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "8281:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3044,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8281:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3047,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8281:12:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3048,
|
|
"name": "errorMessage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3032,
|
|
"src": "8295:12:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Map_$2616_storage",
|
|
"typeString": "struct EnumerableMap.Map storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string memory"
|
|
}
|
|
],
|
|
"id": 3041,
|
|
"name": "_get",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
2842,
|
|
2877
|
|
],
|
|
"referencedDeclaration": 2877,
|
|
"src": "8264:4:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Map_$2616_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,string memory) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3049,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8264:44:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3040,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "8256:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3039,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8256:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3050,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8256:53:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3038,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "8248:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 3037,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8248:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3051,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "8248:62:18",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3036,
|
|
"id": 3052,
|
|
"nodeType": "Return",
|
|
"src": "8241:69:18"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3026,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "8014:96:18",
|
|
"text": "@dev Same as {get}, with a custom error message when `key` is not in the map."
|
|
},
|
|
"id": 3054,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "get",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3033,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3028,
|
|
"mutability": "mutable",
|
|
"name": "map",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3054,
|
|
"src": "8128:28:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3027,
|
|
"name": "UintToAddressMap",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 2880,
|
|
"src": "8128:16:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintToAddressMap_$2880_storage_ptr",
|
|
"typeString": "struct EnumerableMap.UintToAddressMap"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3030,
|
|
"mutability": "mutable",
|
|
"name": "key",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3054,
|
|
"src": "8158:11:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3029,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8158:7:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3032,
|
|
"mutability": "mutable",
|
|
"name": "errorMessage",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3054,
|
|
"src": "8171:26:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_memory_ptr",
|
|
"typeString": "string"
|
|
},
|
|
"typeName": {
|
|
"id": 3031,
|
|
"name": "string",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8171:6:18",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_string_storage_ptr",
|
|
"typeString": "string"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8127:71:18"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3036,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3035,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3054,
|
|
"src": "8222:7:18",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3034,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "8222:7:18",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "8221:9:18"
|
|
},
|
|
"scope": 3055,
|
|
"src": "8115:202:18",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"scope": 3056,
|
|
"src": "764:7555:18"
|
|
}
|
|
],
|
|
"src": "33:8287:18"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.6.6+commit.6c089d02.Emscripten.clang"
|
|
},
|
|
"networks": {},
|
|
"schemaVersion": "3.2.5",
|
|
"updatedAt": "2020-10-28T15:56:43.373Z",
|
|
"devdoc": {
|
|
"details": "Library for managing an enumerable variant of Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] type. * Maps have the following properties: * - Entries are added, removed, and checked for existence in constant time (O(1)). - Entries are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableMap for EnumerableMap.UintToAddressMap; * // Declare a set state variable EnumerableMap.UintToAddressMap private myMap; } ``` * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are supported.",
|
|
"methods": {}
|
|
},
|
|
"userdoc": {
|
|
"methods": {}
|
|
}
|
|
} |