mirror of
https://github.com/PatrickAlphaC/dungeons-and-dragons-nft.git
synced 2021-05-29 14:48:35 +03:00
10164 lines
425 KiB
JSON
10164 lines
425 KiB
JSON
{
|
|
"contractName": "EnumerableSet",
|
|
"abi": [],
|
|
"metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. * Sets have the following properties: * - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; * // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` * As of v3.0.0, only sets of type `address` (`AddressSet`) and `uint256` (`UintSet`) are supported.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/EnumerableSet.sol\":\"EnumerableSet\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0xb2a11b236f073662f5a196995863f51c11d006bf7c3de158b316dfa1506c4b79\",\"urls\":[\"bzz-raw://8651649cf0b9efa18c3b01c030276fa320d41adbdc286833417e7f36e357b2f3\",\"dweb:/ipfs/QmafhM2Nd1aP43QVB1eRRZaqRXQKswNfQcWi8U8xjrxCfN\"]}},\"version\":1}",
|
|
"bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220467c7bf5957e391931c059cbf9403648e80f4d64f3e271f48736fd2eb51abbc064736f6c63430006060033",
|
|
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220467c7bf5957e391931c059cbf9403648e80f4d64f3e271f48736fd2eb51abbc064736f6c63430006060033",
|
|
"immutableReferences": {},
|
|
"sourceMap": "724:7062:19:-: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": "724:7062:19:-: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\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n * types.\n *\n * Sets have the following properties:\n *\n * - Elements are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n * // Add the library methods\n * using EnumerableSet for EnumerableSet.AddressSet;\n *\n * // Declare a set state variable\n * EnumerableSet.AddressSet private mySet;\n * }\n * ```\n *\n * As of v3.0.0, only sets of type `address` (`AddressSet`) and `uint256`\n * (`UintSet`) are supported.\n */\nlibrary EnumerableSet {\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Set type with\n // bytes32 values.\n // The Set implementation uses private functions, and user-facing\n // implementations (such as AddressSet) are just wrappers around the\n // underlying Set.\n // This means that we can only create new EnumerableSets for types that fit\n // in bytes32.\n\n struct Set {\n // Storage of set values\n bytes32[] _values;\n\n // Position of the value in the `values` array, plus 1 because index 0\n // means a value is not in the set.\n mapping (bytes32 => uint256) _indexes;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function _add(Set storage set, bytes32 value) private returns (bool) {\n if (!_contains(set, value)) {\n set._values.push(value);\n // The value is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n set._indexes[value] = set._values.length;\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function _remove(Set storage set, bytes32 value) private returns (bool) {\n // We read and store the value's index to prevent multiple reads from the same storage slot\n uint256 valueIndex = set._indexes[value];\n\n if (valueIndex != 0) { // Equivalent to contains(set, value)\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n // the array, and then remove the last element (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 toDeleteIndex = valueIndex - 1;\n uint256 lastIndex = set._values.length - 1;\n\n // When the value 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 bytes32 lastvalue = set._values[lastIndex];\n\n // Move the last value to the index where the value to delete is\n set._values[toDeleteIndex] = lastvalue;\n // Update the index for the moved value\n set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based\n\n // Delete the slot where the moved value was stored\n set._values.pop();\n\n // Delete the index for the deleted slot\n delete set._indexes[value];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function _contains(Set storage set, bytes32 value) private view returns (bool) {\n return set._indexes[value] != 0;\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function _length(Set storage set) private view returns (uint256) {\n return set._values.length;\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\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(Set storage set, uint256 index) private view returns (bytes32) {\n require(set._values.length > index, \"EnumerableSet: index out of bounds\");\n return set._values[index];\n }\n\n // AddressSet\n\n struct AddressSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(AddressSet storage set, address value) internal returns (bool) {\n return _add(set._inner, bytes32(uint256(value)));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(AddressSet storage set, address value) internal returns (bool) {\n return _remove(set._inner, bytes32(uint256(value)));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(AddressSet storage set, address value) internal view returns (bool) {\n return _contains(set._inner, bytes32(uint256(value)));\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(AddressSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\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(AddressSet storage set, uint256 index) internal view returns (address) {\n return address(uint256(_at(set._inner, index)));\n }\n\n\n // UintSet\n\n struct UintSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(UintSet storage set, uint256 value) internal returns (bool) {\n return _add(set._inner, bytes32(value));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(UintSet storage set, uint256 value) internal returns (bool) {\n return _remove(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(UintSet storage set, uint256 value) internal view returns (bool) {\n return _contains(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function length(UintSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\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(UintSet storage set, uint256 index) internal view returns (uint256) {\n return uint256(_at(set._inner, index));\n }\n}\n",
|
|
"sourcePath": "@openzeppelin/contracts/utils/EnumerableSet.sol",
|
|
"ast": {
|
|
"absolutePath": "@openzeppelin/contracts/utils/EnumerableSet.sol",
|
|
"exportedSymbols": {
|
|
"EnumerableSet": [
|
|
3450
|
|
]
|
|
},
|
|
"id": 3451,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 3057,
|
|
"literals": [
|
|
"solidity",
|
|
"^",
|
|
"0.6",
|
|
".0"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "33:23:19"
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"contractDependencies": [],
|
|
"contractKind": "library",
|
|
"documentation": {
|
|
"id": 3058,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "58:665:19",
|
|
"text": "@dev Library for managing\nhttps://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\ntypes.\n * Sets have the following properties:\n * - Elements are added, removed, and checked for existence in constant time\n(O(1)).\n- Elements are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableSet for EnumerableSet.AddressSet;\n * // Declare a set state variable\n EnumerableSet.AddressSet private mySet;\n}\n```\n * As of v3.0.0, only sets of type `address` (`AddressSet`) and `uint256`\n(`UintSet`) are supported."
|
|
},
|
|
"fullyImplemented": true,
|
|
"id": 3450,
|
|
"linearizedBaseContracts": [
|
|
3450
|
|
],
|
|
"name": "EnumerableSet",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"canonicalName": "EnumerableSet.Set",
|
|
"id": 3066,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 3061,
|
|
"mutability": "mutable",
|
|
"name": "_values",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3066,
|
|
"src": "1246:17:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
|
|
"typeString": "bytes32[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 3059,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1246:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"id": 3060,
|
|
"length": null,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "1246:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
|
|
"typeString": "bytes32[]"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3065,
|
|
"mutability": "mutable",
|
|
"name": "_indexes",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3066,
|
|
"src": "1397:37:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3064,
|
|
"keyType": {
|
|
"id": 3062,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1406:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1397:28:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 3063,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1417:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "Set",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3450,
|
|
"src": "1192:249:19",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3106,
|
|
"nodeType": "Block",
|
|
"src": "1680:335:19",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 3080,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "1694:22:19",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3077,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "1705:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3078,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3071,
|
|
"src": "1710:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3076,
|
|
"name": "_contains",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3205,
|
|
"src": "1695:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 3079,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1695:21:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 3104,
|
|
"nodeType": "Block",
|
|
"src": "1972:37:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 3102,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1993:5:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"functionReturnParameters": 3075,
|
|
"id": 3103,
|
|
"nodeType": "Return",
|
|
"src": "1986:12:19"
|
|
}
|
|
]
|
|
},
|
|
"id": 3105,
|
|
"nodeType": "IfStatement",
|
|
"src": "1690:319:19",
|
|
"trueBody": {
|
|
"id": 3101,
|
|
"nodeType": "Block",
|
|
"src": "1718:248:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3086,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3071,
|
|
"src": "1749:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3081,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "1732:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3084,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "1732:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3085,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "push",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1732:16:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$__$",
|
|
"typeString": "function (bytes32)"
|
|
}
|
|
},
|
|
"id": 3087,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1732:23:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3088,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1732:23:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3097,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3089,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "1890:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3092,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "1890:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3093,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3091,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3071,
|
|
"src": "1903:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1890:19:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3094,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "1912:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3095,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "1912:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3096,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1912:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1890:40:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3098,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1890:40:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 3099,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1951:4:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 3075,
|
|
"id": 3100,
|
|
"nodeType": "Return",
|
|
"src": "1944:11:19"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3067,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1447:159:19",
|
|
"text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present."
|
|
},
|
|
"id": 3107,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_add",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3072,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3069,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3107,
|
|
"src": "1625:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3068,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "1625:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3071,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3107,
|
|
"src": "1642:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3070,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1642:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1624:32:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3075,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3074,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3107,
|
|
"src": "1674:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3073,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1674:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1673:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "1611:404:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3186,
|
|
"nodeType": "Block",
|
|
"src": "2255:1440:19",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3118
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3118,
|
|
"mutability": "mutable",
|
|
"name": "valueIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3186,
|
|
"src": "2365:18:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3117,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2365:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3123,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3119,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "2386:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3120,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "2386:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3122,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3121,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3112,
|
|
"src": "2399:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2386:19:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2365:40:19"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3126,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3124,
|
|
"name": "valueIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3118,
|
|
"src": "2420:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3125,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2434:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "2420:15:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 3184,
|
|
"nodeType": "Block",
|
|
"src": "3652:37:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 3182,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3673:5:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"functionReturnParameters": 3116,
|
|
"id": 3183,
|
|
"nodeType": "Return",
|
|
"src": "3666:12:19"
|
|
}
|
|
]
|
|
},
|
|
"id": 3185,
|
|
"nodeType": "IfStatement",
|
|
"src": "2416:1273:19",
|
|
"trueBody": {
|
|
"id": 3181,
|
|
"nodeType": "Block",
|
|
"src": "2437:1209:19",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3128
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3128,
|
|
"mutability": "mutable",
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3181,
|
|
"src": "2777:21:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3127,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2777:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3132,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3131,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3129,
|
|
"name": "valueIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3118,
|
|
"src": "2801:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3130,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2814:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2801:14:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2777:38:19"
|
|
},
|
|
{
|
|
"assignments": [
|
|
3134
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3134,
|
|
"mutability": "mutable",
|
|
"name": "lastIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3181,
|
|
"src": "2829:17:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3133,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2829:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3140,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3139,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3135,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "2849:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3136,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "2849:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3137,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2849:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3138,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2870:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2849:22:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2829:42:19"
|
|
},
|
|
{
|
|
"assignments": [
|
|
3142
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3142,
|
|
"mutability": "mutable",
|
|
"name": "lastvalue",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3181,
|
|
"src": "3111:17:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3141,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3111:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3147,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3143,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3131:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3144,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "3131:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3146,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3145,
|
|
"name": "lastIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3134,
|
|
"src": "3143:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3131:22:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3111:42:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3154,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3148,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3245:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3151,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "3245:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3152,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3150,
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3128,
|
|
"src": "3257:13:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3245:26:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3153,
|
|
"name": "lastvalue",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3142,
|
|
"src": "3274:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"src": "3245:38:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"id": 3155,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3245:38:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3164,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3156,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3349:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3159,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "3349:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3160,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3158,
|
|
"name": "lastvalue",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3142,
|
|
"src": "3362:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3349:23:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3163,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3161,
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3128,
|
|
"src": "3375:13:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "+",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3162,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3391:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3375:17:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "3349:43:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3165,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3349:43:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3166,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3498:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3169,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "3498:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3170,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "pop",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "3498:15:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 3171,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3498:17:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3172,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3498:17:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3177,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "delete",
|
|
"prefix": true,
|
|
"src": "3583:26:19",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3173,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3590:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3174,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "3590:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3176,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3175,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3112,
|
|
"src": "3603:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3590:19:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3178,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3583:26:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 3179,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3631:4:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 3116,
|
|
"id": 3180,
|
|
"nodeType": "Return",
|
|
"src": "3624:11:19"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3108,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2021:157:19",
|
|
"text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent."
|
|
},
|
|
"id": 3187,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3113,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3110,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3187,
|
|
"src": "2200:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3109,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "2200:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3112,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3187,
|
|
"src": "2217:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3111,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2217:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2199:32:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3116,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3115,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3187,
|
|
"src": "2249:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3114,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2249:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2248:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "2183:1512:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3204,
|
|
"nodeType": "Block",
|
|
"src": "3855:48:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3202,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3197,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3190,
|
|
"src": "3872:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3198,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "3872:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3200,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3199,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3192,
|
|
"src": "3885:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3872:19:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3201,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3895:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "3872:24:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3196,
|
|
"id": 3203,
|
|
"nodeType": "Return",
|
|
"src": "3865:31:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3188,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3701:70:19",
|
|
"text": "@dev Returns true if the value is in the set. O(1)."
|
|
},
|
|
"id": 3205,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3193,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3190,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3205,
|
|
"src": "3795:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3189,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "3795:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3192,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3205,
|
|
"src": "3812:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3191,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3812:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3794:32:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3196,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3195,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3205,
|
|
"src": "3849:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3194,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3849:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3848:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "3776:127:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3217,
|
|
"nodeType": "Block",
|
|
"src": "4049:42:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3213,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3208,
|
|
"src": "4066:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3214,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "4066:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3215,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4066:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3212,
|
|
"id": 3216,
|
|
"nodeType": "Return",
|
|
"src": "4059:25:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3206,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3909:70:19",
|
|
"text": "@dev Returns the number of values on the set. O(1)."
|
|
},
|
|
"id": 3218,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3209,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3208,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3218,
|
|
"src": "4001:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3207,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "4001:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4000:17:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3212,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3211,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3218,
|
|
"src": "4040:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3210,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4040:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4039:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "3984:107:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3242,
|
|
"nodeType": "Block",
|
|
"src": "4499:125:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3233,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3229,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3221,
|
|
"src": "4517:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3230,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "4517:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3231,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4517:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3232,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3223,
|
|
"src": "4538:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "4517:26:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473",
|
|
"id": 3234,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4545:36:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb",
|
|
"typeString": "literal_string \"EnumerableSet: index out of bounds\""
|
|
},
|
|
"value": "EnumerableSet: index out of bounds"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb",
|
|
"typeString": "literal_string \"EnumerableSet: index out of bounds\""
|
|
}
|
|
],
|
|
"id": 3228,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "4509:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 3235,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4509:73:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3236,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4509:73:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3237,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3221,
|
|
"src": "4599:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3238,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "4599:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3240,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3239,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3223,
|
|
"src": "4611:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4599:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3227,
|
|
"id": 3241,
|
|
"nodeType": "Return",
|
|
"src": "4592:25:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3219,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4096:322:19",
|
|
"text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note 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": 3243,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3224,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3221,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3243,
|
|
"src": "4436:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3220,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "4436:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3223,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3243,
|
|
"src": "4453:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3222,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4453:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4435:32:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3227,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3226,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3243,
|
|
"src": "4490:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3225,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4490:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4489:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "4423:201:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"canonicalName": "EnumerableSet.AddressSet",
|
|
"id": 3246,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 3245,
|
|
"mutability": "mutable",
|
|
"name": "_inner",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3246,
|
|
"src": "4677:10:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3244,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "4677:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "AddressSet",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3450,
|
|
"src": "4649:45:19",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3268,
|
|
"nodeType": "Block",
|
|
"src": "4940:65:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3257,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3249,
|
|
"src": "4962:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3258,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "4962:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3263,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3251,
|
|
"src": "4990:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3262,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "4982:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3261,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4982:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3264,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4982:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3260,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "4974:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3259,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4974:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3265,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4974:23:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3256,
|
|
"name": "_add",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3107,
|
|
"src": "4957:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 3266,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4957:41:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3255,
|
|
"id": 3267,
|
|
"nodeType": "Return",
|
|
"src": "4950:48:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3247,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4700:159:19",
|
|
"text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present."
|
|
},
|
|
"id": 3269,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "add",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3252,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3249,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3269,
|
|
"src": "4877:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3248,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "4877:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3251,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3269,
|
|
"src": "4901:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3250,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4901:7:19",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4876:39:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3255,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3254,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3269,
|
|
"src": "4934:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3253,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4934:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4933:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "4864:141:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3291,
|
|
"nodeType": "Block",
|
|
"src": "5252:68:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3280,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3272,
|
|
"src": "5277:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3281,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "5277:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3286,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3274,
|
|
"src": "5305:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3285,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "5297:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3284,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5297:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3287,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5297:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3283,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "5289:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3282,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5289:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3288,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5289:23:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3279,
|
|
"name": "_remove",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3187,
|
|
"src": "5269:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 3289,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5269:44:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3278,
|
|
"id": 3290,
|
|
"nodeType": "Return",
|
|
"src": "5262:51:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3270,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5011:157:19",
|
|
"text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent."
|
|
},
|
|
"id": 3292,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3275,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3272,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3292,
|
|
"src": "5189:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3271,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "5189:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3274,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3292,
|
|
"src": "5213:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3273,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5213:7:19",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5188:39:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3278,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3277,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3292,
|
|
"src": "5246:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3276,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5246:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5245:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "5173:147:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3314,
|
|
"nodeType": "Block",
|
|
"src": "5487:70:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3303,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3295,
|
|
"src": "5514:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3304,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "5514:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3309,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3297,
|
|
"src": "5542:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3308,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "5534:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3307,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5534:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3310,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5534:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3306,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "5526:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3305,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5526:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3311,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5526:23:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3302,
|
|
"name": "_contains",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3205,
|
|
"src": "5504:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 3312,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5504:46:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3301,
|
|
"id": 3313,
|
|
"nodeType": "Return",
|
|
"src": "5497:53:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3293,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5326:70:19",
|
|
"text": "@dev Returns true if the value is in the set. O(1)."
|
|
},
|
|
"id": 3315,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3298,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3295,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3315,
|
|
"src": "5419:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3294,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "5419:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3297,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3315,
|
|
"src": "5443:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3296,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5443:7:19",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5418:39:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3301,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3300,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3315,
|
|
"src": "5481:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3299,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5481:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5480:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "5401:156:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3328,
|
|
"nodeType": "Block",
|
|
"src": "5710:43:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3324,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3318,
|
|
"src": "5735:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3325,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "5735:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
],
|
|
"id": 3323,
|
|
"name": "_length",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3218,
|
|
"src": "5727:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$returns$_t_uint256_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 3326,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5727:19:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3322,
|
|
"id": 3327,
|
|
"nodeType": "Return",
|
|
"src": "5720:26:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3316,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5563:70:19",
|
|
"text": "@dev Returns the number of values in the set. O(1)."
|
|
},
|
|
"id": 3329,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3319,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3318,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3329,
|
|
"src": "5654:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3317,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "5654:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5653:24:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3322,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3321,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3329,
|
|
"src": "5701:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3320,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5701:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5700:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "5638:115:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3351,
|
|
"nodeType": "Block",
|
|
"src": "6168:64:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3344,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3332,
|
|
"src": "6205:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3345,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "6205:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3346,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3334,
|
|
"src": "6217:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3343,
|
|
"name": "_at",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3243,
|
|
"src": "6201:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_uint256_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3347,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6201:22:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3342,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6193:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3341,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6193:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3348,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6193:31:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3340,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6185:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 3339,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6185:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3349,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6185:40:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3338,
|
|
"id": 3350,
|
|
"nodeType": "Return",
|
|
"src": "6178:47:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3330,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5758:322:19",
|
|
"text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note 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": 3352,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3335,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3332,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3352,
|
|
"src": "6097:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3331,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "6097:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3334,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3352,
|
|
"src": "6121:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3333,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6121:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6096:39:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3338,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3337,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3352,
|
|
"src": "6159:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3336,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6159:7:19",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6158:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "6085:147:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"canonicalName": "EnumerableSet.UintSet",
|
|
"id": 3355,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 3354,
|
|
"mutability": "mutable",
|
|
"name": "_inner",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3355,
|
|
"src": "6280:10:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3353,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "6280:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "UintSet",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3450,
|
|
"src": "6255:42:19",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3374,
|
|
"nodeType": "Block",
|
|
"src": "6540:56:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3366,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3358,
|
|
"src": "6562:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3367,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "6562:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3370,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3360,
|
|
"src": "6582:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3369,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6574:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3368,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6574:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3371,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6574:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3365,
|
|
"name": "_add",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3107,
|
|
"src": "6557:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 3372,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6557:32:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3364,
|
|
"id": 3373,
|
|
"nodeType": "Return",
|
|
"src": "6550:39:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3356,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6303:159:19",
|
|
"text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present."
|
|
},
|
|
"id": 3375,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "add",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3361,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3358,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3375,
|
|
"src": "6480:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3357,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "6480:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3360,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3375,
|
|
"src": "6501:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3359,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6501:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6479:36:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3364,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3363,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3375,
|
|
"src": "6534:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3362,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6534:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6533:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "6467:129:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3394,
|
|
"nodeType": "Block",
|
|
"src": "6840:59:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3386,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3378,
|
|
"src": "6865:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3387,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "6865:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3390,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3380,
|
|
"src": "6885:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3389,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6877:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3388,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6877:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3391,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6877:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3385,
|
|
"name": "_remove",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3187,
|
|
"src": "6857:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 3392,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6857:35:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3384,
|
|
"id": 3393,
|
|
"nodeType": "Return",
|
|
"src": "6850:42:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3376,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6602:157:19",
|
|
"text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent."
|
|
},
|
|
"id": 3395,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3381,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3378,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3395,
|
|
"src": "6780:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3377,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "6780:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3380,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3395,
|
|
"src": "6801:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3379,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6801:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6779:36:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3384,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3383,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3395,
|
|
"src": "6834:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3382,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6834:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6833:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "6764:135:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3414,
|
|
"nodeType": "Block",
|
|
"src": "7063:61:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3406,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3398,
|
|
"src": "7090:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3407,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "7090:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3410,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3400,
|
|
"src": "7110:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3409,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7102:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3408,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7102:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3411,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7102:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3405,
|
|
"name": "_contains",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3205,
|
|
"src": "7080:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 3412,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7080:37:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3404,
|
|
"id": 3413,
|
|
"nodeType": "Return",
|
|
"src": "7073:44:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3396,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6905:70:19",
|
|
"text": "@dev Returns true if the value is in the set. O(1)."
|
|
},
|
|
"id": 3415,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3401,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3398,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3415,
|
|
"src": "6998:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3397,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "6998:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3400,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3415,
|
|
"src": "7019:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3399,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7019:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6997:36:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3404,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3403,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3415,
|
|
"src": "7057:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3402,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7057:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7056:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "6980:144:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3428,
|
|
"nodeType": "Block",
|
|
"src": "7274:43:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3424,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3418,
|
|
"src": "7299:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3425,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "7299:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
],
|
|
"id": 3423,
|
|
"name": "_length",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3218,
|
|
"src": "7291:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$returns$_t_uint256_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 3426,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7291:19:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3422,
|
|
"id": 3427,
|
|
"nodeType": "Return",
|
|
"src": "7284:26:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3416,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7130:70:19",
|
|
"text": "@dev Returns the number of values on the set. O(1)."
|
|
},
|
|
"id": 3429,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3419,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3418,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3429,
|
|
"src": "7221:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3417,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "7221:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7220:21:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3422,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3421,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3429,
|
|
"src": "7265:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3420,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7265:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7264:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "7205:112:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3448,
|
|
"nodeType": "Block",
|
|
"src": "7729:55:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3442,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3432,
|
|
"src": "7758:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3443,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "7758:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3444,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3434,
|
|
"src": "7770:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3441,
|
|
"name": "_at",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3243,
|
|
"src": "7754:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_uint256_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3445,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7754:22:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3440,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7746:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3439,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7746:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3446,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7746:31:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3438,
|
|
"id": 3447,
|
|
"nodeType": "Return",
|
|
"src": "7739:38:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3430,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7322:322:19",
|
|
"text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note 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": 3449,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3435,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3432,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3449,
|
|
"src": "7661:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3431,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "7661:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3434,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3449,
|
|
"src": "7682:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3433,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7682:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7660:36:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3438,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3437,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3449,
|
|
"src": "7720:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3436,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7720:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7719:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "7649:135:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"scope": 3451,
|
|
"src": "724:7062:19"
|
|
}
|
|
],
|
|
"src": "33:7754:19"
|
|
},
|
|
"legacyAST": {
|
|
"absolutePath": "@openzeppelin/contracts/utils/EnumerableSet.sol",
|
|
"exportedSymbols": {
|
|
"EnumerableSet": [
|
|
3450
|
|
]
|
|
},
|
|
"id": 3451,
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 3057,
|
|
"literals": [
|
|
"solidity",
|
|
"^",
|
|
"0.6",
|
|
".0"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "33:23:19"
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"contractDependencies": [],
|
|
"contractKind": "library",
|
|
"documentation": {
|
|
"id": 3058,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "58:665:19",
|
|
"text": "@dev Library for managing\nhttps://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\ntypes.\n * Sets have the following properties:\n * - Elements are added, removed, and checked for existence in constant time\n(O(1)).\n- Elements are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableSet for EnumerableSet.AddressSet;\n * // Declare a set state variable\n EnumerableSet.AddressSet private mySet;\n}\n```\n * As of v3.0.0, only sets of type `address` (`AddressSet`) and `uint256`\n(`UintSet`) are supported."
|
|
},
|
|
"fullyImplemented": true,
|
|
"id": 3450,
|
|
"linearizedBaseContracts": [
|
|
3450
|
|
],
|
|
"name": "EnumerableSet",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"canonicalName": "EnumerableSet.Set",
|
|
"id": 3066,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 3061,
|
|
"mutability": "mutable",
|
|
"name": "_values",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3066,
|
|
"src": "1246:17:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
|
|
"typeString": "bytes32[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 3059,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1246:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"id": 3060,
|
|
"length": null,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "1246:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
|
|
"typeString": "bytes32[]"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3065,
|
|
"mutability": "mutable",
|
|
"name": "_indexes",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3066,
|
|
"src": "1397:37:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3064,
|
|
"keyType": {
|
|
"id": 3062,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1406:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "1397:28:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 3063,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1417:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "Set",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3450,
|
|
"src": "1192:249:19",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3106,
|
|
"nodeType": "Block",
|
|
"src": "1680:335:19",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"id": 3080,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "1694:22:19",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3077,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "1705:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3078,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3071,
|
|
"src": "1710:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3076,
|
|
"name": "_contains",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3205,
|
|
"src": "1695:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 3079,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1695:21:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 3104,
|
|
"nodeType": "Block",
|
|
"src": "1972:37:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 3102,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1993:5:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"functionReturnParameters": 3075,
|
|
"id": 3103,
|
|
"nodeType": "Return",
|
|
"src": "1986:12:19"
|
|
}
|
|
]
|
|
},
|
|
"id": 3105,
|
|
"nodeType": "IfStatement",
|
|
"src": "1690:319:19",
|
|
"trueBody": {
|
|
"id": 3101,
|
|
"nodeType": "Block",
|
|
"src": "1718:248:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3086,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3071,
|
|
"src": "1749:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3081,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "1732:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3084,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "1732:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3085,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "push",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1732:16:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$__$",
|
|
"typeString": "function (bytes32)"
|
|
}
|
|
},
|
|
"id": 3087,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1732:23:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3088,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1732:23:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3097,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3089,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "1890:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3092,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "1890:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3093,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3091,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3071,
|
|
"src": "1903:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1890:19:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3094,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3069,
|
|
"src": "1912:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3095,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "1912:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3096,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1912:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1890:40:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3098,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1890:40:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 3099,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1951:4:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 3075,
|
|
"id": 3100,
|
|
"nodeType": "Return",
|
|
"src": "1944:11:19"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3067,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1447:159:19",
|
|
"text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present."
|
|
},
|
|
"id": 3107,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_add",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3072,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3069,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3107,
|
|
"src": "1625:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3068,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "1625:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3071,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3107,
|
|
"src": "1642:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3070,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1642:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1624:32:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3075,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3074,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3107,
|
|
"src": "1674:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3073,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1674:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1673:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "1611:404:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3186,
|
|
"nodeType": "Block",
|
|
"src": "2255:1440:19",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3118
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3118,
|
|
"mutability": "mutable",
|
|
"name": "valueIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3186,
|
|
"src": "2365:18:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3117,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2365:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3123,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3119,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "2386:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3120,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "2386:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3122,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3121,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3112,
|
|
"src": "2399:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2386:19:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2365:40:19"
|
|
},
|
|
{
|
|
"condition": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3126,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3124,
|
|
"name": "valueIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3118,
|
|
"src": "2420:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3125,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2434:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "2420:15:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 3184,
|
|
"nodeType": "Block",
|
|
"src": "3652:37:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 3182,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3673:5:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"functionReturnParameters": 3116,
|
|
"id": 3183,
|
|
"nodeType": "Return",
|
|
"src": "3666:12:19"
|
|
}
|
|
]
|
|
},
|
|
"id": 3185,
|
|
"nodeType": "IfStatement",
|
|
"src": "2416:1273:19",
|
|
"trueBody": {
|
|
"id": 3181,
|
|
"nodeType": "Block",
|
|
"src": "2437:1209:19",
|
|
"statements": [
|
|
{
|
|
"assignments": [
|
|
3128
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3128,
|
|
"mutability": "mutable",
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3181,
|
|
"src": "2777:21:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3127,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2777:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3132,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3131,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3129,
|
|
"name": "valueIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3118,
|
|
"src": "2801:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3130,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2814:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2801:14:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2777:38:19"
|
|
},
|
|
{
|
|
"assignments": [
|
|
3134
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3134,
|
|
"mutability": "mutable",
|
|
"name": "lastIndex",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3181,
|
|
"src": "2829:17:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3133,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2829:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3140,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3139,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3135,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "2849:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3136,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "2849:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3137,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2849:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3138,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2870:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2849:22:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2829:42:19"
|
|
},
|
|
{
|
|
"assignments": [
|
|
3142
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 3142,
|
|
"mutability": "mutable",
|
|
"name": "lastvalue",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3181,
|
|
"src": "3111:17:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3141,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3111:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 3147,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3143,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3131:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3144,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "3131:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3146,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3145,
|
|
"name": "lastIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3134,
|
|
"src": "3143:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3131:22:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3111:42:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3154,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3148,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3245:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3151,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "3245:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3152,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3150,
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3128,
|
|
"src": "3257:13:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3245:26:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 3153,
|
|
"name": "lastvalue",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3142,
|
|
"src": "3274:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"src": "3245:38:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"id": 3155,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3245:38:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3164,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3156,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3349:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3159,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "3349:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3160,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3158,
|
|
"name": "lastvalue",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3142,
|
|
"src": "3362:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3349:23:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3163,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3161,
|
|
"name": "toDeleteIndex",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3128,
|
|
"src": "3375:13:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "+",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "31",
|
|
"id": 3162,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3391:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3375:17:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "3349:43:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 3165,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3349:43:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3166,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3498:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3169,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "3498:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3170,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "pop",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "3498:15:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$",
|
|
"typeString": "function ()"
|
|
}
|
|
},
|
|
"id": 3171,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3498:17:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3172,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3498:17:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3177,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "delete",
|
|
"prefix": true,
|
|
"src": "3583:26:19",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3173,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3110,
|
|
"src": "3590:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3174,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "3590:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3176,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3175,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3112,
|
|
"src": "3603:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3590:19:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3178,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3583:26:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 3179,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3631:4:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 3116,
|
|
"id": 3180,
|
|
"nodeType": "Return",
|
|
"src": "3624:11:19"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3108,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2021:157:19",
|
|
"text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent."
|
|
},
|
|
"id": 3187,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3113,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3110,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3187,
|
|
"src": "2200:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3109,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "2200:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3112,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3187,
|
|
"src": "2217:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3111,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2217:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2199:32:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3116,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3115,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3187,
|
|
"src": "2249:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3114,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2249:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2248:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "2183:1512:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3204,
|
|
"nodeType": "Block",
|
|
"src": "3855:48:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3202,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3197,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3190,
|
|
"src": "3872:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3198,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_indexes",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3065,
|
|
"src": "3872:12:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
|
|
"typeString": "mapping(bytes32 => uint256)"
|
|
}
|
|
},
|
|
"id": 3200,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3199,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3192,
|
|
"src": "3885:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3872:19:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 3201,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3895:1:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "3872:24:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3196,
|
|
"id": 3203,
|
|
"nodeType": "Return",
|
|
"src": "3865:31:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3188,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3701:70:19",
|
|
"text": "@dev Returns true if the value is in the set. O(1)."
|
|
},
|
|
"id": 3205,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3193,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3190,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3205,
|
|
"src": "3795:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3189,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "3795:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3192,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3205,
|
|
"src": "3812:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3191,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3812:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3794:32:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3196,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3195,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3205,
|
|
"src": "3849:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3194,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3849:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3848:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "3776:127:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3217,
|
|
"nodeType": "Block",
|
|
"src": "4049:42:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3213,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3208,
|
|
"src": "4066:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3214,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "4066:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3215,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4066:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3212,
|
|
"id": 3216,
|
|
"nodeType": "Return",
|
|
"src": "4059:25:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3206,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3909:70:19",
|
|
"text": "@dev Returns the number of values on the set. O(1)."
|
|
},
|
|
"id": 3218,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3209,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3208,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3218,
|
|
"src": "4001:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3207,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "4001:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4000:17:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3212,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3211,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3218,
|
|
"src": "4040:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3210,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4040:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4039:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "3984:107:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3242,
|
|
"nodeType": "Block",
|
|
"src": "4499:125:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 3233,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3229,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3221,
|
|
"src": "4517:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3230,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "4517:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3231,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "4517:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3232,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3223,
|
|
"src": "4538:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "4517:26:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473",
|
|
"id": 3234,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "4545:36:19",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb",
|
|
"typeString": "literal_string \"EnumerableSet: index out of bounds\""
|
|
},
|
|
"value": "EnumerableSet: index out of bounds"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb",
|
|
"typeString": "literal_string \"EnumerableSet: index out of bounds\""
|
|
}
|
|
],
|
|
"id": 3228,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "4509:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 3235,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4509:73:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 3236,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "4509:73:19"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"baseExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3237,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3221,
|
|
"src": "4599:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set storage pointer"
|
|
}
|
|
},
|
|
"id": 3238,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_values",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3061,
|
|
"src": "4599:11:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
|
|
"typeString": "bytes32[] storage ref"
|
|
}
|
|
},
|
|
"id": 3240,
|
|
"indexExpression": {
|
|
"argumentTypes": null,
|
|
"id": 3239,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3223,
|
|
"src": "4611:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4599:18:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3227,
|
|
"id": 3241,
|
|
"nodeType": "Return",
|
|
"src": "4592:25:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3219,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4096:322:19",
|
|
"text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note 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": 3243,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3224,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3221,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3243,
|
|
"src": "4436:15:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3220,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "4436:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3223,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3243,
|
|
"src": "4453:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3222,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4453:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4435:32:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3227,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3226,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3243,
|
|
"src": "4490:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 3225,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4490:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4489:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "4423:201:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "private"
|
|
},
|
|
{
|
|
"canonicalName": "EnumerableSet.AddressSet",
|
|
"id": 3246,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 3245,
|
|
"mutability": "mutable",
|
|
"name": "_inner",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3246,
|
|
"src": "4677:10:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3244,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "4677:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "AddressSet",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3450,
|
|
"src": "4649:45:19",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3268,
|
|
"nodeType": "Block",
|
|
"src": "4940:65:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3257,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3249,
|
|
"src": "4962:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3258,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "4962:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3263,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3251,
|
|
"src": "4990:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3262,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "4982:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3261,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4982:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3264,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4982:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3260,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "4974:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3259,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4974:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3265,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4974:23:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3256,
|
|
"name": "_add",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3107,
|
|
"src": "4957:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 3266,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4957:41:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3255,
|
|
"id": 3267,
|
|
"nodeType": "Return",
|
|
"src": "4950:48:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3247,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "4700:159:19",
|
|
"text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present."
|
|
},
|
|
"id": 3269,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "add",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3252,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3249,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3269,
|
|
"src": "4877:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3248,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "4877:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3251,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3269,
|
|
"src": "4901:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3250,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4901:7:19",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4876:39:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3255,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3254,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3269,
|
|
"src": "4934:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3253,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4934:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4933:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "4864:141:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3291,
|
|
"nodeType": "Block",
|
|
"src": "5252:68:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3280,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3272,
|
|
"src": "5277:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3281,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "5277:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3286,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3274,
|
|
"src": "5305:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3285,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "5297:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3284,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5297:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3287,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5297:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3283,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "5289:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3282,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5289:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3288,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5289:23:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3279,
|
|
"name": "_remove",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3187,
|
|
"src": "5269:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 3289,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5269:44:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3278,
|
|
"id": 3290,
|
|
"nodeType": "Return",
|
|
"src": "5262:51:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3270,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5011:157:19",
|
|
"text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent."
|
|
},
|
|
"id": 3292,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3275,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3272,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3292,
|
|
"src": "5189:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3271,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "5189:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3274,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3292,
|
|
"src": "5213:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3273,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5213:7:19",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5188:39:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3278,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3277,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3292,
|
|
"src": "5246:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3276,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5246:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5245:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "5173:147:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3314,
|
|
"nodeType": "Block",
|
|
"src": "5487:70:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3303,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3295,
|
|
"src": "5514:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3304,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "5514:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3309,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3297,
|
|
"src": "5542:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 3308,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "5534:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3307,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5534:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3310,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5534:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3306,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "5526:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3305,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5526:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3311,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5526:23:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3302,
|
|
"name": "_contains",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3205,
|
|
"src": "5504:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 3312,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5504:46:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3301,
|
|
"id": 3313,
|
|
"nodeType": "Return",
|
|
"src": "5497:53:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3293,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5326:70:19",
|
|
"text": "@dev Returns true if the value is in the set. O(1)."
|
|
},
|
|
"id": 3315,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3298,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3295,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3315,
|
|
"src": "5419:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3294,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "5419:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3297,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3315,
|
|
"src": "5443:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3296,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5443:7:19",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5418:39:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3301,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3300,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3315,
|
|
"src": "5481:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3299,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5481:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5480:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "5401:156:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3328,
|
|
"nodeType": "Block",
|
|
"src": "5710:43:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3324,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3318,
|
|
"src": "5735:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3325,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "5735:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
],
|
|
"id": 3323,
|
|
"name": "_length",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3218,
|
|
"src": "5727:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$returns$_t_uint256_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 3326,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "5727:19:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3322,
|
|
"id": 3327,
|
|
"nodeType": "Return",
|
|
"src": "5720:26:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3316,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5563:70:19",
|
|
"text": "@dev Returns the number of values in the set. O(1)."
|
|
},
|
|
"id": 3329,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3319,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3318,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3329,
|
|
"src": "5654:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3317,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "5654:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5653:24:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3322,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3321,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3329,
|
|
"src": "5701:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3320,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "5701:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "5700:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "5638:115:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3351,
|
|
"nodeType": "Block",
|
|
"src": "6168:64:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3344,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3332,
|
|
"src": "6205:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3345,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3245,
|
|
"src": "6205:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3346,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3334,
|
|
"src": "6217:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3343,
|
|
"name": "_at",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3243,
|
|
"src": "6201:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_uint256_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3347,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6201:22:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3342,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6193:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3341,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6193:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3348,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6193:31:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3340,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6185:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 3339,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6185:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3349,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6185:40:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3338,
|
|
"id": 3350,
|
|
"nodeType": "Return",
|
|
"src": "6178:47:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3330,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "5758:322:19",
|
|
"text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note 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": 3352,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3335,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3332,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3352,
|
|
"src": "6097:22:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3331,
|
|
"name": "AddressSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3246,
|
|
"src": "6097:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_AddressSet_$3246_storage_ptr",
|
|
"typeString": "struct EnumerableSet.AddressSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3334,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3352,
|
|
"src": "6121:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3333,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6121:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6096:39:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3338,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3337,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3352,
|
|
"src": "6159:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 3336,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6159:7:19",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6158:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "6085:147:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"canonicalName": "EnumerableSet.UintSet",
|
|
"id": 3355,
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 3354,
|
|
"mutability": "mutable",
|
|
"name": "_inner",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3355,
|
|
"src": "6280:10:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3353,
|
|
"name": "Set",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3066,
|
|
"src": "6280:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage_ptr",
|
|
"typeString": "struct EnumerableSet.Set"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "UintSet",
|
|
"nodeType": "StructDefinition",
|
|
"scope": 3450,
|
|
"src": "6255:42:19",
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3374,
|
|
"nodeType": "Block",
|
|
"src": "6540:56:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3366,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3358,
|
|
"src": "6562:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3367,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "6562:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3370,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3360,
|
|
"src": "6582:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3369,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6574:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3368,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6574:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3371,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6574:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3365,
|
|
"name": "_add",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3107,
|
|
"src": "6557:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 3372,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6557:32:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3364,
|
|
"id": 3373,
|
|
"nodeType": "Return",
|
|
"src": "6550:39:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3356,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6303:159:19",
|
|
"text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present."
|
|
},
|
|
"id": 3375,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "add",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3361,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3358,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3375,
|
|
"src": "6480:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3357,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "6480:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3360,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3375,
|
|
"src": "6501:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3359,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6501:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6479:36:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3364,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3363,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3375,
|
|
"src": "6534:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3362,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6534:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6533:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "6467:129:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3394,
|
|
"nodeType": "Block",
|
|
"src": "6840:59:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3386,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3378,
|
|
"src": "6865:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3387,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "6865:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3390,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3380,
|
|
"src": "6885:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3389,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "6877:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3388,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6877:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3391,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6877:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3385,
|
|
"name": "_remove",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3187,
|
|
"src": "6857:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"
|
|
}
|
|
},
|
|
"id": 3392,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "6857:35:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3384,
|
|
"id": 3393,
|
|
"nodeType": "Return",
|
|
"src": "6850:42:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3376,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6602:157:19",
|
|
"text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent."
|
|
},
|
|
"id": 3395,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "remove",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3381,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3378,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3395,
|
|
"src": "6780:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3377,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "6780:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3380,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3395,
|
|
"src": "6801:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3379,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6801:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6779:36:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3384,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3383,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3395,
|
|
"src": "6834:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3382,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "6834:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6833:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "6764:135:19",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3414,
|
|
"nodeType": "Block",
|
|
"src": "7063:61:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3406,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3398,
|
|
"src": "7090:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3407,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "7090:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3410,
|
|
"name": "value",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3400,
|
|
"src": "7110:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3409,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7102:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
|
"typeString": "type(bytes32)"
|
|
},
|
|
"typeName": {
|
|
"id": 3408,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7102:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3411,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7102:14:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3405,
|
|
"name": "_contains",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3205,
|
|
"src": "7080:9:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_bytes32_$returns$_t_bool_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"
|
|
}
|
|
},
|
|
"id": 3412,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7080:37:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3404,
|
|
"id": 3413,
|
|
"nodeType": "Return",
|
|
"src": "7073:44:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3396,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "6905:70:19",
|
|
"text": "@dev Returns true if the value is in the set. O(1)."
|
|
},
|
|
"id": 3415,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "contains",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3401,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3398,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3415,
|
|
"src": "6998:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3397,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "6998:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3400,
|
|
"mutability": "mutable",
|
|
"name": "value",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3415,
|
|
"src": "7019:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3399,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7019:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "6997:36:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3404,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3403,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3415,
|
|
"src": "7057:4:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 3402,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7057:4:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7056:6:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "6980:144:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3428,
|
|
"nodeType": "Block",
|
|
"src": "7274:43:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3424,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3418,
|
|
"src": "7299:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3425,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "7299:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
],
|
|
"id": 3423,
|
|
"name": "_length",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3218,
|
|
"src": "7291:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$returns$_t_uint256_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 3426,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7291:19:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3422,
|
|
"id": 3427,
|
|
"nodeType": "Return",
|
|
"src": "7284:26:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3416,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7130:70:19",
|
|
"text": "@dev Returns the number of values on the set. O(1)."
|
|
},
|
|
"id": 3429,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "length",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3419,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3418,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3429,
|
|
"src": "7221:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3417,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "7221:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7220:21:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3422,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3421,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3429,
|
|
"src": "7265:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3420,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7265:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7264:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "7205:112:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 3448,
|
|
"nodeType": "Block",
|
|
"src": "7729:55:19",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 3442,
|
|
"name": "set",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3432,
|
|
"src": "7758:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet storage pointer"
|
|
}
|
|
},
|
|
"id": 3443,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "_inner",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 3354,
|
|
"src": "7758:10:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 3444,
|
|
"name": "index",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3434,
|
|
"src": "7770:5:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_struct$_Set_$3066_storage",
|
|
"typeString": "struct EnumerableSet.Set storage ref"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 3441,
|
|
"name": "_at",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 3243,
|
|
"src": "7754:3:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_struct$_Set_$3066_storage_ptr_$_t_uint256_$returns$_t_bytes32_$",
|
|
"typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"
|
|
}
|
|
},
|
|
"id": 3445,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7754:22:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 3440,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "7746:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 3439,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7746:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 3446,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "7746:31:19",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 3438,
|
|
"id": 3447,
|
|
"nodeType": "Return",
|
|
"src": "7739:38:19"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 3430,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "7322:322:19",
|
|
"text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note 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": 3449,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "at",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 3435,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3432,
|
|
"mutability": "mutable",
|
|
"name": "set",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3449,
|
|
"src": "7661:19:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "storage",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 3431,
|
|
"name": "UintSet",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 3355,
|
|
"src": "7661:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_UintSet_$3355_storage_ptr",
|
|
"typeString": "struct EnumerableSet.UintSet"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 3434,
|
|
"mutability": "mutable",
|
|
"name": "index",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3449,
|
|
"src": "7682:13:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3433,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7682:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7660:36:19"
|
|
},
|
|
"returnParameters": {
|
|
"id": 3438,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 3437,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 3449,
|
|
"src": "7720:7:19",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 3436,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "7720:7:19",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "7719:9:19"
|
|
},
|
|
"scope": 3450,
|
|
"src": "7649:135:19",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"scope": 3451,
|
|
"src": "724:7062:19"
|
|
}
|
|
],
|
|
"src": "33:7754:19"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.6.6+commit.6c089d02.Emscripten.clang"
|
|
},
|
|
"networks": {},
|
|
"schemaVersion": "3.2.5",
|
|
"updatedAt": "2020-10-28T15:56:43.376Z",
|
|
"devdoc": {
|
|
"details": "Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. * Sets have the following properties: * - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; * // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` * As of v3.0.0, only sets of type `address` (`AddressSet`) and `uint256` (`UintSet`) are supported.",
|
|
"methods": {}
|
|
},
|
|
"userdoc": {
|
|
"methods": {}
|
|
}
|
|
} |